Функция io.serialize_tensor
Функция io.serialize_tensor сериализует
переданный тензор в бинарную строку,
представляющую собой сериализованный
протокол буфера TensorProto. Первым
параметром функция принимает тензор,
который необходимо преобразовать. Вторым
необязательным параметром можно указать
имя операции. Возвращается скалярный
тензор строкового типа, содержащий
бинарные данные.
Синтаксис
tf.io.serialize_tensor(tensor, [name])
Пример
Давайте сериализуем тензор из списка чисел
1, 2, 3, 4, 5:
import tensorflow as tf
t = tf.constant([1, 2, 3, 4, 5])
res = tf.io.serialize_tensor(t)
print(res)
Результат выполнения кода:
tf.Tensor(b'\n\x13\n\x05\x12\x03\x12\x01\x05\x12\x0b\x12\t\x08\x05\x12\x05\x12\x03\x01\x02\x03', shape=(), dtype=string)
Пример
Давайте сериализуем двумерный тензор и проверим его форму:
Результат выполнения кода:
tf.Tensor(b'\n\x1b\n\x05\x12\x03\x12\x01\x06\x12\x12\x12\x10\x08\x06\x12\x0c\x12\n\x01\x02\x03\x04\x05\x06', shape=(), dtype=string)
(0,)
Пример
Давайте сериализуем тензор и восстановим
его обратно с помощью функции
io.parse_tensor:
import tensorflow as tf
t = tf.constant([1, 2, 3, 4, 5])
serialized = tf.io.serialize_tensor(t)
res = tf.io.parse_tensor(serialized, out_type=tf.int32)
print(res)
Результат выполнения кода:
tf.Tensor([1 2 3 4 5], shape=(5,), dtype=int32)
Пример
Давайте сериализуем тензор и получим его строковое представление:
import tensorflow as tf
t = tf.constant([1, 2, 3, 4, 5])
serialized = tf.io.serialize_tensor(t)
res = serialized.numpy()
print(type(res))
print(len(res))
Результат выполнения кода:
Смотрите также
-
функцию
parse_tensor,
которая преобразует сериализованную строку обратно в тензор -
функцию
write_file,
которая записывает данные в файл -
функцию
read_file,
которая читает содержимое файла -
функцию
encode_base64,
которая кодирует строку в формат base64