gpt4 book ai didi

tensorflow - 对于占位符的形状,[]、[None]、None 和 () 有什么区别?

转载 作者:行者123 更新时间:2023-12-03 11:41:55 27 4
gpt4 key购买 nike

我见过使用 [] 的代码片段, [None] , None()作为 placeholder 的形状, 那是

x = tf.placeholder(..., shape=[], ...)
y = tf.placeholder(..., shape=[None], ...)
z = tf.placeholder(..., shape=None, ...)
w = tf.placeholder(..., shape=(), ...)

这些有什么区别?

最佳答案

TensorFlow 使用数组而不是元组。它将元组转换为数组。因此[]()是等价的。

现在,考虑这个代码示例:

x = tf.placeholder(dtype=tf.int32, shape=[], name="foo1")
y = tf.placeholder(dtype=tf.int32, shape=[None], name="foo2")
z = tf.placeholder(dtype=tf.int32, shape=None, name="foo3")

val1 = np.array((1, 2, 3))
val2 = 45

with tf.Session() as sess:
sess.run(tf.global_variables_initializer())

#print(sess.run(x, feed_dict = {x: val1})) # Fails
print(sess.run(y, feed_dict = {y: val1}))
print(sess.run(z, feed_dict = {z: val1}))

print(sess.run(x, feed_dict = {x: val2}))
#print(sess.run(y, feed_dict = {y: val2})) # Fails
print(sess.run(z, feed_dict = {z: val2}))

可以看出,占位符 [] shape 直接采用单个标量值。带有 [None] 的占位符shape 采用一维数组和占位符 None shape 可以在计算发生时取任何值。

关于tensorflow - 对于占位符的形状,[]、[None]、None 和 () 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46940857/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com