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

技巧-PyTorch中num_works的作用和实验测试

简介

在 PyTorch 中,num_workers 是 DataLoader 中的一个参数,用于控制数据加载的并发线程数。它允许您在数据加载过程中使用多个线程,以提高数据加载的效率。

具体来说,num_workers 参数指定了 DataLoader 在加载数据时将创建的子进程数量。当 num_workers 大于 0 时,DataLoader 会自动利用多个子进程来加速数据加载。这有助于减少主进程的等待时间,并使得数据加载更加并行化。

例如,如果您有一个大型数据集需要加载,而且您的系统有多个 CPU 核心可用,您可以使用 num_workers 参数来提高数据加载的效率。假设您的系统有 4 个 CPU 核心,您可以将 num_workers 设置为 4,以使 DataLoader 在每个核心上创建一个子进程,并行加载数据.

使用方法

下面是一个示例代码,演示了如何使用 num_workers 参数来加速数据加载:

python
import torch  
from torch.utils.data import DataLoader  
from torchvision import datasets, transforms  # 定义数据预处理操作  
transform = transforms.Compose([transforms.ToTensor(), transforms.Normalize((0.5,), (0.5,))])  # 加载数据集  
train_dataset = datasets.MNIST(root='./data', train=True, transform=transform, download=True)  # 创建 DataLoader,设置 num_workers 为 4  
train_loader = DataLoader(train_dataset, batch_size=64, shuffle=True, num_workers=4)  # 训练模型...

在上述示例中,我们使用 MNIST 数据集,设置了 num_workers 为 4,以利用系统的 4 个 CPU 核心并行加载数据。这将加速数据加载的过程,使得模型训练更加高效。

实测效果

我采用MMDetetion训练,它可以通过钩子函数统计每一iter的数据读取耗时(data_time)和总耗时(time)
当num_works设置为1时打印结果如下:
在这里插入图片描述当num_works设置为4时打印结果如下:
在这里插入图片描述实验效果与理论一致

http://www.lryc.cn/news/247606.html

相关文章:

  • Android:FragmentTransaction
  • 5.golang字符串的拆解和拼接
  • 配置 Mantis 在 Windows 上的步骤
  • Android 单元测试初体验(二)-断言
  • 通过ros系统中websocket中发送sensor_msgs::Image数据给web端显示
  • 【 Kubernetes 风云录 】- Istio 应用多版本流量控制
  • 比尔盖茨:GPT-5不会比GPT-4好多少,生成式AI已达到极限
  • let const 与var的区别
  • git 把项目托管到码云
  • sCrypt 现已支持各类主流前端框架
  • leetcode:2549. 统计桌面上的不同数字(python3解法)
  • 数据结构 / day03作业
  • 异步爬虫提速实践-在Scrapy中使用Aiohttp/Trio
  • Python与设计模式--访问者模式
  • 为社会做贡献的EasyDarwin 4.0.1发布了,支持视频点播、文件直播、摄像机直播、直播录像、直播回放、录像MP4合成下载
  • CG向量和矩阵元素的获取
  • 牛客 算法题 golang语言实现
  • 鸿蒙开发报错:agconnect sdk not initialized. please call initialize()【BUG已解决】
  • 极智芯 | 解读国产AI算力算能产品矩阵
  • docker介绍、部署与常用命令
  • windows定时任务命令工具schtasks
  • 多个nginx共享值、缓存问题
  • 【2023传智杯】第六届传智杯程序设计挑战赛AB组-DEF题解题分析详解【JavaPythonC++解题笔记】
  • Spark---SparkCore(五)
  • k8s中pod的hostport端口突然无法访问故障处理
  • 高德开始“跑腿”
  • Notion for Mac:打造您的专属多功能办公笔记软件
  • pip 安装软件出现 [No space left on device]
  • 【算法刷题】Day8
  • 基于单片机的智能饮水机控制系统(论文+源码)