• numpy中的seed


    1. 函数np.random.seed(n)解释
      功能:用于生成指定随机数。

    参数:seed(n)中的参数n比喻成“堆”,seed(5)表示第5堆,n的数值基本可以随便设置。设置的seed(n)仅一次有效。

    (也有人比喻seed(n)里的n为一个盛有随机数的“聚宝盆”,一个数字代表一个“聚宝盆”,当我们设置相同的seed()时,“聚宝盆”就是一样的,所以每次取出的随机数就会相同。)

    1. 用法
      np.random.seed(n)可以按照顺序产生一组固定的数组,如果使用相同的seed()值,则每次生成的随机数都相同;如果不设置这个值,那么每次生成的随机数不同。

    注意:需要每次调用的时候都seed()一下,表示种子相同,从而生成的随机数相同。

    例1:只调用一次seed(),两次产生的随机数不同。

    import numpy as py

    np.random.seed(1)
    L1 = np.random.randn(3,3)
    L2 = np.random.randn(3,3) # 这已经不是在设置的np.random.seed(1)下生成的随机数了,而是在默认的random下随机生成。
    print(L1)
    print(L2)

    结果

    [[ 1.62434536 -0.61175641 -0.52817175]
    [-1.07296862 0.86540763 -2.3015387 ]
    [ 1.74481176 -0.7612069 0.3190391 ]]

    [[-0.24937038 1.46210794 -2.06014071]
    [-0.3224172 -0.38405435 1.13376944]
    [-1.09989127 -0.17242821 -0.87785842]]
    复制
    例2:调用两次seed(),两次产生的随机数相同

    import numpy as np

    np.random.seed(1)
    L1 = np.random.randn(3,3)
    np.random.seed(1)
    L2 = np.random.randn(3,3)
    print(L1)
    print(L2)

    结果

    [[ 1.62434536 -0.61175641 -0.52817175]
    [-1.07296862 0.86540763 -2.3015387 ]
    [ 1.74481176 -0.7612069 0.3190391 ]]

    [[ 1.62434536 -0.61175641 -0.52817175]
    [-1.07296862 0.86540763 -2.3015387 ]
    [ 1.74481176 -0.7612069 0.3190391 ]]
    复制
    总结:从每堆种子里选出来的数都是不会变的,从不同的堆里选随机种子每次都不一样。若想每次都能得到相同的随机数,每次产生随机数之前,都需要调用一次seed()。

  • 相关阅读:
    架构师考试周报三
    电脑办公助手之桌面便签,助力高效率办公
    tensorrt C++推理
    CS信息系统建设和服务能力资质办理指南
    Flask 表单以及表单验证
    【数据分享】全国县市2000-2020年医疗卫生机构床位数数据(excel和shp格式)
    大数据Apache Druid(八):Druid JDBC API和其他OLAP分析框架对比
    Qt 非圆角图片裁剪为圆角图片
    linux性能分析(三)性能优化导轮
    开源许可证概述:GNU, BSD, Apache, MPL, 和 MIT
  • 原文地址:https://blog.csdn.net/sandrew0916/article/details/127446760