Tensorflow TFDV не работает с изображениями

Я пытаюсь заставить TFDV работать с изображениями RGB в качестве входных данных, читая из файла TFRecords. Я могу читать / записывать данные изображения в файлы TFRecord нормально. Вот соответствующие фрагменты кода для записи, где img - пустой массив [32,32,3]:

feature = {'train/label': _int64_feature(y_train[i]),
           'train/image': _bytes_feature(tf.compat.as_bytes(img.tostring()))
          }

И читаю обратно:

read_features = {'train/label': tf.FixedLenFeature([], tf.int64),
             'train/image': tf.FixedLenFeature([], tf.string)}

Затем я могу использовать frombuffer и изменить форму, чтобы вернуть мое изображение правильно.

Проблема в том, что когда я запускаю tfdv.generate_statistics_from_tfrecord(), используя этот файл TFRecords. Выдает ошибку:

ValueError: '\xff ...... \x87' has type str, but isn't valid UTF-8 encoding. Non-UTF-8 strings must be converted to unicode objects before being added. [while running 'GenerateStatistics/RunStatsGenerators/TopKStatsGenerator/TopK_ConvertToSingleFeatureStats']

Я пробовал все виды различных способов написания изображений, используя astype(Unicode) и многое другое, но я не могу заставить это работать.

Есть идеи, пожалуйста?

Спасибо пол

0 ответов

Попробуйте следующее:

image_string = open(image_location, 'rb').read()
feature = {'train/label': _int64_feature(y_train[i]),
           'train/image': _bytes_feature(image_string)
          }

указано из официального руководства

Другие вопросы по тегам