Pytorch 深度學習入門建議

0. 簡介

本文主要介紹了使用pytorch作爲框架入門深度學習。

其中第1節(深度學習入門)內容較多,建議邊看第1節邊實踐第2節(Pytorch入門)中的內容(主要是2.1和2.2)。

1. 深度學習入門

網上的資源非常多,這裏重點推薦一個資源:斯坦福大學公開課 CS231N

對應的中文翻譯及視頻資料等如下:CS231n 官方筆記及其中文譯本

CS231N

學習建議:

  • 讀者把截圖中兩個模塊中涉及的文檔讀懂(部分代碼要自己對照着原文實踐) 基本上就可以入門了(預計需要半個月到一個月時間)。
  • 上述鏈接中的視頻,作業等資料可選擇性觀看,主要看截圖中給到的內容。筆者只看了截圖中的英文資料,其他內容還沒看:(, 如果讀者覺得讀英語效率低,可以參考對應的中文資料。
  • 這裏不再推薦其他資源,對於初學者只要精通了上述內容,基本上就可以讀懂絕大多數深度學習的資料了,對於裏面不懂的內容可自行查找資料補充。

2. Pytorch 入門

2.1. 安裝軟件

2.1.1 python

建議安裝anaconda(裏面集成了python解釋器以及常用的python模塊)。 由於清華大學鏡像和中科院鏡像的anaconda源未獲得授權已經被關閉,因此這裏給出的是官方版本,可能下載速度有點慢。讀者可自行查找更快的下載方案,比如百度雲。

Anaconda

2.1.2 pycharm(可選擇)

這是一個IDE(軟件開發環境,類似於Visual Studio), 建議讀者使用。但是讀者也可以使用Anaconda中自帶的IDE,如Spyder。或者也可以使用其他編輯器,如Visual Studio Code

建議:IDE不一定用的多的就是最好的,請讀者自行選擇適合自己的IDE,並且精通一個即可。

2.1.3 cuda(可選擇)

如果讀者電腦上有nvidia GPU且未安裝cuda,可以考慮下載並安裝。這裏給出建議的參考博客,不再詳細介紹。

2.1.4 pytorch

如圖,登陸pytorch官網,在下方選好對應的pytorch版本,系統會自動給出需要運行的命令。

Linux 下安裝教程:

  • 比如這裏筆者選擇satble(1.1)版本, 操作系統爲Linux, 安裝包使用Conda, python版本爲3.6, cuda版本爲9.0。
    因此只需要在終端(Terminal)中輸入如下命令:conda install pytorch torchvision cudatoolkit=9.0 -c pytorch
    安裝
    注意:這裏如果讀者沒有安裝cuda,選擇None

Windows 下安裝教程:

  • Windows 下安裝教程:pytorch在windows10上安裝使用
  • 如果系統爲windows,建議按照如下配置選擇:
    image.png
    注意:這裏如果讀者沒有安裝cuda,選擇None

2.2. pytorch的基本原理

這一節筆者主要看了pytorch的官方文檔和教程,裏面有很多很多例子,如果把這些例子全看完,足以滿足日常使用的要求。如果時間不夠充足,可以考慮先挑一些緊急的看,以後等到熟練了或者需要用到什麼地方再反過頭來看。

下面列舉了一些建議先看的內容:

2.2.1 60分鐘入門

60 min
對應中文翻譯:PyTorch 深度學習:60分鐘快速入門

把上圖中的五個部分讀懂,大約需要一小時到兩小時。這一部分主要介紹了

  • 什麼是pytorch?
  • 什麼是tensor?
  • pytorch如何自動求導?
  • 什麼是神經網絡,如何搭建神經網絡?
  • 如何從頭到尾訓練一個分類的神經網絡模型?
  • 數據並行機制?數據怎麼在多個GPU上並行運算?

2.2.2 pytorch的數據加載機制

DATA LOADING AND PROCESSING TUTORIAL

對應中文翻譯:PyTorch:數據加載和預處理

這一節我認爲是必看的,大約需要一到兩小時讀懂。讀完這一節,你將學會:

  • 讀懂別人是怎麼設計DataSet的
  • 靈活地針對自己的數據定義訓練過程中從磁盤上讀取數據到網絡中

2.2.3 模型加載和保存

這一節主要講如何將訓練好的模型加載到網絡中,以及如何保存訓練好的模型。

讀完上述內容,基本上可以瞭解pytorch的原理。剩下的就是根據不同的需求看不同的內容。比如,如果讀者想做遷移學習,或者強化學習,或者只是想用GAN網絡,那麼只需要找對應的內容即可。

2.3. Pytorch工具介紹 (可選擇)

下面的鏈接介紹了筆者常用的一些pytorch工具,包括

tensorboardX

Augomentor

3. 補充說明

  • 上述關於pytorch的內容建議直接看英文文檔,如果讀者覺得看英語效率低,請自己找一下對應的中文翻譯。這裏筆者只找了部分內容供讀者參考。

  • 關於看書還是官方文檔。每個人習慣不一樣,筆者傾向於不看書。因爲現有的關於pytorch的個人認爲寫的較爲粗淺,甚至還不如官方教程細緻;pytorch更新較快,官方教程也是每隔一段時間就會更新一下,而書很難跟上最新的更新。

  • 如果讀者想了解更多,除了看官方教程,還建議讀一讀源碼

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章