【问题标题】:Tensorflow: Setting an array element with a sequenceTensorflow:使用序列设置数组元素
【发布时间】:2016-03-26 02:11:16
【问题描述】:
【问题讨论】:
标签:
python-3.x
machine-learning
tensorflow
【解决方案1】:
TL;DR:您不能将tf.Tensor 对象(即gist 中的batch_data 和batch_labels)作为另一个张量的值。 (我相信在更新的 TensorFlow 版本中,错误信息应该更清楚。)
很遗憾,您目前无法使用 feed/tf.placeholder() 机制将一个 TensorFlow 图的结果传递给另一个。我们正在研究使这更容易的方法,因为这是一个常见的混淆和功能要求。但是,对于您的确切程序,应该很容易解决这个问题。只需移动创建输入的lines 并用它们替换占位符。您的程序将如下所示:
with graph.as_default():
# Input data.
filename_and_label_tensor = tf.train.string_input_producer(['train.txt'], shuffle=True)
data, label = parse_csv(filename_and_label_tensor)
tf_train_dataset, tf_train_labels = tf.train.batch([data, label], batch_size, num_threads=4)
# Rest of the model construction goes here....
通常,如果您想通过同一模型传递另一个数据集,例如用于评估 - 制作图表的另一个副本是最简单的(可能共享相同的 tf.Variable 对象)。