2022-08-07 深度学习Python笔记

torch.utils.data.DataLoader依照mini batch方式取Dataset的数据时的逻辑

\bullet  dataloader在取数据的时候,是一条一条取的,实际是调用dataset的__getItem__方法,正如torch.utils.data.dataset的源码注释中要求的:dataset需要实现根据传进来的index取数据,如何取是你自己的内在逻辑决定的,然后按照mini batch大小的数据作为一个整体interation返回给enumerate

\bullet  shuffle=True时,torch.utils.data.DataLoader内部是调用RandomSampler进行随机取数据的

map-style

RandomSampler中,产生随机数种子,然后得到随机0--dataset size(num_sample)中的int值。

RandomSampler

\bullet  所以 索引就是来自[0, len(dataset)]中的int值,然后传递给__getItem__方法

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容