创建TensorProto
2018-10-28 17:18 更新
函数:tf.make_tensor_proto
别名:
- tf.contrib.util.make_tensor_proto
- tf.make_tensor_proto
make_tensor_proto(
values,
dtype=None,
shape=None,
verify_shape=False
)
定义在:tensorflow/python/framework/tensor_util.py
请参阅指南:实用程序(contrib)>其他实用程序功能
创建 TensorProto.
参数:
- values:放在 TensorProto 中的值.
- dtype:可选的 tensor_pb2 数据类型值.
- shape:表示张量维数的整数列表.
- verify_shape:布尔值,它可以验证数值的形状.
返回值:
该函数返回 TensorProto.根据类型,它可能包含 “tensor_content” 属性中的数据,这对 Python 程序并不直接有用.要访问的值,您应该使用tensor_util.MakeNdarray(proto)将原型转换为 numpy ndarray.
可能引发的异常:
- TypeError:如果提供不支持的类型.
- ValueError:如果参数具有不合适的值,或者如果 verify_shape 为真,并且值的形状不等于参数中的形状.
make_tensor_proto 接受 python 标量、python 列表、numpy ndarray 或 numpy 标量的“值”.
如果“值”是一个 python 标量或一个 python 列表,make_tensor_proto 首先将其转换为 numpy ndarray.如果 dtype 为 None,则转换会尽量推断正确的numpy数据类型.否则,生成的numpy数组与给定的dtype具有兼容的数据类型.
在上述任何一种情况下,numpy ndarray(提供的调用者或自动转换)必须具有与dtype兼容的类型.
然后,make_tensor_proto 将 numpy 数组转换为张量原型.
如果“形状”为“None”,则所得的张量原型表示精确的 numpy 数组.
否则,“形状”指定张量的形状,而 numpy 数组不能比“形状”指定的元素多.