Il y a littéralement des milliers de ces messages, mais je ne l'ai pas encore vu, ce qui répond à mon problème exact. S'il vous plaît n'hésitez pas à la fermer si on existe.
Je comprends que les listes sont mutables en python. En conséquence, nous ne pouvons pas stocker une liste comme une clé dans un dictionnaire. P>
J'ai le code suivant (une tonne de celui-ci est laissé de côté car il n'est pas pertinent): P>
x = tf.transpose(x, [1, 0, 2]) x = tf.reshape(x, [-1, num_input]) x = tf.split(0, num_steps, x) lstm_cell = rnn_cell.BasicLSTMCell(num_hidden, forget_bias=forget_bias) outputs, states = rnn.rnn(lstm_cell, x, dtype=tf.float32)
3 Réponses :
Je me sens en quelque sorte stupide ici, mais je suis sûr que quelqu'un d'autre aura ce problème. P>
La ligne ci-dessus où le code> tf.split code> dans une liste est le problème. p>
Je n'ai pas divisé en fonctions distinctes et modifié directement x (comme indiqué dans mon code) et n'a jamais changé les noms. Donc, lorsque le code a couru dans Renommer chaque transformation de J'espère que cela aide quelqu'un. P> sess.run code>, x n'était plus un espace réservé à tenseur comme prévu, mais plutôt une liste de tenseurs après transformation dans le graphique. P>
X code> résolu le problème. P>
Cette erreur se produit également si x code> et
y code> in
feed_dict = {x: batch_x, y: batch_y} code> sont pour certaines listes de raisons. Dans mon cas, j'ai mal orthographié comme
x code> et
y code> et ceux-ci étaient des listes dans mon code. P>
Cela ne fournit pas de réponse à la question. Une fois que vous avez suffisamment réputation , vous pourrez
@YIVI Ce n'est peut-être pas la raison pour laquelle l'OP a eu le message d'erreur dans le titre, mais c'est une explication éventuellement possible pour cette erreur. Je viens de faire exactement la même typo, cette question a été le premier résultat de Google pour le message d'erreur et, grâce à cette réponse, je n'ai pas fini de perdre beaucoup de temps sur une erreur idiote. D'où je me tiens, cela fait une réponse valide et utile.
Merci cela m'a aidé à résoudre le problème, j'avais en effet d'autres variables avec des noms X et Y. qui était utilisé comme clé à l'intérieur de sess.run
J'ai accidentellement défini la variable pourquoi il a jeté cette erreur? à cause de x code> en tant que liste Python dans le code. p>
_, perte = sess.run ([optimiseur, coût], feed_x = {x: batch_x, y: batch_y}) code>,
Batch_x code> ou
Batch_Y < / code> Un de l'une ou l'autre est une liste ou un tuple. Ils doivent être un
tensor code>, alors imprimez les deux types de variables pour avoir l'air de regarder ce qui ne va pas avec le code. p>