【发布时间】:2019-08-18 03:12:41
【问题描述】:
我一直在学习 Tensorflow,理解 feed_dict 一直是个挑战。以我正在处理的以下代码为例
p=0
self.sequence_length=25
with tf.Session() as sess:
init.run()
char_to_ix={ch:ix for ix,ch in enumerate(self.words)}
ix_to_char={ix:ch for ix,ch in enumerate(self.words)}
words_in_input=self.data[p:p+self.sequence_length]
inputs=[char_to_ix[ix] for ix in words_in_input]
words_in_target=self.data[p+1:p+self.sequence_length+1]
targets=[char_to_ix[ix] for ix in words_in_target]
onex=sess.run([selected_next_letter],feed_dict={self.X:inputs,self.y:targets})
p=p+1
这给出了错误:所有输入的形状必须匹配:values[0].shape = [25] != values[1].shape = [] 但是,当我将代码编辑为
with tf.Session() as sess:
init.run()
char_to_ix={ch:ix for ix,ch in enumerate(self.words)}
ix_to_char={ix:ch for ix,ch in enumerate(self.words)}
words_in_input=self.data[p:p+self.sequence_length]
inputs=[char_to_ix[ix] for ix in words_in_input]
words_in_target=self.data[p+1:p+self.sequence_length+1]
targets=[char_to_ix[ix] for ix in words_in_target]
for x,y in zip(inputs,targets):
onex=sess.run([selected_next_letter],feed_dict={self.X:x,self.y:y})
它执行。
我的问题是:是否可以在feed_dict 中提供整个列表,例如inputs 和targets,或者我必须通过一个循环一个一个地输入它。我问这个是因为我一直在阅读的教程,我看到一个完整的列表在 feed_dict 中传递,例如
loss_val = sess.run([train_op, loss_mean], feed_dict={
images_batch:images_batch_val,
labels_batch:labels_batch_val
})
【问题讨论】:
标签: dictionary tensorflow feed