2017-12-13 1 views
2

テンソルフローでdecoded_sample_data:0decoded_sample_data:1という名前の入力を作成したいとします。次のように私はプレースホルダを使用:名前を持つ入力を作成する方法をdecoded_sample_data:0およびdecoded_sample_data:1

sample_placeholder = tf.placeholder(dtype=tf.float32, shape=[16000,1],name='decoded_sample_data') 
sr_placeholder = tf.placeholder(dtype=tf.int32, name='decoded_sample_data') 

をしかし、名前がdecoded_sample_data:0decoded_sample_data_1:0です。

異なるインデックスで同じ名前を作成する方法を教えてください。どうもありがとうございました。

答えて

0

同じ操作で両方のテンソルが生成されない限り、できません。 Tensorの名前は、(i)それを生成した操作の名前、(ii)コロン(:)、および(iii)それを生成した操作の出力におけるそのテンソルのインデックスの連結です。言い換えれば、テンソルフローは、同じ操作の両方の出力である場合には、テンソルの名前と末尾の異なるインデックス(:0、:1など)のみを指定します。これは、次のような状況で機能:

x,y=tf.nn.top_k([1], 1) 
print x.name # => 'TopKV2:0' 
print y.name # => 'TopKV2:1' 

上記操作tf.nn.top_k(...)出力テンソルのXおよびYの両方を生成しました。したがって、それらは両方とも同じtf.nn.top_k(...)操作から来ているので、自動的にTopKV2:0TopKV2:1と命名されます。しかしながら、あなたのケースでは、(あなたの2行のコードに見られるように)2つの異なる操作で2つの変数を生成しているので、Tensorflowの基礎となるAPIはそれらをdecoded_sample_data:0decoded_sample_data:1と名付けません。

+0

ありがとうございます。私はKaggleの挑戦からの要求以来この質問をする:https://www.kaggle.com/c/tensorflow-speech-recognition-challenge#Prizes。実際には、私は競争の必要性のような入力を作成することはできませんが、このような入力を処理するモデルを持っています – user3457947

関連する問題