我想知道这是否正确理解:
所有张量都是从某些操作派生的,并且操作在构造函数中被赋予名称,或者给定特定类型操作的默认名称.如果名称不唯一,TensorFlow自动追加处理这个"_1","_2"等有n张量的操作输出的名字,这些张量"op_name:0","op_name:1"..., "op_name:n-1".
似乎出现了一个问题:如果x是a tf.Variable,则x.name给出"variable_name:0".这令人困惑:"variable_name"引用什么?
mrr*_*rry 47
您对Tensor命名的观察是绝对正确的:a的名称Tensor是连接的
:)和因此,命名的张量"foo:2"是"foo"在位置2处命名的op的输出(索引从零开始).
该命名的tf.Variable对象是有点奇怪.每个tf.Variable包含一个可变张量对象,它保存变量的状态(以及一些其他张量).甲"Variable"OP(其名称"variable_name"在你的例子)"生产"每次运行作为其第零输出时间这个可变张量,所以可变张量的名称是"variable_name:0".
由于a tf.Variable几乎与tf.Tensor-in 无法区分,因为它可以在相同的位置使用 - 我们决定使变量名称类似于张量名称,因此该Variable.name属性返回可变张量的名称.(这与tf.QueueBase和tf.ReaderBase对象不同,后者不能直接用作张量(而是必须调用它们上的方法来创建对其状态进行操作的操作),因此它们没有类似张量的名称.)
| 归档时间: |
|
| 查看次数: |
10875 次 |
| 最近记录: |