paddlepaddle定义数据读取器

本文介绍了如何在大规模数据下,通过自定义文件读取器和Paddle库实现数据的分批读取和随机打乱,以提升训练效率。首先,我们创建了读取文本文件的一行数据的reader_creator,然后构建了随机读取器和批处理reader,适用于深度学习模型训练过程中的数据预处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据准备

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

  • 自定义文件读取器(生成器)
  • 在自定义文件读取器基础上包装随机读取器
  • 在随机读取器基础上包装文件数据批读取器
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, '')

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值