如何解决加载TFRecord数据时的合理顺序是什么?
加载TFRecord数据时的合理顺序是什么?我对 map
、prefetch
和 batch
的顺序特别感兴趣。
def decode_image(example,resolution,channels=1):
tf_record_format = {
'label': tf.io.FixedLenFeature([],tf.int64),'identifier': tf.io.FixedLenFeature([],'raw_image': tf.io.FixedLenFeature([],tf.string),}
features = tf.io.parse_single_example(example,tf_record_format)
image = tf.io.decode_raw(features['raw_image'],tf.float64)
image.set_shape([resolution * resolution])
image = tf.reshape(image,[resolution,channels])
image = tf.cast(image,tf.float32)
label = tf.cast(features['label'],tf.int64)
identifier = tf.cast(features['identifier'],tf.int64)
return image,label,identifier
def tfrecord_read_fn(filenames,batch_size,shuffle,skip=0,limit=-1):
dataset = tf.data.TFRecordDataset(filenames=filenames)
dataset = dataset.map(lambda x: decode_image(x,resolution=32),num_parallel_calls=tf.data.experimental.AUTOTUNE)
dataset = dataset.skip(count=skip)
dataset = dataset.take(count=limit)
dataset = dataset.prefetch(tf.data.experimental.AUTOTUNE)
if shuffle:
dataset = dataset.shuffle(buffer_size=10*batch_size)
dataset = dataset.batch(batch_size=batch_size)
return dataset
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。