参考https://blog.csdn.net/qq_38962621/article/details/111146427
(1)Dataset定义一个数据集
(2)Dataloader定义这个数据集的加载器
(3)sampler定义从这个数据集里面取样本的方式(迭代器,每次返回一个样本)
(4)batch_sampler把sampler的采样的样本根据batch_size组织成一个batch返回
(5)collate_fn把batch_sampler返回的list结构的一个batch的样本打包成一个tensor的结构