torchline:让Pytorch使用的更加顺滑

原文: http://zhuanlan.zhihu.com/p/97244535

torchline地址:https://github.com/marsggbo/torchline

相信大家平时在使用Pytorch搭建网络时,多少还是会觉得繁琐,因为我们需要搭建数据读取,模型,训练,checkpoints保存等等一系列模块。每当切换到新的任务后很多情况下之前的代码不能复用,或者说要复用就需要做很多地方的修改,到最后还不如重新写一遍。所幸,pytorch_lightning让这一过程简化了很多,相信如果你用过这个库你也会体验到它的方便性。但是torchline的存在是让你使用Pytorch更加的顺滑舒畅。

torchline基于pytorch_lightning (PL)开发,整个库的结构设计借鉴了detectron2,具体可以阅读下面几篇文章进行了解:

marsggbo:Detectron2源码阅读笔记-(一)Config&Trainermarsggbo:Detectron2源码阅读笔记-(二)Registry&build_*方法marsggbo:Detectron2源码阅读笔记-(三)Dataset pipeline

如下图所示,灰色部分 PL 可以自动完成。我们需要做的,差不多也就加载数据、定义模型、确定训练和验证过程

torchline则进一步简化,而且可以让你的模型复用性更高。

以构建模型为例进行大致的介绍(细节可以去github查看),假如你之前创建了一个MyModel的模型,之后如果你想使用这个模型,你只需要在config文件中将MODEL.NAME修改成MyModel(即只是修改字符串的值,之后torchline会自动切换模型)。

总的来说,pytorch_lightning有的torchline肯定都有哈哈哈,但是使用起来代码复用性和易用性更高,欢迎去github品尝,觉得好用麻烦star,也欢迎issue讨论。

MARSGGBO♥原创 如有意合作,欢迎私戳 邮箱:marsggbo@foxmail.com 微信公众号: 【AutoML机器学习】

AutoML机器学习

2019-12-13 21:31:15

Flag Counter