您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在TensorFlow中将列表馈入feed_dict

在TensorFlow中将列表馈入feed_dict

有两个问题在这里引起问题:

一个问题是该Session.run()呼叫仅接受少量类型作为的键Feed_dict。特别是, 支持将张量列表用作键,因此您必须将每个张量作为单独的键放置。*一种方便的方法是使用字典理解:

inputs = [tf.placeholder(...), ...]
data = [np.array(...), ...]
sess.run(y, Feed_dict={i: d for i, d in zip(inputs, data)})

第二个问题是10 * [tf.placeholder(...)]Python中的语法创建了一个包含十个元素的列表,其中每个元素都是 (即,具有相同的name属性,相同的id属性,并且如果使用来比较列表中的两个元素,它们是引用相同的inputs[i] is inputs[j]) 。这解释了为什么当您尝试使用列表元素作为键来创建字典时,最终得到一个包含单个元素的字典-因为所有列表元素都是相同的。

若要按预期创建10个不同的占位符张量,应改为执行以下操作:

inputs = [tf.placeholder(tf.float32, shape=(batch_size, input_size))
          for _ in xrange(10)]

如果打印此列表的元素,您将看到每个元素都是具有不同名称的张量。

您现在可以将 元组* 作为a的键传递Feed_dict,因为它们可以用作字典键。

其他 2022/1/1 18:36:20 有455人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶