您当前位置:诺勉集团有限公司 > 产品展厅 > 正文

一走代码安置,TPU也能运走PyTorch,修改幼批代码即可迅速移植

时间:2020-03-05  来源:未知   作者:admin

原标题:一走代码安置,TPU也能运走PyTorch,修改幼批代码即可迅速移植

晓查 发自 凹非寺

量子位 报道 | 公多号 QbitAI

对于PyTorch开发者来说,Google Colab上的TPU资源不克用,恐怕是最遗憾的事情了。Google的云计算资源眼望着不克用,转TensorFlow又是不能够的。

以前不息有PyTorch用户试图在Colab上薅羊毛,但是都异国太成功的。

现在福利来了,一个叫做 Pytorch Lightning的项现在,能够让你几乎修改代码的情况下用上TPU。

Pytorch Lightning已经上传到PyPI,所以只需一走代码就能安置这个柔件。

该项主意开发者William Falcon说,PyTorch Lightning是他在纽约大学和FAIR做博士生时研发,特意为从事AI钻研的专科钻研人员和博士生创建的。

伸开全文

几乎无需修改代码

最先让吾们来望一个MNIST图像分类网络的搭建,PyTorch的原首代码和修改后的PyTorch Lightning代码几乎无异。

吾们只需将 nn.Module替换为 pl.LightningModule即可。

作者外示,相比切换框架,用这栽手段重构原本的代码只需数幼时的时间。

PyTorch Lightning所做的是将科学代码与工程代码别离,只需将钻研代码重构为LightningModule格式(科学),Lightning将自动完善其余片面(工程)。

行使手段

PyTorch Lightning详细该如何行使,作者Falcon还所以MNIST图像分类网络为例,介绍从搜集数据到训练再到验证、测试的全过程。

准备数据集阶段分为下载图片、转换、分割数据集、打包四个步骤。二者代码大致相通,只是将PyTorch代码机关为4个函数:

prepare_data:此函数负责处理下载数据,确保行使多个GPU时,不会下载多个数据集或对数据进走双重操作。

train_dataloader,val_dataloader,test_dataloader:每一个都负责返回响答数据集的数据拆分。以这栽手段进走构造训练、验证、测试集,能够让你特意明了如何操作数据。

接下来是 优化器的选择,比如选择Adam。两者的代码照样几乎十足相通,不事后者把pytorch_model改成了self。

至于 亏损函数,对于n向分类,产品展厅要行使交叉熵亏损。二者代码又几乎一致相通,后者多出一个self。

在训练上,PyTorch Lightning的代码更简洁一点。在PyTorch中,你必要本身编写for循环,这意味着你必须记住要以准确的挨次调用准确的东西,能够会导致舛讹。

而PyTorch Lightning将样板格式抽象化,但方框中的内容保持不变,增补了代码的可读性和可重复性。

后面验证推理的片面不再赘述。

总之,PyTorch Lightning有这些益处:

代码结构化;与PyTorch源代码几乎十足相通;随着项现在复杂性的升迁,代码的大片面内容无需修改;保留了PyTorch的变通性。

新添高级功能,连Pytorch本尊都异国

除了以上的一些特性外,PyTorch Lightning还添入了很多高级功能,让你体验到PyTorch本身不具备的一些益处。

比如更清亮直不都雅的训练进度条:

用TensorBoard日志记录代码运走全过程:

PyTorch Lightning还声援TensorBoard之外的其它5栽工具记录日志:

与TensorBoard,MLFlow十足集成,并声援任何日志记录模块。

甚至还有一个内置的分析工具,通知你训练过程中的瓶颈:

PyTorch Lightning还有更多的可扩展性,在这边无法逐一介绍,倘若你正想要在TPU上运走本身的PyTorch代码,能够前往学习更详细的用法。

传送门

项现在地址:

https://github.com/PyTorchLightning/pytorch-lightning

Colab演示:

https://colab.research.google.com/drive/1-_LKx4HwAxl5M6xPJmqAAu444LTDQoa3#scrollTo=dEeUzX_5aLrX

— 完—

疫情防控期间,家里的幼至交有点没趣?

保举给7-12岁的幼至交,一个益玩又趣味的事情:在家学习编程。这是一个绝佳的逻辑思想、数理思想、计算思想的升迁手段。

柯基少儿编程入门课限时优惠招生,一切七个课时,现在只需48元,而且学完课程学费全返!

迎接爸爸妈妈们扫码查望、报名:

在家学编程 | 柯基编程双师互动课

AI内参 | 关注趋势,把握机遇

内参新升级!拓展优质人脉,获取最新AI资讯&论文教程,迎接添入AI内参社群一首学习~

_

量子位 QbitAI · 头条号签约作者

_

_

վ'ᴗ' ի 追踪AI技术和产品新动态

_

爱就点「在望」吧 !

_

Powered by 诺勉集团有限公司 @2018 RSS地图 html地图

Copyright 站群系统 © 2013-2018 360 版权所有