При создании TFRecord в Tensorflow, как преобразовать вывод tf.encode_jpeg () для работы в качестве ввода в tf.train.BytesList ()? - PullRequest
0 голосов
/ 02 августа 2020

В Tensorflow 2.2, как мне взять вывод tf.encode_jpeg () (который является тензором строки типа) и преобразовать его в байты, которые будут приняты в качестве входных данных tf.train.BytesList (value = [my_output ])? В конце концов, я хочу добавить это в TFRecord. Когда я пытаюсь запустить какой-нибудь код basi c (показанный ниже в ошибке), я получаю следующую ошибку:

--------------------------------------------------------------------------- TypeError                                 Traceback (most recent call last) <ipython-input-25-0a8dec1885d5> in <module>
      4 x = np.array([[[1],[2]],[[3],[4]]], dtype=np.uint8)
      5 x = tf.io.encode_jpeg(x)
----> 6 x = tf.train.BytesList(value=[x])
      7 

TypeError: <tf.Tensor: shape=(), dtype=string, 
numpy=b'\xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01\x01\x01,\x01,\x 
has type tensorflow.python.framework.ops.EagerTensor, but expected one of: bytes

Я уже пробовал использовать tf.compat.as_bytes для преобразования тензора в байты , но это создает другую ошибку. PS Разве глупо sh совмещать tf.encode_jpeg () и tf.train.BytesList ()?

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