View source on GitHub
|
Transforms a Tensor into a serialized TensorProto proto.
tf.io.serialize_tensor(
tensor, name=None
)
This operation transforms data in a tf.Tensor into a tf.Tensor of type
tf.string containing the data in a binary string in little-endian format.
This operation can transform scalar data and linear arrays, but it is most
useful in converting multidimensional arrays into a format accepted by binary
storage formats such as a TFRecord or tf.train.Example.
See also:
tf.io.parse_tensor: inverse operation oftf.io.serialize_tensorthat transforms a scalar string containing a serialized Tensor in little-endian format into a Tensor of a specified type.tf.ensure_shape:parse_tensorcannot statically determine the shape of the parsed tensor. Usetf.ensure_shapeto set the static shape when running under atf.function.SerializeToString, serializes a proto to a binary-string
Example of serializing scalar data:
t = tf.constant(1)tf.io.serialize_tensor(t)<tf.Tensor: shape=(), dtype=string, numpy=b'\x08...\x00'>
Example of storing non-scalar data into a 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)>
Serialize the data using tf.io.serialize_tensor.
serialized_nonscalar = tf.io.serialize_tensor(nonscalar)serialized_nonscalar<tf.Tensor: shape=(), dtype=string, numpy=b'\x08...\x00'>
Store the data in a tf.train.Feature.
feature_of_bytes = tf.train.Feature(bytes_list=tf.train.BytesList(value=[serialized_nonscalar.numpy()]))feature_of_bytesbytes_list {value: "\010...\000"}
Put the tf.train.Feature message into a tf.train.Example.
features_for_example = {'feature0': feature_of_bytes}example_proto = tf.train.Example(features=tf.train.Features(feature=features_for_example))example_protofeatures {feature {key: "feature0"value {bytes_list {value: "\010...\000"}}}}
Args | |
|---|---|
tensor
|
A tf.Tensor.
|
name
|
string. Optional name for the op. |
Returns | |
|---|---|
| A Tensor of dtype string. |
View source on GitHub