TensorFlow学习(三)之-——常用随机函数用法与numpy常用随机函数

一、TensorFlow常用随机函数

1.tf.constant

tf.constant(value, dtype=None, shape=None) 

创建一个常量tensor,按照给出value来赋值,可以用shape来指定其形状。value可以是一个数,也可以是一个list。 如果是一个数,那么这个常亮中所有值的按该数来赋值。

2.tf.random_normal

从正态分布中输出随机值。

.

random_normal(shape,mean=0.0,stddev=1.0,dtype=tf.float32,seed=None,name=None)

.

  • shape:一个一维整数张量或Python数组。代表张量的形状。
  • mean:数据类型为dtype的张量值或Python值。是正态分布的均值。
  • stddev:数据类型为dtype的张量值或Python值。是正态分布的标准差。
  • dtype: 输出的数据类型。
  • seed:一个Python整数。是随机种子。
  • name: 操作的名称(可选)

3.tf.random_uniform

从均匀分布中返回随机值。


random_uniform(
    shape,# 生成的张量的形状
    minval=0,
    maxval=None,
    dtype=tf.float32,
    seed=None,
    name=None
)

生成的值在该 [minval, maxval) 范围内遵循均匀分布。下限 minval 包含在范围内,而上限 maxval 被排除在外。

对于浮点数,默认范围是 [0, 1)。对于整数,至少 maxval 必须明确地指定。

4.tf.truncated_normal

截断的正态分布函数。生成的值遵循一个正态分布,但不会大于平均值2个标准差。


truncated_normal(
    shape,#一个一维整数张量或Python数组。代表张量的形状。
    mean=0.0,#数据类型为dtype的张量值或Python值。是正态分布的均值。
    stddev=1.0,#数据类型为dtype的张量值或Python值。是正态分布的标准差
    dtype=tf.float32,#输出的数据类型。
    seed=None,#一个Python整数。是随机种子。
    name=None#操作的名称(可选)

均值mean,标准差stddev,不过只保留[mean-2*stddev,mean+2*stddev]范围内的随机数 

二 numpy常用随机函数

numpy.random模块中提供啦大量的随机数相关的函数。

1.np.random.rand()    产生[0,1]的浮点随机数,括号里面的参数可以指定产生数组的形状

np.random.rand(3,4)

2.np.random.randn()    产生标准正太分布随机数,参数含义与random相同

np.random.randn(5,4)


结果
[[-1.06128233  2.05769296  0.66567882 -1.19136282]
 [-1.21041218 -0.29011266 -0.74136649  0.55090234]
 [ 1.32837237 -0.21128273 -0.04655965  1.51024977]
 [-1.28949484 -1.32214778  0.38804516  0.28318636]
 [-0.35908066 -1.25130597 -0.67405666  1.00286815]]

3.np.random.randint()    产生指定范围的随机数,最后一个参数是元祖,他确定数组的形状

np.random.randint(0,10,size=(4,3))


结果:[[5 1 4]
 [3 5 6]
 [6 8 8]
 [4 5 9]]

4.np.random.normal()    正太分布

#第一个参数是均值,第二个参数是标准差 size 是矩阵shape
np.random.normal(100,10,size=(3,4))

结果:[[107.99033338  97.95229221 116.29867604  94.42608736]
 [105.07905444  90.23516994  95.17251591  75.46464973]
 [ 94.70846796  83.64843062  97.88125587  96.90127029]]

5.np.random.uniform()    均匀分布

#前两个参数分别是区间的初始值和终值
np.random.uniform(0,10,size=(3,4))
结果
[[8.18963087 0.80643217 3.58908063 1.57584143]
 [9.99805831 0.74725383 2.57867196 8.7053287 ]
 [7.61707961 9.38398185 0.73466857 1.64189496]]

6.np.random.poisson()     泊松分布

随机变量X的平均值和方差都是λ

#第一个参数为指定的lanbda系数,就是下公式里面的λ
 np.random.poisson(2.0,size = (3,4))

结果
[[1 1 3 2]
 [3 3 3 1]
 [1 1 2 5]]

猜你喜欢

转载自blog.csdn.net/comway_Li/article/details/81228226
今日推荐