Tensorflow 2: несоответствие формы при сериализации и декодировании - PullRequest
1 голос
/ 12 февраля 2020

У меня есть тензор A формы (300,256,256). Я хочу сериализовать А, чтобы сохранить в формате tfrecord. Но я не могу преобразовать его обратно в тензор с той же формой.

A = tf.convert_to_tensor( *a numpy array with float32 type* )
B = tf.io.serialize_tensor(A)
C = tf.reshape(tf.io.decode_raw(B, out_type=tf.float32),[300,256,256])

Если я запускаю код выше, я получаю ошибку формы:

tenorflow. python .framework .errors_impl.InvalidArgumentError: Вход для изменения формы является тензором со значениями 19660806, но запрошенная форма имеет 19660800 [Op: Reshape]

Кажется, что когда я сериализуюсь или когда я декодирую, добавляются 6 плавающих , (очень странно)

1 Ответ

1 голос
/ 12 февраля 2020

Попробуйте использовать: tf.io.parse_tensor() вместо tf.io.decode_raw().

https://www.tensorflow.org/api_docs/python/tf/io/parse_tensor

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...