Я пытаюсь конвертировать изображения в файлы tfrecord.
Следующие функции могут использоваться для преобразования значения в тип, совместимый с tf.Example.
def _bytes_feature(value):
"""Returns a bytes_list from a string / byte."""
if isinstance(value, type(tf.constant(0))):
value = value.numpy() # BytesList won't unpack a string from an EagerTensor.
return tf.train.Feature(bytes_list=tf.train.BytesList(value=[value]))
def _float_feature(value):
"""Returns a float_list from a float / double."""
return tf.train.Feature(float_list=tf.train.FloatList(value=[value]))
def _int64_feature(value):
"""Returns an int64_list from a bool / enum / int / uint."""
return tf.train.Feature(int64_list=tf.train.Int64List(value=[value]))
Поэтому я создаю словарь с функциями, которые могут иметь отношение.
def image_example(image_string, label):
image_shape = tf.image.decode_jpeg(image_string).shape
feature = {
'height': _int64_feature(image_shape[0]),
'weight': _int64_feature(image_shape[1]),
'depth' : _int64_feature(image_shape[2]),
'label': _int64_feature(label),
'image_raw': _bytes_feature(image_string)
}
return tf.train.Example(features=tf.train.Features(feature=feature))
Когда я хочу прочитать мои данные, это возможно. У меня есть эта структура данных здесь .
Но на самом деле, я хочу иметь ключевую «форму», в которой я могу найти размер моего изображения. Я хочу такого рода структуры. Я имею в виду, что мне удалось иметь значение в каждой клавише, но теперь я хочу, чтобы три значения в форме ключа имели высоту, ширину и глубину изображения.
Я не знаю, как это сделать .. Надеюсь, вы могли бы помочь мне, спасибо!