Tensorflow增加了新的op:可以接受标量张量



我在官方文档中找不到这方面的详细信息。

谁能提供更详细的信息?

TensorFlow使用attrs作为决定op的行为和类型(输入和输出的数量)的"编译时常量"。您可以定义一个具有TensorProto作为其属性之一的op。例如,tf.constant() op将其值作为attr,该attr在相应的op注册中定义。

这个特性有一些限制:

  • 目前不可能静态地约束张量的形状。您需要在op的构造函数中验证这一点(通常调用GetAttr)。
  • 同样,目前不可能静态地约束张量的元素类型,所以你也需要在运行时检查这一点。
  • 在您的op的Python包装器中,您需要将attr的值作为TensorProto传递,例如通过调用tf.contrib.util.make_tensor_proto()来进行转换。
一般来说,您可能会发现使用简单的intfloatboolstring attr比标量 TensorProto更容易,但是如果需要编码不太常见的类型,可以使用TensorProto选项。

最新更新