自定义dataset,DataLoader的debug

在这里插入图片描述
1.for i, data in enumerate(train_loader):
在这里插入图片描述
2._SingleProcessDataLoaderIter or _MultiProcessingDataLoaderIter
在这里插入图片描述
在这里插入图片描述
3.进入单进程dataIter中最主要的_next_data()函数,在next中会获取index和data
此函数告诉我们每个iteration都读取哪些数据
在这里插入图片描述
4.光标跳转(最后一个键),进入index = self._next_index()中查看它如何获取index,
点击两次,进入sampler.py(采样器),告诉我们每一个batch_size该读取哪些数据
在这里插入图片描述
5.跳出函数,到_next_data()函数,查看其中data(直接跳转),查看到index为[86, 153, 82, 152, 158, 57, 56, 27, 79, 61, 118, 77, 109, 23, 159, 128]
在这里插入图片描述
6.还是在此有了index会获取data,进入dataset_fetcher
在此fetch.py类中实现了具体的数据读取,第44行中正式调用了dataset
(data拼接成一个list)
在这里插入图片描述
7.步进查看过程,到自定义my_dataset中的getitem,获取数据img和标签label
看看img为tensor:3(RGB)
在这里插入图片描述
在这里插入图片描述
8.跳出,到fetcher.py中的collate_fn,collate_fn为数据整理器,将16个数据整理为一个batch的形式,data为list:16
在这里插入图片描述
9.按第一个键,
在这里插入图片描述
10.返回数据,data是list形式,第一个元素是图像,第二个元素是标签。接下来可以对图像进行训练。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值