TensorFlow随机值函数:tf.random_uniform
tf.random_uniform 函数
random_uniform(
shape,
minval=0,
maxval=None,
dtype=tf.float32,
seed=None,
name=None
)
定义在:tensorflow/python/ops/random_ops.py.
从均匀分布中输出随机值.
生成的值在该 [minval, maxval) 范围内遵循均匀分布.下限 minval 包含在范围内,而上限 maxval 被排除在外.
对于浮点数,默认范围是 [0, 1).对于整数,至少 maxval 必须明确地指定.
参数:
shape:一维整数张量或 Python 数组.输出张量的形状.
minval:dtype 类型的 0-D 张量或 Python 值;生成的随机值范围的下限;默认为0.
maxval:dtype 类型的 0-D 张量或 Python 值.要生成的随机值范围的上限.如果 dtype 是浮点,则默认为1 .
dtype:输出的类型:float16、float32、float64、int32、orint64.
seed:一个 Python 整数.用于为分布创建一个随机种子.查看 tf.set_random_seed 行为.
name:操作的名称(可选).
返回:
用于填充随机均匀值的指定形状的张量.
可能引发的异常:
ValueError:如果 dtype 是整数并且 maxval 没有被指定.
例子
tf.random_uniform((6, 6), minval=low,maxval=high,dtype=tf.float32)))返回6*6的矩阵,产生于low和high之间,产生的值是均匀分布的。
import tensorflow as tf
with tf.Session() as sess:
print(sess.run(tf.random_uniform(
(6,6), minval=-0.5,
maxval=0.5, dtype=tf.float32)))
[[ 0.47818196 -0.0463798 -0.48545432 0.48667777 0.1448754 0.31394303]
[ 0.07446766 0.37638378 0.3001852 -0.1716789 0.03881919 0.14070213]
[ 0.14747012 -0.14895666 -0.35274172 -0.19400203 -0.26068127 0.10212302]
[ 0.29586768 0.16780066 -0.34365273 -0.3228333 0.42329776 0.35237122]
[-0.34602797 -0.46733367 0.46615827 -0.20312655 -0.37987483 0.41316974]
[ 0.39296162 0.32745218 -0.32554448 -0.14309132 -0.16133463 0.40627968]]
import tensorflow as tf
dataset = tf.data.Dataset.from_tensor_slices((tf.random_uniform([2,2],minval=1,maxval=3),tf.random_uniform([2,2],minval=1,maxval=3)))
print(dataset.output_types)
print(dataset.output_shapes)
(tf.float32, tf.float32)
(TensorShape([Dimension(2)]), TensorShape([Dimension(2)]))