【记笔记】Pytorch中的一些函数

本文详细介绍了PyTorch中的DataLoader参数num_workers对性能的影响,包括其作用、优缺点以及最佳实践。此外,还解析了torchvision.transforms.compose()的功能,它是如何串联图像变换操作,并举例说明了Normalize()的图像归一化过程。
摘要由CSDN通过智能技术生成

pytorch函数笔记

DataLoader

原文链接:https://blog.csdn.net/qq_28057379/article/details/115427052

  1. DateLoader中的num_worker参数,这个参数的大概意思相当于创建几个工作流程,通过batch_sampler分配指定的batch,worker负责将batch加载进RAM,类似预加载?(我猜的)
  2. num_worker设置得大,好处是寻batch速度快,因为下一轮迭代的batch很可能在上一轮/上上一轮…迭代时已经加载好了。坏处是内存开销大,也加重了CPU负担(worker加载数据到RAM的进程是CPU复制的嘛)。num_workers的经验设置值是自己电脑/服务器的CPU核心数,如果CPU很强、RAM也很充足,就可以设置得更大些。
  3. 如果num_worker设为0,意味着每一轮迭代时,dataloader不再有自主加载数据到RAM这一步骤(因为没有worker了),而是在RAM中找batch,找不到时再加载相应的batch。缺点当然是速度更慢。

设置大小建议:

Dataloader的num_worker设置多少才合适,这个问题是很难有一个推荐的值。有以下几个建议:

  1. num_workers=0表示只有主进程去加载batch数据,这个
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值