Я создаю модель seq2seq с тензорным потоком (не Keras), а ввод / вывод - предложения. Что-то вроде чата или переводчика.
Но когда я бегу
for epoch in range(total_epoch):
_, loss = sess.run([optimizer, cost],
feed_dict={enc_input: input_batch,
dec_input: output_batch,
targets: target_batch})
Я получаю
ValueError: setting an array element with a sequence.
input_batch
/ output_batch
- это массивы gensim.word2vec.wv.vectors
предложений.
Я пробовал другие вещи в качестве ввода, но я все еще получаю ту же ошибку.
Для цели это массив массивов (каждый внутренний массив представляет собой список чисел, сопоставленных со словом для предложения).
target_batch, который получает ошибку, выглядит следующим образом:
[[297, 242, 430, 451, 507, 507, 505, 506, 506, 506, 506, 506], [297, 242, 430, 451, 507, 507, 505, 506, 506, 506, 506, 506], ...]
а для input_batch
/ output_batch
я все перепробовал.
Я использую gensim
word2vec
, а для inputbatch.append(input_data)
input_data
делается для каждого предложения, используя gensim
word2vec
следующим образом:
model=Word2Vec(input_sentence.split(), size=5, window=10, min_count=1, workers=4, sg=1)
Я сделал все, от сохранения его в bin и извлечения до использования model.wv.vectors
. Я получаю эту ошибку для всех 3 из enc_input
, dec_input
и targets
enc_input = tf.placeholder(tf.float32, [None, None, n_input])
Спасибо.