在TensorFlow FAQ中,它说:
在TensorFlow中,张量具有静态(推断)形状和动态(真实)形状.静态形状可以使用tf.Tensor.get_shape()方法被读取:该形状是从被用来创建该张量的操作推断出,并且可以是部分完成.如果静态形状没有完全定义,则可以通过评估tf.shape(t)来确定Tensor t的动态形状.
但我仍然无法完全理解静态形状和动态形状之间的关系.是否有任何显示其差异的例子?谢谢.
我正在尝试一个不按预期行事的Op.
graph = tf.Graph()
with graph.as_default():
train_dataset = tf.placeholder(tf.int32, shape=[128, 2])
embeddings = tf.Variable(
tf.random_uniform([50000, 64], -1.0, 1.0))
embed = tf.nn.embedding_lookup(embeddings, train_dataset)
embed = tf.reduce_sum(embed, reduction_indices=0)
Run Code Online (Sandbox Code Playgroud)
所以我需要知道Tensor的尺寸embed.我知道它可以在运行时完成,但这对于这么简单的操作来说太过分了.什么是更简单的方法呢?