TensorFlow生成常量,序列和隨機值

2020-07-23 16:55 更新
注意:接受 Tensor 參數(shù)的函數(shù)也可以接受任何接受的內(nèi)容 tf.convert_to_tensor.

常數(shù)值張量

TensorFlow 提供了幾種可用于生成常量的操作.

序列

隨機張量

TensorFlow 有幾個 ops 用來創(chuàng)建不同分布的隨機張量.隨機操作是有狀態(tài)的,并在每次評估時創(chuàng)建新的隨機值.

seed 這些函數(shù)中的關(guān)鍵字參數(shù)與圖級隨機種子一起作用.使用 tf.set_random_seed 或使用 op 級別的種子更改圖形級別的種子將會更改這些操作的底層種子.設(shè)置圖形級別或操作級種子,都會為所有操作生成隨機種子.有關(guān) tf.set_random_seed 操作級和圖級隨機種子之間的交互的詳細信息,請參閱.

例子:

# Create a tensor of shape [2, 3] consisting of random normal values, with mean
# -1 and standard deviation 4.
norm = tf.random_normal([2, 3], mean=-1, stddev=4)

# Shuffle the first dimension of a tensor
c = tf.constant([[1, 2], [3, 4], [5, 6]])
shuff = tf.random_shuffle(c)

# Each time we run these ops, different results are generated
sess = tf.Session()
print(sess.run(norm))
print(sess.run(norm))

# Set an op-level seed to generate repeatable sequences across sessions.
norm = tf.random_normal([2, 3], seed=1234)
sess = tf.Session()
print(sess.run(norm))
print(sess.run(norm))
sess = tf.Session()
print(sess.run(norm))
print(sess.run(norm))

隨機值的另一個常見用法是變量的初始化.另請參閱變量如何.

# Use random uniform values in [0, 1) as the initializer for a variable of shape
# [2, 3]. The default type is float32.
var = tf.Variable(tf.random_uniform([2, 3]), name="var")
init = tf.global_variables_initializer()

sess = tf.Session()
sess.run(init)
print(sess.run(var))
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號