在TensorFlow中将列表馈入feed_dict

在TensorFlow中将列表馈入feed_dict,第1张

在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] isinputs[j]
) 。这解释了为什么当您尝试使用列表元素作为键来创建字典时,最终得到一个包含单个元素的字典-因为所有列表元素都是相同的。

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

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

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


编辑: 您现在可以将 元组* 作为a的键传递

feed_dict
,因为它们可以用作字典键。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5630470.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存