文章目录
一、np.random
1. np.random.RandomState
计算机实现的随机数生成通常为伪随机数生成器,为了使得具备随机性的代码最终的结果可复现,需要设置相同的种子值;
np.random.randn(…) ⇒
rng = np.random.RandomState(123)
rng.randn(…)
2. np.random.uniform()
从均匀分布[low,high)中采样
numpy.random.uniform(low=0.0, high=1.0, size=None)
#在[1,5)中进行采样,生成2行3列的矩阵
>>>import numpy as np
>>>print(np.random.uniform(1, 5, (2, 3)))
[[ 3.86929057 1.6650755 4.21656753]
[ 3.64720615 4.42138963 2.78659527]]
3. np.random.rand()
在[0,1)均匀分布中采样
>>>import numpy as np
>>>print(np.random.rand(1, 5)
[[ 0.85000923 0.65510205 0.44457559 0.0549795 0.66601253]]
4. np.random.RandomState()
随机数生成器(保证每次初始化的结果一样)
>>>import numpy as np
>>>rdm=np.random.RandomState(1)
>>>print(rdm.rand(2,3))
[[ 4.17022005e-01 7.20324493e-01 1.14374817e-04]
[ 3.02332573e-01 1.46755891e-01 9.23385948e-02]]
二、tf.reduce
TensorFlow有一类在在tensor的某一维度上求值的函数
- 求最大值
tf.reduce_max(input_tensor, reduction_indices=None, keep_dims=False, name=None)
input_tensor
:待求的值
reduction_indices
:在哪一维上求解
2.求平均值
tf.reduce_mean(input_tensor, reduction_indices=None, keep_dims=False, name=None)
import tensorflow as tf
x = tf.constant([[1, 2], [3, 4]],dtype=tf.float32)
with tf.Session() as sess:
print('x:\n',sess.run(x))
print('第1维方向均值:\n', sess.run(tf.reduce_mean(x, 0)))
print('第2维方向均值:\n',sess.run(tf.reduce_mean(x, 1)))
结果:
x:
[[ 1. 2.]
[ 3. 4.]]
第1维方向均值:
[ 2. 3.]
第2维方向均值:
[ 1.5 3.5]
示例|效果
😐:-😐:-
tf.reduce_mean(x)==> 2.5 |如果不指定第二个参数,那么就在所有的元素中取平均值
tf.reduce_mean(x, 0) ==> [2., 3.]|指定第二个参数为0,则第一维的元素取平均值,即每一列求平均值
tf.reduce_mean(x, 1) ==> [1.5, 3.5]| 指定第二个参数为1,则第二维的元素取平均值,即每一行求平均值