Я створюю просту нейронну мережу за допомогою 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 або замінивши його списком ()), але це не вирішує проблему. Моя нинішня гіпотеза полягає в тому, що вихід neural_network_model (mpion_data) якимось чином неправильної форми чи типу, однак я не впевнений, як це перевірити чи як вирішити, якщо це виявиться так.
Повний код можна знайти тут: https://gist.github.com/HasseIona/4bcaf9f95ae828e056d5210a2ea07f88
Редагувати: я переконався, що дані про чемпіони, які вводяться в neural_network_model, прогноз і вартість - це все тензори. Я намагався вирішити проблему, використовуючи гіпотезу, що проблема якимось чином лежить у частині feed_dict = {} частини коду, але поки не дістається ніде