torchline地址:https://github.com/marsggbo/torchline
相信大家平時在使用Pytorch搭建網絡時,多少還是會覺得繁瑣,因為我們需要搭建數據讀取,模型,訓練,checkpoints保存等等一系列模塊。每當切換到新的任務后很多情況下之前的代碼不能復用,或者說要復用就需要做很多地方的修改,到最后還不如重新寫一遍。所幸,pytorch_lightning讓這一過程簡化了很多,相信如果你用過這個庫你也會體驗到它的方便性。但是torchline的存在是讓你使用Pytorch更加的順滑舒暢。
torchline基於pytorch_lightning (PL)開發,整個庫的結構設計借鑒了detectron2,具體可以閱讀下面幾篇文章進行了解:
- Detectron2源碼閱讀筆記-(一)Config&Trainer
- Detectron2源碼閱讀筆記-(二)Registry&build_*方法
- Detectron2源碼閱讀筆記-(三)Dataset pipeline
如下圖所示,灰色部分 PL 可以自動完成。我們需要做的,差不多也就加載數據、定義模型、確定訓練和驗證過程
torchline則進一步簡化,而且可以讓你的模型復用性更高。
以構建模型為例進行大致的介紹(細節可以去github查看),假如你之前創建了一個MyModel
的模型,之后如果你想使用這個模型,你只需要在config文件中將MODEL.NAME
修改成MyModel
(即只是修改字符串的值,之后torchline
會自動切換模型)。
總的來說,pytorch_lightning有的torchline肯定都有哈哈哈,但是使用起來代碼復用性和易用性更高,歡迎去github品嘗,覺得好用麻煩star,也歡迎issue討論。