Tensorflow 2.0 中占位符的替换是什么?



我是Tensorflow的新手,我在tensorflow 1.0中使用了tensorflow.placeholder((。但是有没有替代占位符。

粗略地说,TF 2 中最类似于占位符的语法元素是用@tf.function装饰的函数的参数。因此,在TF 1中,您有这样的东西:

x = tf.placeholder(...)
y = 2 * x

在 TF 2 中,您编写:

@tf.function
def my_function(x):
y = 2 * x
return y

同样,在 TF 1 中,您有会话:

y_val = sess.run(y, feed_dict={x: tf.constant(1)})

但是在 TF 2 中,您只有函数调用(关于其参数类型有一些警告 - 您必须明确地将它们设为张量(:

y_val = my_function(tf.constant(1))

正如你所看到的,TF 2稍微改变了心智模型,但希望你最终编写的代码更直观。

您可以在此 RFC 中阅读有关它的更多信息。

Tf2 中没有占位符的替代品,因为它的默认模式是预先执行,如果要在 tf2 中使用占位符,请使用 tf.compat.v1 语法并禁用 v2 行为

最新更新