Hier ist die Definition von Tensor in tensorflow:Bad Scheibe Index Tensor in Tensorflow
word_weight = tf.get_variable("word_weight", [word_num])
x_index = tf.placeholder(tf.int32, [None, sentence_length, 1])
Wenn ich versuche: word_weight[0]
oder word_weight[1]
oder andere, es funktioniert, kann ich das Ergebnis. Aber wenn ich word_weight[x_index[0,0,0]]
versuchen, erhalte ich Fehler:
TypeError: Bad slice index Tensor("modle/RNN/Squeeze_1:0", shape=(), dtype=int32) of type <class 'tensorflow.python.framework.ops.Tensor'>
Warum Scheibe sollte [0, 0 0, 1] x_index, aber nicht x_index [0, 0, 0]? –
'x_index [0, 0, 0]' gibt einen Skalar (Form '()') zurück, während 'x_index [0, 0, 0: 1]' einen Tensor (Form '(1,)') zurückgibt. 'tf.slice' benötigt Tensoren für seine Argumente. – keveman