Numpy和Pytorch常用随机数

Numpy随机数


  • [0,1)之间均匀分布的数 randn
r1 = np.random.rand()       # 默认是一个数
r2 = np.random.rand(2,5)    # 形状是2,5的
r1:
 0.6063522922681436
r2:
 [[0.77765149 0.02672804 0.59697894 0.90333184 0.23724221]
 [0.74653515 0.25098751 0.30388215 0.60496512 0.92437331]]

  • 均值为0,方差为1 用法和rand一样
r3 = np.random.randn()
r4 = np.random.randn(2,5)
# 对上边的升级  产生指定的均值和方差
r5 = 2.5 * np.random.randn(2,5) + 3 # 2.5是标准差,3是均值
r3:
 1.2866481303331248
r4:
 [[-0.69264271  0.14013687  0.65103358 -0.24985809  0.64292644]
 [-0.13125458  0.73133279  0.27202034 -1.85005286 -0.42510794]]
 r5:
 [[ 3.60175624 -0.94849954  5.56319813 -1.13279464  5.5410862 ]
 [ 4.1107094   3.32757096  2.81362529  5.85241203  0.04886216]]

  • 随机产生一个[0,1)的实数
r6 = np.random.random()     #!!! 如果指定他的形状就必须是...random((2,5))
r7 = 5 * np.random.random() - 5     # 升级随机产生一个[-5,0)的实数
r6:
 0.9805701484882132
r7:
 -2.2129076587989682

  • randint的基本用法
# randint(low,high=None,size=None,dtype='I')
r8 = np.random.randint(10)      # 随机产生一个0-10的整数!!左闭右开
r9 = np.random.randint(low=5,high=10,size=(2,4))
r8:
 8
r9:
 [[5 6 5 8]
 [9 8 8 9]]

  • uniform基本用法 从指定范围内产生随机浮点数
# uniform(low=0.0,high=1.0,size=None)
r10 = np.random.uniform()
r11 = np.random.uniform(low=[1,2],high=[2,3],size=(2,2))    # 第一个数low[0]-high[0] 第二个数low[1]-high[1]
r10:
 0.07179463907175299
r11:
 [[1.88509028 2.05329813]
 [1.60257834 2.72071315]]

  • 随机选择
r12 = np.random.choice(['正','反'],size=2)  # size是随机选择的次数
r12:
 ['正' '正']

  • 原来的基础上打乱顺序
r13 = np.arange(1,5)
np.random.shuffle(r13)
r13:
 [2 1 4 3]

Pytorch的随机数

  • 随机产生[0-1)的随机数
r14 = torch.rand(2,4)  # 形状是(2,4)
r14:
 tensor([[0.3398, 0.8372, 0.9900, 0.2805],
        [0.5386, 0.9997, 0.1365, 0.1415]])

  • 标准正太分布 均值为0,方差为1
r15 = torch.randn(2,4)
r15:
 tensor([[-0.8925, -0.0280, -0.7318,  0.3898],
        [-0.6744,  0.3835,  1.3782,  0.1880]])

# 等间距取值
r16 = torch.linspace(1,10,10)
r17 = np.linspace(1,10,10)
r16:
 tensor([ 1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10.])
r17:
 [ 1.  2.  3.  4.  5.  6.  7.  8.  9. 10.]
发布了31 篇原创文章 · 获赞 13 · 访问量 9901

猜你喜欢

转载自blog.csdn.net/qq_43497702/article/details/98445998