Pytorch DataLoader 变长数据处理方法

本文介绍了在Pytorch中处理变长数据的问题,特别是针对NLP任务,当输入数据长度不一致时,DataLoader会错误地切割句子。通过重写DataLoader的collate_fn函数,可以确保批量加载的数据正确处理,使得每个批次的数据能够正确整合。

关于Pytorch中怎么自定义Dataset数据集类、怎样使用DataLoader迭代加载数据,这篇官方文档已经说得很清楚了,这里就不在赘述。
现在的问题:有的时候,特别对于NLP任务来说,输入的数据可能不是定长的,比如多个句子的长度一般不会一致,这时候使用DataLoader加载数据时,不定长的句子会被胡乱切分,这肯定是不行的。解决方法是重写DataLoader的collate_fn,具体方法如下:

# 假如每一个样本为:
sample = {
   
   
	# 一个句子中各个词的id
	'token_list' : [5, 2, 4, 1
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值