【資源下載】《Pytorch模型訓練實現教程》(附下載連結)
前言
自 2017 年 1 月 PyTorch 推出以來,其熱度持續上升,一度有趕超 TensorFlow 的趨勢。PyTorch 能在短時間內被眾多研究人員和工程師接受並推崇是因為其有著諸多優點,如採用 Python 語言、動態圖機制、網路構建靈活以及擁有強大的社群等。因此,走上學習 PyTorch 的道路已刻不容緩。
本教程以實際應用、工程開發為目的,著重介紹模型訓練過程中遇到的實際問題和方法。如上圖所示,在機器學習模型開發中,主要涉及三大部分,分別是資料、模型和損失函式及優化器。本文也按順序的依次介紹資料、模型和損失函式及優化器,從而給大家帶來清晰的機器學習結構。
通過本教程,希望能夠給大家帶來一個清晰的模型訓練結構。當模型訓練遇到問題時,需要通過視覺化工具對資料、模型、損失等內容進行觀察,分析並定位問題出在資料部分?模型部分?還是優化器?只有這樣不斷的通過視覺化診斷你的模型,不斷的對症下藥,才能訓練出一個較滿意的模型。
為什麼寫此教程
前幾年一直在用 Caffe 和 MatConvNet,近期轉 PyTorch。當時只想快速地用上 PyTorch 進行模型開發,然而搜了一圈 PyTorch 的教程,並沒有找到一款適合的。很多 PyTorch 教程是從學習機器學習 (深度學習) 的角度出發,以 PyTorch 為工具進行編寫,裡面介紹很多模型,並且附上模型的 demo。
然而,工程應用開發中所遇到的問題並不是跑一個模型的 demo 就可以的,模型開發需要對資料的預處理、資料增強、模型定義、權值初始化、模型 Finetune、學習率調整策略、損失函式選取、優化器選取、視覺化等等。鑑於此,我只能自己對著官方文件,一步一步地學習。
起初,只是做了一些學習筆記,後來覺得這些內容應該對大家有些許幫助,畢竟在網際網路上很難找到這類內容的分享,於是此教程就誕生了。
本教程內容及結構
本教程內容主要為在 PyTorch 中訓練一個模型所可能涉及到的方法及函式,並且對 PyTorch 提供的資料增強方法(22 個)、權值初始化方法(10 個)、損失函式(17 個)、優化器(6 個)及 tensorboardX 的方法(13 個)進行了詳細介紹。
本教程分為四章,結構與機器學習三大部分一致:
-
第一章,介紹資料的劃分,預處理,資料增強;
-
第二章,介紹模型的定義,權值初始化,模型 Finetune;
-
第三章,介紹各種損失函式及優化器;
-
第四章,介紹視覺化工具,用於監控資料、模型權及損失函式的變化。
本教程適用讀者:
-
想熟悉 PyTorch 使用的朋友;
-
想採用 PyTorch 進行模型訓練的朋友;
-
正採用 PyTorch,但無有效機制去診斷模型的朋友;
乾貨直達(節選):
1.6 transforms 的二十二個方法
2.2 權值初始化的十種方法
3.1 PyTorch 的十七個損失函式
3.3 PyTorch 的十個優化器
3.4 PyTorch 的六個學習率調整方法
4.1 TensorBoardX
專案程式碼:https://github.com/tensor-yu/PyTorch_Tutorial
電子書下載:
關注公眾號【計算機聯盟】,回覆關鍵詞【PyTorch】