如何创建名称为decoding_sample_data:0和decoding_sample_data:1的输入

时间:2017-12-13 04:07:40

标签: tensorflow

我想在tensorflow中创建名称为 output{ s3{ region => "us-east-1" bucket => "xx-yy-zz" prefix => "dev/logstash/appname/%{num}/" time_file => 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:0

如何使用不同的索引创建相同的名称。非常感谢你。

1 个答案:

答案 0 :(得分:0)

除非两个张量都是由同一个操作生成的,否则你不能这样做。 Tensor的名称是(i)产生它的操作的名称,(ii)冒号(:),以及(iii)产生它的操作的输出中的张量的索引的串联。换句话说,当它们都是同一操作的输出时,tensorflow仅命名具有相同名称和末尾不同索引的张量(: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。因此,它们会自动命名为TopKV2:0TopKV2:1,因为它们都来自同一tf.nn.top_k(...)操作。但是,在您的情况下,您使用两个不同的操作生成两个变量(如两行代码中所示),因此Tensorflow的底层API不会将它们命名为decoded_sample_data:0decoded_sample_data:1