將張量轉換為序列化的 TensorProto 原型。
用法
tf.io.serialize_tensor(
tensor, name=None
)
此操作將tf.Tensor
中的數據轉換為tf.string
類型的tf.Tensor
,其中包含二進製字符串格式的數據。此操作可以轉換標量數據和線性數組,但在將多維數組轉換為二進製存儲格式(例如 TFRecord
或 tf.train.Example
)接受的格式時最有用。
也可以看看:
tf.io.parse_tensor
:tf.io.serialize_tensor
的逆運算,將包含序列化張量的標量字符串轉換為指定類型的張量。tf.ensure_shape
:parse_tensor
無法靜態確定解析張量的形狀。在tf.function
下運行時使用tf.ensure_shape
設置靜態形狀.SerializeToString
,將 proto 序列化為 binary-string
序列化標量數據的示例:
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"
}
}
}
}
相關用法
- Python tf.io.gfile.GFile.close用法及代碼示例
- Python tf.io.gfile.join用法及代碼示例
- Python tf.io.parse_example用法及代碼示例
- Python tf.io.gfile.exists用法及代碼示例
- Python tf.io.gfile.GFile用法及代碼示例
- Python tf.io.SparseFeature用法及代碼示例
- Python tf.io.gfile.copy用法及代碼示例
- Python tf.io.gfile.glob用法及代碼示例
- Python tf.io.decode_json_example用法及代碼示例
- Python tf.io.TFRecordWriter用法及代碼示例
- Python tf.io.decode_gif用法及代碼示例
- Python tf.io.decode_raw用法及代碼示例
- Python tf.io.RaggedFeature用法及代碼示例
- Python tf.io.read_file用法及代碼示例
- Python tf.io.deserialize_many_sparse用法及代碼示例
- Python tf.io.write_graph用法及代碼示例
- Python tf.io.TFRecordOptions.get_compression_type_string用法及代碼示例
- Python tf.io.decode_proto用法及代碼示例
- Python tf.image.random_brightness用法及代碼示例
- Python tf.image.pad_to_bounding_box用法及代碼示例
注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.io.serialize_tensor。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。