什么是张量流" op"呢?

时间:2017-04-08 05:00:00

标签: python tensorflow neural-network deep-learning

self.center_words = tf.placeholder(tf.int32, shape=[self.batch_size], name='op testing')
print("Extracting the op",self.center_words.op)

在上面,我创建了一个名为" op testing"的tf占位符。当我打印 self.center_words.op 时,会打印出类似这样的结构

op: "Placeholder"
attr {
  key: "dtype"
  value {
    type: DT_INT32
  }
}
attr {
  key: "shape"
  value {
    shape {
      dim {
        size: 128
      }
    }
  }
}

这适用于任何张量流变量,函数输出等。这是什么 .op

3 个答案:

答案 0 :(得分:7)

TensorFlow Operations ,也称为 Ops ,是指的节点 在Tensor对象上或与Tensor对象执行计算。经过计算,它们返回零或 更多张量,可以在图表后面的其他Ops中使用。要创建一个操作, 你在Python中调用它的构造函数,它接受所需的任何Tensor参数 它的计算,称为输入,以及正确所需的任何其他信息 创建Op,称为属性。 Python构造函数返回一个句柄 操作的输出(零个或多个Tensor对象),这个输出可以传递 到其他操作或 Session.run

答案 1 :(得分:6)

简短回答。

Opsprivate CEO(String n,String pos, String dob, String dW, TimePeriods tP,double bS, IManager m){ } 的核心。

  

TensorFlow是一个编程系统,您可以在其中表示计算   如图。图中的节点称为ops(操作的简称)。   op需要零个或多个Tensors,执行一些计算,以及   产生零个或多个张量。

您的示例中的

tensorflow以类似json的格式打印出self.center_words.op的功能

答案 2 :(得分:4)

简单地说,它打印特定张量对象的属性。也就是说,它提供了有关

的详细信息
  • 哪个操作负责生成张量
  • 它的return type
  • 是什么
  • 它的dimension
  • 是什么

以及有关张量对象的所有可能信息。

最小例子:

In [74]: with tf.Session() as sess:
    ...:     zer = tf.zeros(shape=(32, 32))
    ...:     print(zer.op)
    ...:     
name: "zeros_11"
op: "Const"
attr {
  key: "dtype"
  value {
    type: DT_FLOAT
  }
}
attr {
  key: "value"
  value {
    tensor {
      dtype: DT_FLOAT
      tensor_shape {
        dim {
          size: 32
        }
        dim {
          size: 32
        }
      }
      float_val: 0.0
    }
  }
}

P.S。:忽略(_11)中的数字(zeros_11)(即键name的值)。它只是一个跟踪跑步的计数器。它会在会话中的每次运行中不断递增。

来源实施:

代码:tf.Tensor.op
文档:tf.Tensor.op