когда я использую tf.data.TFRecordDataset прочитал много tfrecords.Я прочитал этикетку и изображение из tfrecord.Я использую тензорную доску, суммируя изображение, и записываю метку в файл журнала. Но когда я смотрю на файл журнала и тензорную доску.Ярлык и изображение не соответствуют.Follows Мой код для чтения tfrecrods.
def parser(record):
features = tf.parse_single_example(record,
features={
'label': tf.FixedLenFeature([], tf.int64),
'image': tf.FixedLenFeature([], tf.string)
}) # 取出包含image和label的feature对象
recode_image = tf.decode_raw(features['image'], tf.uint8)
real_image = tf.reshape(recode_image, shape=[38, 38, 1])
lable = tf.cast(features['label'], tf.int64)
return real_image,lable
def read_data(file_path):
min_after_dequeue = 100
batch_size = 3
data=tf.data.TFRecordDataset(file_path)
dataset=data.map(parser).
shuffle(buffer_size=min_after_dequeue).
batch(batch_size=batch_size)
dataset=dataset.repeat()
dataset.prefetch(100)
iterator = dataset.make_one_shot_iterator()
image_batch, lable_batch = iterator.get_next()
image_batch=input_float(image_batch)
return image_batch,lable_batch
использование read_data в коде основного потока:
file_list=glob.glob("./tfcode/training_image/*.tfrecord")
file_list = list(
map(lambda image: image.replace('\\', '/'), file_list))
image_batch, lable_batch= read_data(file_list)
tf.summary.image(tensor=image_batch,name="image")
input_lable = sess.run(lable_batch)
logger.info(input_lable)
Ниже показано, что я смотрю в тензорной доске: введите описание изображенияздесь
Ниже показано, что я смотрю в файле журнала: введите описание изображения здесь
метка изображения с кратким описанием тензорной доски [1,3,3], но файл журнала - [3,3,3].
как с этим справиться.