本博客讲解了pytorch框架下DataLoader
的多种用法,每一种方法都展示了实例,虽然有一点复杂,但是小伙伴静下心看一定能看懂哦 :)
个人建议,在1.1.1节介绍的三种方法中,推荐 方法二>方法一>方法三
(方法三实在是过于复杂不做推荐),另外,第三节中的处理示例使用了非DataLoader
的方法进行数据集处理,也可以借鉴~
我们一般使用一个for循环(或多层的)来训练神经网络,每一次迭代,加载一个batch的数据,神经网络前向反向传播各一次并更新一次参数。
而这个过程中加载一个batch的数据这一步需要使用一个torch.utils.data.DataLoader对象,并且DataLoader是一个基于某个dataset的iterable,这个iterable每次从dataset中基于某种采样原则取出一个batch的数据。
也可以这样说:Torch中可以创建一个torch.utils.data.Dataset对象,并与torch.utils.data.DataLoader一起使用,在训练模型时不断为模型提供数据。
概括来说,就是: