如何使用Tensorflow时间序列CNN获取新的期望值 [duplicate]

我从Rob Romijnders在GitHub上的工作下载了这段代码,它展示了如何训练和评估时间序列数据。

我尝试使用训练好的模型获取新的期望值,使用了以下代码:

 y_result = tf.nn.softmax(tf.matmul(x,h_fc2) + b_fc2)

然后我在另一部分使用以下代码来预测结果:

result_classes = sess.run(y_result, feed_dict={x: flat_pixels,keep_prob: 1.0})

但出现了以下错误:

InvalidArgumentError (请查看上面的跟踪信息): 您必须为dtype为bool的占位符张量'Placeholder_1'提供值 [[Node: Placeholder_1 = Placeholder[dtype=DT_BOOL, shape=[], _device="/job:localhost/replica:0/task:0/cpu:0"]()]]

问题是如何预测我的新期望值?为什么会出现这个错误?如何解决这个问题?

我认为这是关于如何处理Tensorflow API、框架和训练模型的问题。


回答:

错误信息已经很清楚了 – 您没有提供必需的布尔值。对于这段代码来说,这是bn_train,它表示是否要训练批归一化。请将其添加到您的feed dict中,就像您使用的代码中所传递的一样。

第二部分是:

y_result = tf.nn.softmax(tf.matmul(x,h_fc2) + b_fc2)

这是没有意义的,您要求模型将数据(x)乘以最后一层,那之前的所有层呢?

预测可以通过以下方式实现:

prediction = tf.argmax(h_fc2,1)

然后在训练后

sess.run(prediction, feed_dict={x: flat_pixels,keep_prob: 1.0, bn_train: False})

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注