注意: 经过实际测试,在ImageNet数据集上并没有达到所说的提升效果,反而会导致代码逻辑混乱,徒增代码量!

class data_prefetcher():def __init__(self, loader):self.loader = iter(loader)self.stream = torch.cuda.Stream()self.mean = torch.tensor([0.485 * 255, 0.456 * 255, 0.406 * 255]).cuda().view(1,3,1,1)self.std = torch.tensor([0.229 * 255, 0.224 * 255, 0.225 * 255]).cuda().view(1,3,1,1)# With Amp, it isn't necessary to manually convert data to half.# if args.fp16:#     self.mean = self.mean.half()#     self.std = self.std.half()self.preload()def preload(self):try:self.next_input, self.next_target = next(self.loader)except StopIteration:self.next_input = Noneself.next_target = Nonereturnwith torch.cuda.stream(self.stream):self.next_input = self.next_input.cuda(non_blocking=True)self.next_target = self.next_target.cuda(non_blocking=True)# With Amp, it isn't necessary to manually convert data to half.# if args.fp16:#     self.next_input = self.next_input.half()# else:self.next_input = self.next_input.float()self.next_input = self.next_input.sub_(self.mean).div_(self.std)
#   origin
training_data_loader = DataLoader(dataset=train_dataset,num_workers=opts.threads,batch_size=opts.batchSize,pin_memory=True,shuffle=True,
)
for iteration, batch in enumerate(training_data_loader, 1):# 训练代码#   be modifiedinput, label = prefetcher.next()
iteration = 0
while input is not None:iteration += 1# 训练代码input, label = prefetcher.next()

torch中dataloader加速相关推荐

  1. torch中Dataset的构造与解读

    torch中Dataset的构造与解读 Dataset的构造 要自定义自己的数据集,首先需要继承Dataset(torch.utils.data.Dataset)类. 继承Dataset类之后,必须重 ...

  2. torch的DataLoader 浅析

    torch的DataLoader主要是用来装载数据,就是给定已知的数据集,把数据集装载进DataLoaer,然后送入深度学习网络进行训练.先看一下它的声明吧.(官方声明,pytorch 1.10.0文 ...

  3. Pytorch中Dataloader踩坑:RuntimeError: DataLoader worker (pid(s) 6700, 10620) exited unexpectedly

    Pytorch中Dataloader踩坑 环境: 问题背景: 观察报错信息进行分析 根据分析进行修改尝试 总结 环境: 系统:windows10 Pytorch版本:1.5.1+cu101 问题背景: ...

  4. pytorch中DataLoader的num_workers参数详解与设置大小建议

    Q:在给Dataloader设置worker数量(num_worker)时,到底设置多少合适?这个worker到底怎么工作的? train_loader = torch.utils.data.Data ...

  5. pytorch中Dataloader()中的num_workers设置问题

    pytorch中Dataloader()中的num_workers设置问题: 如果num_workers的值大于0,要在运行的部分放进__main__()函数里,才不会有错: import numpy ...

  6. torch中的copy()和clone()

    torch中的copy()和clone() 1.torch中的copy()和clone() y = torch.Tensor(2,2):copy(x) --- 1 修改y并不改变原来的x y = x: ...

  7. torch中的topk()函数

    torch中的topk()函数 In [2]: import torchIn [3]: a=torch.randn((4,6))In [4]: a Out

  8. einops包中的rearrange,reduce, repeat及einops.layers.torch中的Rearrange,Reduce。对高维数据的处理方式

    from einops import rearrange, reduce, repeat from einops.layers.torch import Rearrange, Reduce 一.rea ...

  9. (原)torch中微调某层参数

    转载请注明出处: http://www.cnblogs.com/darkknightzh/p/6221664.html 参考网址: https://github.com/torch/nn/issues ...

  10. ACM比赛中如何加速c++的输入输出

    ACM比赛中如何加速c++的输入输出?如何使cin速度与scanf速度相当?什么是最快的输入输出方法?

最新文章

  1. C#发现之旅第一讲 C#-XML开发
  2. 软件设计模式-7种设计原则总结
  3. SQL优化常用方法49
  4. UA MATH566 统计理论 用点估计构造置信区间
  5. EMMC型号格式查询
  6. ajax post 提交无法进入controller 请求200
  7. 实现动态验证码的思路
  8. Linux 变量和结构体
  9. 2017/4/12 afternoon
  10. 【Calcite】Calcite入门
  11. 基于JAVA+SpringMVC+Mybatis+MYSQL的公司管理系统
  12. Spring包的依赖关系以及提供下载
  13. “数”有专攻、智“汇”武汉,周末技术沙龙Call你来!
  14. fastexcel读取excel追加写入sheet页_Python写入和读取excel
  15. linux内核定时器 详解,Linux系统内核定时器机制详解(下)
  16. InnoDB脏页,重做日志文件
  17. grep有时抓不到文本怎么办?
  18. 鸿蒙系统源码获取_Hi3861_HI3516DV编译环境搭建记录
  19. Matlab|Simulink打开mdl/slx等文件报错:lnvalid block diagram name supplied. Valid block diagram names ...
  20. 人人商城小程序消息服务器配置,人人商城小程序订阅消息设置方法绝对好使

热门文章

  1. 流程图常用符号及其代表含义
  2. 用JS判断浏览器是否是IE9以下,处理可能遇到的兼容性问题,或者给出浏览器版本过低的升级提醒。
  3. 通过热透镜聚焦的高斯光束
  4. java集成 腾讯信鸽_java后台集成腾讯信鸽消息推送
  5. javaFX学习之颜色选择器(ColorPicker)
  6. 平衡小车simulink仿真_到底该用哪款神器来仿真我的机器人?
  7. matlab中使用xlsread导入excel数据
  8. 量子场论考试必会题目
  9. 机器学习10-信用卡反欺诈模型
  10. C# DIRECTX INPUT 模拟 (鼠标玩FBA街机)