加入收藏 | 设为首页 | 会员中心 | 我要投稿 52站长网 (https://www.52zhanzhang.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

实用小技巧还能提升PyTorch技能

发布时间:2021-05-26 06:49:21 所属栏目:大数据 来源:互联网
导读:PyTorch 是一种非常灵活的深度学习框架,它允许通过动态神经网络(例如利用动态控流如 if 语句或 while 循环的网络)进行自动微分。它还支持 GPU 加速、分布式训

PyTorch 是一种非常灵活的深度学习框架,它允许通过动态神经网络(例如利用动态控流——如 if 语句或 while 循环的网络)进行自动微分。它还支持 GPU 加速、分布式训练以及各类优化任务,同时还拥有许多更简洁的特性。

今年 3 月初,官方团队发布了 PyTorch 1.8 版本,整合了自去年 10 月 1.7 版本发布以来的 3000 多次 commit,并提供了编译、代码优化、科学计算前端 API 方面的更新和新特性。值得一提的是,该版本还新增了对 AMD ROCm 的支持。

长期以来,为了充分挖掘 PyTorch 的特性,研究人员也提出了各种各样的小技巧,比如如何加快深度学习模型训练的使用、训练完模型以后如何保存模型、如何使用多卡训练以及如何在训练过程中让学习率进行衰减等。这些小技巧或多或少都可以提升 PyTorch 的使用效率。


 

7 个技巧提升 PyTorch 技能

发帖人总结了 7 个有助于提升 PyTorch 使用技能的技巧。这些技巧都是发帖人经常出错或者忘记的内容总结。此外,发帖人还在 Colab 上展示了一些应用示例和视频讲解。

1、在目标设备上使用 device 参数直接创建 tensors;

2、使用 Sequential 层获得更干净的代码;

3、不要列出层 list,因为不会被 nn.Module 类正确注册。相反,应该将 list 作为未打包的参数传递到 Sequential 层中;

4、PyTorch 为 distributions 提供了一些很棒的对象和函数,但它们在 torch.distribution 中没有得到充分利用;

5、当在两个 epoch 之间存储张量指标时,确保调用. detach() 以避免内存泄漏;

6、使用 torch.cuda.empty_cache() 清除 GPU 缓存,如果你想在使用 notebook 时删除并重新创建一个大模型,这很有用;

7、在开始测试之前,不要忘了调用 model.eval()。

(编辑:52站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读