paddlepaddle定义数据读取器

数据准备

当文件数据含有大量数据时,无法一次性加载到内存中,需要分批次操作训练数据。

  • 自定义文件读取器(生成器)
  • 在自定义文件读取器基础上包装随机读取器
  • 在随机读取器基础上包装文件数据批读取器
import numpy as np
import paddle


# 自定义reader_creator,从文本中读取一行数据
def reader_creator(filepath):
    def reader():
        with open(filepath, 'r') as f:
            lines = f.readlines()
            for line in lines:
                yield line

    return reader


reader = reader_creator('./car.txt')
# for line in reader():
#     print(line, end='')

# 从上一个reader中随机方式读取数据
shuffle_reader = paddle.reader.shuffle(reader,
                                       10  # 每10个样本打乱一次
                                       )
# for line in shuffle_reader():
#     print(line, end='')

# 从上一个随机读取器中分批次读取数据
batch_reader = paddle.batch(shuffle_reader,
                            4  # 批次大小
                            )
# for lines in batch_reader():
#     print(lines, '')

猜你喜欢

转载自blog.csdn.net/m0_46278903/article/details/113803317