random.rand的用法
#直接举例
random.rand(‘参数’)的功能主要是产生0-1之间的随机数,括号内的参数可以指定输出结果的维度
import numpy as np
pre_embedding = np.random.rand(3) #产生三个0-1之间的随机数
pre_embedding_1 = np.random.rand(3,3) #生成一个二维数组
pre_embedding_2 = np.random.rand(3,3,3) #生成一个三维数组
print(pre_embedding)
print('***************************************')
print(pre_embedding_1)
print('***************************************')
print(pre_embedding_2)
输出结果:
[0.79361659 0.54862139 0.53871834]
***************************************
[[0.39056948 0.2079128 0.49439483]
[0.80964947 0.38093295 0.29418133]
[0.42483178 0.9474542 0.30737835]]
***************************************
[[[0.05451471 0.30638544 0.90205104]
[0.83569155 0.86030104 0.43600045]
[0.80787798 0.34127962 0.67618464]]
[[0.42327551 0.25691566 0.99237186]
[0.90936001 0.97076353 0.05800197]
[0.34290858 0.81758333 0.89198008]]
[[0.27974274 0.82173925 0.75286244]
[0.87690549 0.58582206 0.44959526]
[0.97130889 0.87764664 0.52238763]]]
random.normal 用法
Numpy中numpy.random.normal(loc, scale, size) 用于随机生成一组指定维度/shape的正态分布的数据。
参数含义:
loc:float
概率分布的均值,对应着整个分布的中心;
scale:float
概率分布的标准差,对应于分布的宽度,scale值越大表示正态分布曲线越宽,越矮,scale值越小表示正态分布曲线越窄,越高
size:int or tuple of ints
输出的shape,默认为None,只输出一个值
举例
import numpy as np
x_data = np.linspace(-1,1,3)[:,np.newaxis] #--->维度
print(x_data)
noise = np.random.normal(0,0.05,x_data.shape)
print(noise)
y_data = np.square(x_data) - 0.5 + noise
print(y_data)
输出
[[-1.]
[ 0.]
[ 1.]]
[[-0.03699895]
[-0.02344254]
[ 0.01614915]]
[[ 0.46300105]
[-0.52344254]
[ 0.51614915]]
如结果所示,x_data的shape为3×1,即为noise的shape