[PyTorch 學(xué)習(xí)筆記] 1.1 PyTorch 簡介與安裝

PyTorch 的誕生

2017 年 1 月,F(xiàn)AIR(Facebook AI Research)發(fā)布了 PyTorch。PyTorch 是在 Torch 基礎(chǔ)上用 python 語言重新打造的一款深度學(xué)習(xí)框架。Torch 是采用 Lua 語言為接口的機(jī)器學(xué)習(xí)框架,但是因為 Lua 語言較為小眾,導(dǎo)致 Torch 學(xué)習(xí)成本高,因此知名度不高。

PyTorch 的發(fā)展

  • 2017 年 1 月正式發(fā)布 PyTorch。
  • 2018 年 4 月更新 0.4.0 版,支持 Windows 系統(tǒng),caffe2 正式并入 PyTorch。
  • 2018 年 11 月更新 1.0 穩(wěn)定版,已成為 Github 上增長第二快的開源項目。
  • 2019 年 5 月更新 1.1.0 版,支持 TensorBoard,增強(qiáng)可視化功能。
  • 2019 年 8 月更新 1.2.0 版,更新 Torchvision,torchaudio 和torchtext,支持更多功能。
  • 目前 PyTorch 有超越 Tensorflow 的趨勢。
  • ...

PyTorch 優(yōu)點

  • 上手快,掌握 Numpy 和基本深度學(xué)習(xí)概念即可上手。
  • 代碼簡潔靈活,使用 nn.Module 封裝使得網(wǎng)絡(luò)搭建更加方便 ?;趧討B(tài)圖機(jī)制,更加靈活。
  • 資源多,arXiv 中新論文的算法大多有 PyTorch 實現(xiàn)。
  • 開發(fā)者多,Github 上貢獻(xiàn)者(Contributors)已經(jīng)超過 1100+
  • ...

PyTorch 實現(xiàn)模型訓(xùn)練的 5 大要素

<div align="center"><img src="https://image.zhangxiann.com/圖片1.png"/></div>

  • 數(shù)據(jù):包括數(shù)據(jù)讀取,數(shù)據(jù)清洗,進(jìn)行數(shù)據(jù)劃分和數(shù)據(jù)預(yù)處理,比如讀取圖片如何預(yù)處理及數(shù)據(jù)增強(qiáng)。
  • 模型:包括構(gòu)建模型模塊,組織復(fù)雜網(wǎng)絡(luò),初始化網(wǎng)絡(luò)參數(shù),定義網(wǎng)絡(luò)層。
  • 損失函數(shù):包括創(chuàng)建損失函數(shù),設(shè)置損失函數(shù)超參數(shù),根據(jù)不同任務(wù)選擇合適的損失函數(shù)。
  • 優(yōu)化器:包括根據(jù)梯度使用某種優(yōu)化器更新參數(shù),管理模型參數(shù),管理多個參數(shù)組實現(xiàn)不同學(xué)習(xí)率,調(diào)整學(xué)習(xí)率。
  • 迭代訓(xùn)練:組織上面 4 個模塊進(jìn)行反復(fù)訓(xùn)練。包括觀察訓(xùn)練效果,繪制 Loss/ Accuracy 曲線,用 TensorBoard 進(jìn)行可視化分析。

整個系列的學(xué)習(xí)都會圍繞著這 5 個方面來展開。

安裝

在開發(fā)過程中可能會有多個項目同時進(jìn)行,不同項目之間使用的 Python 版本和一些庫的版本不一樣,這就會導(dǎo)致沖突。因此這里使用 Anaconda 來管理多個 Python 虛擬環(huán)境。Anaconda 是為了方便使用 Python 而建立的一個軟件包,包含常用 的 250 多個工具包,多個版本的 Python 解釋器和強(qiáng)大的虛擬環(huán)境管理工具。各個環(huán)境之間相互獨立,可任意切換。

<div align="center"><img src="https://image.zhangxiann.com/20200515135222.png"/></div>

安裝 Anaconda

<div align="center"><img src="https://image.zhangxiann.com/20200515140549.png"/></div>

  • 安裝時記得勾選Add Anaconda to my PATH environment variable 添加到環(huán)境變量中。
  • 安裝完成后打開cmd,輸入conda回車出現(xiàn)如下信息,即為安裝成功。

<div align="center"><img src="https://image.zhangxiann.com/20200515140909.png"/></div>

  • 接著添加中科大鏡像或者清華鏡像,在安裝庫的時候?qū)崿F(xiàn)加速下載。

安裝 PyTorch

  • 檢查是否有支持 CUDA 的 GPU,若有,需要安裝 CUDA 和CuDNN。
  • 進(jìn)入 PyTorch 官方網(wǎng)站 https://pytorch.org/get-started/locally/選擇自己需要安裝的 PyTorch 對應(yīng)的命令,在本地 cmd 中輸入安裝命令即可。這里我本機(jī)選擇使用 conda 安裝不支持 GPU 的 1.5 版本:conda install pytorch torchvision cpuonly -c pytorch。

<div align="center"><img src="https://image.zhangxiann.com/20200515141725.png"/></div>

如果 conda 或者 pip 安裝很慢,也可以直接進(jìn)入 https://download.pytorch.org/whl/torch_stable.html 下載 whl 包到本地安裝。該頁面包含了所有歷史版本和各個平臺的 PyTorch,需要根據(jù)文件名選擇自己需要的版本進(jìn)行下載。文件命名規(guī)則如下所示:

第一部分是 cuda 版本或者 cpu,第二部分是 PyTorch 版本號,第三部分是 Python 版本號,第四部分是操作系統(tǒng)。

cu92/torch-1.5.0%2Bcu92-cp37-cp37m-linux_x86_64.whl

Pycharm 使用 Anaconda 環(huán)境

在 Pycharm 中新建項目后,需要在 File -> Settings -> Project -> Python Interpreter 中選擇 Anaconda 環(huán)境。

首先點擊齒輪圖標(biāo),點擊彈出的add,

<div align="center"><img src="https://image.zhangxiann.com/20200515143403.png"/></div>

接著在彈出的窗口中選擇Conda Environment,Conda execute 選擇你安裝好的 Anaconda 的文件夾下的Scripts\conda.exe。

<div align="center"><img src="https://image.zhangxiann.com/20200515143634.png"/></div>

最后在Python Interpreter給當(dāng)前項目選擇剛剛創(chuàng)建的 Python 環(huán)境即可。

<div align="center"><img src="https://image.zhangxiann.com/20200515143854.png"/></div>

如果安裝的是 GPU 版本,安裝完成之后可以使用print(torch.cuda.is_available())語句來查看安裝好的 PyTorch 是否支持 GPU。這里我是用的是 CPU 版本。

<div align="center"><img src="https://image.zhangxiann.com/20200515144017.png"/></div>

參考資料


如果你覺得這篇文章對你有幫助,不妨點個贊,讓我有更多動力寫出好文章。

我的文章會首發(fā)在公眾號上,歡迎掃碼關(guān)注我的公眾號張賢同學(xué)。

<div align="center"><img src="https://image.zhangxiann.com/QRcode_8cm.jpg"/></div>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容