图的Tensorflow多输入

图的Tensorflow多输入,tensorflow,Tensorflow,这可能是微不足道的。我有一个模型,它采用了一些出列张量X X = tf.Tensor(...) yPred = model(X,...) 现在我想时不时地输入另一个张量Z Z = tf.placeholder(...) yPredZ = model(Z,...) 如何在不重新定义子图的情况下执行此操作?TensorFlow中的馈送机制允许您为任何张量(不仅仅是张量)馈送值,只要它们在形状和元素类型上匹配即可 因此,如果x和z具有相同的形状,您应该能够编写: x = ... # Some d

这可能是微不足道的。我有一个模型,它采用了一些出列张量
X

X = tf.Tensor(...)
yPred = model(X,...)
现在我想时不时地输入另一个张量
Z

Z = tf.placeholder(...)
yPredZ = model(Z,...)

如何在不重新定义子图的情况下执行此操作?

TensorFlow中的馈送机制允许您为任何张量(不仅仅是张量)馈送值,只要它们在形状和元素类型上匹配即可

因此,如果
x
z
具有相同的形状,您应该能够编写:

x = ...  # Some dequeued `tf.Tensor`. 
yPred = model(x, ...)

# ...

sess.run(yPred, feed_dict={x: ...})
在某些情况下,您可能希望将具有不同形状的张量馈送到
x
(通常是不太特定的形状,例如具有不同的批量大小维度)。在这些情况下,您可以使用
tf.placeholder\u和\u default()
创建一个占位符,当您不输入它时,其值默认为
x


再次感谢。如果
Z
实际上是另一个出列张量呢?也就是说,不是numpy数组之类的。我能以某种方式将其输入吗?目前我正在评估
Z.eval()
转换为np数组,然后再将其输入。看起来有点乱。嗯,不容易。我假设在所有情况下,您都不想将某个东西出列到
Z
,因此您可能希望使用
tf.cond()
,将出列操作放在其中一个分支中,并使用
tf.bool
占位符来控制采用
tf.cond()
的哪个分支。
x = ...  # Some dequeued `tf.Tensor`.

# For example, a shape of `None` means that the shape is completely unconstrained.
# In practice, you will probably want to constrain at least the rank of the
# placeholder to match the rank of `x`.
x_placeholder = tf.placeholder_with_default(x, shape=None)

yPred = model(x, ...)

# ...

sess.run(yPred, feed_dict={x_placeholder: ...})