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


Python tf.io.serialize_tensor用法及代码示例


将张量转换为序列化的 TensorProto 原型。

用法

tf.io.serialize_tensor(
    tensor, name=None
)

参数

  • tensor 一个tf.Tensor
  • name String 。操作的可选名称。

返回

  • dtype 字符串的张量。

此操作将tf.Tensor 中的数据转换为tf.string 类型的tf.Tensor,其中包含二进制字符串格式的数据。此操作可以转换标量数据和线性数组,但在将多维数组转换为二进制存储格式(例如 TFRecordtf.train.Example )接受的格式时最有用。

也可以看看:

序列化标量数据的示例:

t = tf.constant(1)
tf.io.serialize_tensor(t)
<tf.Tensor:shape=(), dtype=string, numpy=b'\x08...\x00'>

将非标量数据存储到 tf.train.Example 的示例:

t1 = [[1, 2]]
t2 = [[7, 8]]
nonscalar = tf.concat([t1, t2], 0)
nonscalar
<tf.Tensor:shape=(2, 2), dtype=int32, numpy=
array([[1, 2],
       [7, 8]], dtype=int32)>

使用 tf.io.serialize_tensor 序列化数据。

serialized_nonscalar = tf.io.serialize_tensor(nonscalar)
serialized_nonscalar
<tf.Tensor:shape=(), dtype=string, numpy=b'\x08...\x00'>

将数据存储在 tf.train.Feature 中。

feature_of_bytes = tf.train.Feature(
  bytes_list=tf.train.BytesList(value=[serialized_nonscalar.numpy()]))
feature_of_bytes
bytes_list {
  value:"\010...\000"
}

tf.train.Feature 消息放入 tf.train.Example

features_for_example = {
  'feature0':feature_of_bytes
}
example_proto = tf.train.Example(
  features=tf.train.Features(feature=features_for_example))
example_proto
features {
  feature {
    key:"feature0"
    value {
      bytes_list {
        value:"\010...\000"
      }
    }
  }
}

相关用法


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