我正在使用tensorflow创建一个简单的神经网络,并收集了我自己的数据,但是,它不配合使用:PI遇到了一个错误,我无法解决或无法找到解决方法,我希望您能提供帮助。
错误消息:
TypeError:2861.6152的获取参数2861.6152的类型无效,必须为字符串或Tensor。(无法将float32转换为张量或操作。)
错误是指我的代码中的以下行:
_, 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()),但这并不能解决问题。我目前的假设是Neuro_network_model(champion_data)的输出某种程度上具有错误的形状或类型,但是我不确定如何进行测试或解决(如果确实如此)。
完整的代码可以在这里找到:https : //gist.github.com/HasseIona/4bcaf9f95ae828e056d5210a2ea07f88
编辑:我已经验证了输入到neuro_network_model的冠军数据,预测和成本都是张量。我一直在尝试使用以下假设解决问题:该问题某种程度上在于代码的feed_dict = {}部分,但到目前为止还没有到位