微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

加载TFRecord数据时的合理顺序是什么?

如何解决加载TFRecord数据时的合理顺序是什么?

加载TFRecord数据时的合理顺序是什么?我对 mapprefetchbatch 的顺序特别感兴趣。


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 举报,一经查实,本站将立刻删除。