当前位置: 首页 > article >正文

理解DataLoader

Pytorch中的DataLoader
本质是一个可迭代的对象,使用iter()访问,不能使用next()访问。
pytorch数据加载到模型的顺序:

  • 创建一个dataset对象
  • 创建一个dataloader对象
  • 遍历dataloader,训练

DataLoader(Object)参数 :

dataset(Dataset): 传入的数据集
batch_size(int, optional): 每个batch有多少个样本
shuffle(bool, optional): 在每个epoch开始的时候,对数据进行重新排序
sampler(Sampler, optional): 自定义从数据集中取样本的策略,如果指定这个参数,那么shuffle必须为False
batch_sampler(Sampler, optional): 与sampler类似,但是一次只返回一个batch的indices(索引),需要注意的是,一旦指定了这个参数,那么batch_size,shuffle,sampler,drop_last就不能再制定了(互斥——Mutually exclusive)
num_workers (int, optional): 这个参数决定了有几个进程来处理data loading。0意味着所有的数据都会被load进主进程。(默认为0)
collate_fn (callable, optional): 将一个list的sample组成一个mini-batch的函数
pin_memory (bool, optional): 如果设置为True,那么data loader将会在返回它们之前,将tensors拷贝到CUDA中的固定内存(CUDA pinned memory)中.
drop_last (bool, optional): 如果设置为True:这个是对最后的未完成的batch来说的,比如你的batch_size设置为64,而一个epoch只有100个样本,那么训练的时候后面的36个就被扔掉了…
如果为False(默认),那么会继续正常执行,只是最后的batch_size会小一点。
timeout(numeric, optional): 如果是正数,表明等待从worker进程中收集一个batch等待的时间,若超出设定的时间还没有收集到,那就不收集这个内容了。这个numeric应总是大于等于0。默认为0
worker_init_fn (callable, optional): 每个worker初始化函数 If not None, this will be called on each
worker subprocess with the worker id (an int in [0, num_workers - 1]) as
input, after seeding and before data loading. (default: None)

参考


http://www.kler.cn/news/307944.html

相关文章:

  • Redis——常用数据类型hash
  • 华为地图服务功能概览 -- HarmonyOS自学7
  • 【LeetCode Hot 100】169. 多数元素
  • Python快速入门 —— 第五节:接口开发
  • [项目][WebServer][ThreadPool]详细讲解
  • 猫狗识别大模型——基于python语言
  • C# WPF中实现深拷贝的五种方式
  • 商业银行零售业务数智运营探索与应用
  • BLE 协议之物理层
  • TCP核心机制
  • 数据结构(7.3_2)——平衡二叉树
  • iOS 18 适配 Xcode 16 问题
  • 线性代数(宋浩版)(4)
  • 基于Java、SpringBoot、Vue的加油站管理系统设计
  • 【Lua学习】Lua最最基础的
  • Hugging Face NLP课程学习记录 - 0. 安装transformers库 1. Transformer 模型
  • STM32+FATFS+SD卡+RTC(生成.CSV格式文件)
  • 代码随想录_刷题笔记_第一次
  • Invoke-Maldaptive:一款针对LDAP SearchFilter的安全分析工具
  • 文生视频算法
  • SprinBoot+Vue便民医疗服务微信小程序的设计与实现
  • 基于SpringBoot+Vue+MySQL的在线视频教育平台
  • OpenGL(四) 纹理贴图
  • Linux基础---10进程管理
  • YOLOv10:深度剖析与应用前景展望
  • 文章资讯职场话题网站源码整站资源自带2000+数据
  • python之排列组合1
  • 拓扑学和低维拓扑保护
  • 其他图嵌入方法(6)
  • 鸿蒙开发入门day19-使用NDK接口构建UI(二)