2016-11-29 11 views
0

に私はtensorflowする新たなんだと私はtensorflow sample codeで embedding_rnn_decoder の使用に関するいくつかの問題を抱えています。ここでTensorflow rnn_decoder使用:予想されるサイズ[1] [0、0]エラーメッセージ

は私のコードです:

vocal_size = 407 
embedding_size = 200 

def decoder(input_,initial_state): 
    lstm = tf.nn.rnn_cell.LSTMCell(decoder_state_num,num_proj=vocab_size) 
    output,state=seq2seq.embedding_rnn_decoder(input_,initial_state,lstm,vocab_size,embedding_size,update_embedding_for_previous=True) 
    return output 

decoder_input = [tf.placeholder(tf.int32, shape=[None])] 
predict_result=decoder(decoder_input,encoder_output) 

と私は、コードを実行します。

sess = tf.Session() 
sess.run(tf.initialize_all_variables()) 
sess.run(predict_result, feed_dict = {input: [input_one_hot[0]] , decoder_input[0]: label[0]}) 

input_one_hotを:その中の1つの* 24 np.array要素を持つ6228サイズの一覧です。そして私は問題がここにないと思う。 これは単純なDNNの入力であり、その出力はデコーダの状態として使用されます。私は形状をチェックしたが、何のエラーもなかった。

label[0]:は、batch_size * 1 np.arrayのリストです。

これは、出力誤差は以下となります。

tensorflow/core/client/tensor_c_api.cc:485] Expected size[1] in [0, 0], but got 407 

それは自動的に次の時間ステップのデコーダの入力に前回のデコーダ出力(?形状(407))を供給するように思えます。しかし、私はboolen feed_previousをTrueに設定していませんでした。

また、デコーダ入力にlabelという種類のfeed_dictを試しましたが、うまく動作しません。

コードを変更するにはどうすればよいですか?

ありがとうございます!

答えて

0

明らかに、いくつかのシェイプが一致していませんが、コードスニペットからどのシェイプを伝えるのは難しいです。エラーメッセージ全体を投稿した場合は、手助けが簡単になります。

関連する問題