【发布时间】:2016-02-26 09:09:56
【问题描述】:
我使用 tf.placeholders() 操作来提供可变批量大小的输入,它们是 2D 张量,并在我调用 run() 时使用馈送机制为这些张量提供不同的值。 我得到了
TypeError: 'Tensor' 对象不可迭代。
以下是我的代码:
with graph.as_default():
train_index_input = tf.placeholder(tf.int32, shape=(None, window_size))
train_embeddings = tf.Variable(tf.random_uniform([vocabulary_size, embedding_dimension], -1.0, 1.0))
embedding_input = [tf.nn.embedding_lookup(train_embeddings, x) for x in train_index_input]
......
......
由于不运行图表我无法看到张量“train_index_input”的内容,因此代码会出现“'Tensor' object is not iterable”的错误:
embedding_input = [tf.nn.embedding_lookup(train_embeddings, x) for x in train_index_input]
我想要获得的是一个嵌入矩阵“embedding_input”,其形状为 [batch_size, embedding_dimension],其中 batch_size 不固定。我是否必须在 Tensorflow 中定义一个新操作来嵌入 2D 张量的查找?或者有其他方法吗?谢谢
【问题讨论】:
标签: python tensorflow