Je crée un réseau neuronal simple en utilisant tensorflow, avec les données que j'ai collectées moi-même, cependant, il ne coopère pas: PI a rencontré une erreur que je ne peux pas résoudre ou trouver le correctif et j'aimerais votre aide.
L'errormessage:
TypeError: l'argument Fetch 2861.6152 sur 2861.6152 a un type non valide, doit être une chaîne ou un tenseur. (Impossible de convertir un float32 en un tenseur ou une opération.)
L'erreur se réfère à la ligne suivante dans mon code:
_, cost = tf_session.run([optimizer, cost], feed_dict = {champion_data: batch_input, item_data: batch_output})
J'ai déjà compris que l'erreur ne se produit pas lorsque je commente les lignes suivantes dans mon code:
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})
Donc, quelque part, l'une de ces lignes obtient quelque chose qui ne ressemble pas exactement à ce qu'il attend. J'ai déjà essayé l'évidence (supprimer le np.array () de batch_input et batch_output ou le remplacer par list ()) mais cela ne résout pas le problème. Mon hypothèse actuelle est que la sortie de neural_network_model (champion_data) est en quelque sorte de la mauvaise forme ou du mauvais type, mais je ne sais pas comment tester cela ou comment le résoudre si cela s'avère être le cas.
Le code complet peut être trouvé ici: https://gist.github.com/HasseIona/4bcaf9f95ae828e056d5210a2ea07f88
Edit: J'ai vérifié que les données champion qui sont entrées dans le neural_network_model, la prédiction et le coût sont tous des tenseurs. J'ai essayé de résoudre le problème en utilisant l'hypothèse que le problème se situe d'une manière ou d'une autre dans la partie feed_dict = {} du code, mais que je n'arrive nulle part jusqu'à présent
la source