【发布时间】:2016-08-30 03:14:46
【问题描述】:
【问题讨论】:
标签: machine-learning nlp computer-vision tensorflow deep-learning
【问题讨论】:
标签: machine-learning nlp computer-vision tensorflow deep-learning
您展示的代码片段是自动生成的一段代码,它将"Shape" 操作添加到图表中。 _op_def_lib.apply_op() 的参数中的字符串 "Shape" 确定节点的操作类型。标准操作类型在 C++ 源代码中注册,在 TensorFlow 源代码的tensorflow/core/ops/ 目录中。特别是,"Shape" 操作在tensorflow/core/ops/array_ops.cc 中注册。这些注册用于定义每个操作的输入、属性和输出的类型,Python 包装器是从这些注册生成的。
当您第一次运行包含该节点的子图时(即在对 tf.Session.run() 的调用中),TensorFlow 将查找在特定设备上实现该操作的适当内核。 (例如,CPU 和 GPU 操作实现通常有单独的内核。)标准内核实现在 C++ 源代码中注册,在 TensorFlow 源代码的tensorflow/core/kernels/ 目录中。特别是,"Shape" 内核在tensorflow/core/kernels/shape_ops.cc 中注册。内核注册命名一个实现内核的类,它必须是tensorflow::OpKernel的子类,在这种情况下是tensorflow::ShapeOp类。子图第一次运行时调用构造函数,每次运行时调用Compute()方法。
【讨论】: