Я делаю простую нейронную сеть, используя тензор потока, с данными, которые я собрал сам, однако, это не сотрудничает: PI столкнулся с ошибкой, которую я не могу исправить или исправить, и я буду рад вашей помощи.
Сообщение об ошибке:
TypeError: Аргумент Fetch 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 ()), но это не решает проблему. Моя текущая гипотеза заключается в том, что вывод neural_network_model (champion_data) имеет неправильную форму или тип, однако я не уверен, как это проверить или как решить, если это окажется так.
Полный код можно найти здесь: https://gist.github.com/HasseIona/4bcaf9f95ae828e056d5210a2ea07f88
Изменить: я убедился, что данные чемпиона, которые вводятся в neural_network_model, прогноз и стоимость являются тензорными. Я пытался решить проблему, используя гипотезу, что проблема каким-то образом заключается в части кода feed_dict = {}, но пока никуда не деться
источник