我正在使用 tensorflow 制作一个简单的神经网络,并使用我自己收集的数据,但是,它不合作:PI 遇到了一个我无法修复或找到修复的错误,我很想得到你的帮助。
错误信息:
TypeError: Fetch argument 2861.6152 of 2861.6152 has invalid type <class 'numpy.float32'>, must be a string or Tensor. (Can not convert a float32 into a Tensor or Operation.)
该错误是指我的代码中的以下行:
_, cost = tf_session.run([optimizer, cost], feed_dict = {champion_data: batch_input, item_data: batch_output})
我已经发现当我在代码中注释掉以下行时不会发生错误:
prediction = neural_network_model(champion_data)
cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(prediction, item_data))
optimizer = tf.train.AdamOptimizer().minimize(cost)
_, cost = tf_session.run([optimizer, cost], feed_dict = {champion_data: batch_input, item_data: batch_output})
因此,这些行中的某处得到的东西看起来并不像它期望的那样。我已经尝试过明显的(np.array()
从 batch_input 和 batch_output 中删除或将其替换为list()
),但这并不能解决问题。我目前的假设是输出的neural_network_model(champion_data)
形状或类型不正确,但是我不确定如何测试它或如果结果是这种情况如何解决它。
完整的代码可以在这里找到。
编辑:我已经验证了输入的冠军数据、neural_network_model
预测和成本都是张量。我一直在尝试使用问题以某种方式feed_dict = {}
存在于代码部分的假设来解决问题,但到目前为止还没有得到任何结果