tf.io.serialize_tensor
| Просмотреть исходный код на GitHub |
Преобразует тензор в сериализованный протокол TensorProto.
tf.io.serialize_tensor(
tensor, name=None
)
Эта операция преобразует данные в tf.Tensor в tf.Tensor типа tf.string, содержащие данные в двоичном строковом формате. Эта операция может преобразовывать скалярные данные и линейные массивы, но наиболее полезна при преобразовании многомерных массивов в формат, принимаемый двоичными форматами хранения, такими как TFRecord или tf.train.Example.
См. также:
-
tf.io.parse_tensor: обратная операцияtf.io.serialize_tensor, преобразующая скалярную строку, содержащую сериализованный тензор, в тензор заданного типа. -
tf.ensure_shape:parse_tensorне может статически определить форму обработанного тензора. Используйтеtf.ensure_shapeдля установки статической формы при выполнении вtf.function -
.SerializeToString, сериализует протокол в двоично-строковую форму
Пример сериализации скалярных данных:
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"
}
}
}
}
| Аргументы | |
|---|---|
tensor | tf.Tensor. |
name | строка. Необязательное имя для операции. |
| Возвращаемое значение | |
|---|---|
| Тензор типа string. |
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.9/api_docs/python/tf/io/serialize_tensor