我是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 行为