2017-04-13 10 views
0

私はseq2seqモデルでGRUCellアクティベーションを取得しようとしています。基本的にtranslate.pyの例では、私はどのように細胞が活性化されているかを見ようとしています。GRUCellアクティベーションをプル

InvalidArgumentError (see above for traceback): You must feed a value for placeholder tensor 'encoder0' with dtype int32 
[[Node: encoder0 = Placeholder[dtype=DT_INT32, shape=[], _device="/job:localhost/replica:0/task:0/cpu:0"]()]] 

私は「encoder0」変数とパッシングを作成しようとしました:私は、私はこのエラーを取得しておくテンソルを印刷しようとしているこののいくつかのバリエーションを試してみましたが、運が良けれ

test = tf.get_default_graph().get_tensor_by_name("model_with_buckets/embedding_attention_seq2seq/RNN/MultiRNNCell_35/Cell2/GRUCell/add:0") 
print(test.eval()) 

を持っていないですそれはeval(feed_dict=encoder)

encoder = tf.placeholder(tf.int32, (len(encoder_inputs), 1),'encoder0') 
enc_data = tf.Variable(encoder, trainable=False, collections=[]) 
sess.run(enc_data.initializer, feed_dict={encoder:encoder_inputs}) 

答えて

0

にあなたはseq2seqモデルがそれを供給して使用するものとは無関係な、新たなプレースホルダを作成しているので、seq2seq 1は、まだ値を持ちません。

名前でテンソルを取得する代わりに、seq2seqコードを変更して、テンソルへの参照を返すほうがよい場合があります。その後、通常のsession.runコールでフェッチして、正しいことを実行できます。

関連する問題