当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python tf.make_tensor_proto用法及代码示例


创建一个 TensorProto。

用法

tf.make_tensor_proto(
    values, dtype=None, shape=None, verify_shape=False, allow_broadcast=False
)

参数

  • values 放入 TensorProto 的值。
  • dtype 可选的tensor_pb2 数据类型值。
  • shape 表示张量维度的整数列表。
  • verify_shape 用于验证值形状的布尔值。
  • allow_broadcast 允许标量和 1 长度矢量广播的布尔值。当verify_shape 为真时不能为真。

返回

  • A TensorProto.根据类型,它可能包含 "tensor_content" 属性中的数据,这对 Python 程序没有直接用处。要访问这些值,您应该将 proto 转换回 numpy ndarraytf.make_ndarray.

    如果 valuesTensorProto ,则立即返回; dtypeshape 被忽略。

抛出

  • TypeError 如果提供了不支持的类型。
  • ValueError 如果参数具有不适当的值,或者如果 verify_shape 为 True 并且值的形状不等于参数中的形状。

在 TensorFlow 2.0 中,将张量表示为 protos 应该不再是常见的工作流程。也就是说,这个实用函数对于生成 TF Serving 请求原型仍然很有用:

request = tensorflow_serving.apis.predict_pb2.PredictRequest()
  request.model_spec.name = "my_model"
  request.model_spec.signature_name = "serving_default"
  request.inputs["images"].CopyFrom(tf.make_tensor_proto(X_new))

make_tensor_proto 接受 python 标量、python 列表、numpy ndarray 或 numpy 标量的 "values"。

如果"values"是python标量或者python列表,make_tensor_proto先转换成numpy ndarray。如果 dtype 为 None,则转换会尽力推断正确的 numpy 数据类型。否则,生成的 numpy 数组具有与给定 dtype 兼容的数据类型。

在上述任何一种情况下,numpy ndarray(提供的调用者或auto-converted)必须具有与 dtype 兼容的类型。

make_tensor_proto 然后将 numpy 数组转换为张量原型。

如果 "shape" 为 None,则生成的张量原型精确地表示 numpy 数组。

否则,"shape" 指定张量的形状,numpy 数组的元素不能多于 "shape" 指定的元素。

相关用法


注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.make_tensor_proto。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。