Аналогично TensorFlow и встраиваниям слов - TypeError: unhashable тип: 'numpy.ndarray' , я хочу передать значения в feed_dict
часть sess.run()
.Почему я получаю ту же ошибку о неискажаемом типе, когда я также использую reshape
, а также flatten
(раньше я не наблюдал этих различий по сравнению с кодом на http://www.brightideasinanalytics.com/rnn-pretrained-word-vectors/)?
sent_toks = nltk.sent_tokenize(ctxt)
x2 = np.array(list(vocab_processor.transform(sent_toks)))
y = np.array(list(vocab_processor.transform(<some other string>)))
import tensorflow.contrib as ct
def NHIDDEN():
return 1
def NINPUT():
return 50
g = tf.Graph()
tf.reset_default_graph()
with g.as_default():
with tf.Session(graph = g) as sess:
while step < 1: # training_iters:
x2 = np.reshape(np.array(x2.flatten()), [-1, NINPUT()])
y_embedding = np.reshape(tf.nn.embedding_lookup(W, y), [1,-1])
_,loss, pred_ = sess.run([optimizer, cost, pred], feed_dict =
{x2: x2, y: y_embedding})
loss_total += loss
print("loss = " + "{:.6f}".format(loss_total))
step += 1
print ("Finished Optimization")
TypeError Traceback (most recent call last)
<ipython-input-16-ecd566e6a457> in <module>()
51 y_embedding = np.reshape(tf.nn.embedding_lookup(W, y), [1,-1])
52 _,loss, pred_ = sess.run([optimizer, cost, pred], feed_dict =
---> 53 {x2: x2}) # , y: y_embedding})
54 loss_total += loss
55 print("loss = " + "{:.6f}".format(loss_total))
TypeError: unhashable type: 'numpy.ndarray'