今天我們強烈推薦一本中文PyTorch書籍 —— PyTorch 中文手冊,并附上試讀。本書提供PyTorch快速入門指南并與最新版本保持一致,其中包含的 Pytorch 教程全部通過測試保證可以成功運行。
PyTorch 是一個深度學(xué)習(xí)框架,旨在實現(xiàn)簡單靈活的實驗。
自 2017 年初首次推出,PyTorch 很快成為 AI 研究人員的熱門選擇并受到推崇。PyTorch 有許多優(yōu)勢,如采用 Python 語言、動態(tài)圖機制、網(wǎng)絡(luò)構(gòu)建靈活以及擁有強大的社群等。由于其靈活、動態(tài)的編程環(huán)境和用戶友好的界面,PyTorch 是快速實驗的理想選擇。
PyTorch 現(xiàn)在是GitHub 上增長速度第二快的開源項目,在過去的 12 個月里,貢獻者增加了 2.8 倍。而且,去年 12 月在 NeurIPS 大會上,PyTorch 1.0 穩(wěn)定版終于發(fā)布。PyTorch 1.0 增加了一系列強大的新功能,大有趕超深度學(xué)習(xí)框架老大哥 TensorFlow 之勢。
因此,學(xué)習(xí) PyTorch 大有裨益!
今天我們強烈推薦一本中文 PyTorch 書籍 ——PyTorch 中文手冊 (pytorch handbook),并附上試讀。這是一本開源的書籍,目標是幫助那些希望和使用 PyTorch 進行深度學(xué)習(xí)開發(fā)和研究的朋友快速入門,其中包含的Pytorch 教程全部通過測試保證可以成功運行。
開源地址:
https://github.com/zergtant/pytorch-handbook
書籍介紹
這是一本開源的書籍,目標是幫助那些希望和使用 PyTorch 進行深度學(xué)習(xí)開發(fā)和研究的朋友快速入門。
由于本人水平有限,在寫此教程的時候參考了一些網(wǎng)上的資料,在這里對他們表示敬意,我會在每個引用中附上原文地址,方便大家參考。
深度學(xué)習(xí)的技術(shù)在飛速的發(fā)展,同時 PyTorch 也在不斷更新,且本人會逐步完善相關(guān)內(nèi)容。
版本說明
由于 PyTorch 版本更迭,教程的版本會與 PyTorch 版本,保持一致。
12 月 8 日 PyTorch 已經(jīng)發(fā)布 1.0 的穩(wěn)定版。 API 的改動不是很大,本教程已經(jīng)通過測試,保證能夠在 1.0 中正常運行。 不過目前看影響不大,因為畢竟內(nèi)容還不多。 v0.4.1 已經(jīng)新建了分支作為存檔,并且該不會再進行更新了。
目錄
第一章: pytorch 入門
1. Pytorch 簡介
2. Pytorch 環(huán)境搭建
3. PyTorch 深度學(xué)習(xí):60 分鐘快速入門 (官方)
張量
Autograd: 自動求導(dǎo)
訓(xùn)練一個分類器
選讀:數(shù)據(jù)并行處理 (多 GPU)
4. 相關(guān)資源介紹
第二章 基礎(chǔ)
第一節(jié) PyTorch 基礎(chǔ)
張量
自動求導(dǎo)
神經(jīng)網(wǎng)絡(luò)包 nn 和優(yōu)化器 optm
數(shù)據(jù)的加載和預(yù)處理
第二節(jié) 深度學(xué)習(xí)基礎(chǔ)及數(shù)學(xué)原理
深度學(xué)習(xí)基礎(chǔ)及數(shù)學(xué)原理
第三節(jié) 神經(jīng)網(wǎng)絡(luò)簡介
神經(jīng)網(wǎng)絡(luò)簡介
第四節(jié) 卷積神經(jīng)網(wǎng)絡(luò)
卷積神經(jīng)網(wǎng)絡(luò)
第五節(jié) 循環(huán)神經(jīng)網(wǎng)絡(luò)
循環(huán)神經(jīng)網(wǎng)絡(luò)
第三章 實踐
第一節(jié) logistic 回歸二元分類
logistic 回歸二元分類
第二節(jié) CNN:MNIST 數(shù)據(jù)集手寫數(shù)字識別
CNN:MNIST 數(shù)據(jù)集手寫數(shù)字識別
第三節(jié) RNN 實例:通過 Sin 預(yù)測 Cos
RNN 實例:通過 Sin 預(yù)測 Cos
第四章 提高
第一節(jié) Fine-tuning
Fine-tuning
第二節(jié) 可視化
visdom
tensorboardx
第三節(jié) fastai
第四節(jié) 數(shù)據(jù)處理技巧
第五節(jié) 并行計算
第五章 應(yīng)用
第一節(jié) Kaggle 介紹
第二節(jié) 結(jié)構(gòu)化數(shù)據(jù)
第三節(jié) 計算機視覺
第四節(jié) 自然語言處理
第五節(jié) 協(xié)同過濾
第六章 資源
試讀:Pytorch 簡介、Pytorch 環(huán)境搭建
1.1 Pytorch 簡介
1.1.1 PyTorch 的由來
很多人都會拿 PyTorch 和 Google 的 Tensorflow 進行比較,這個肯定是沒有問題的,因為他們是最火的兩個深度學(xué)習(xí)框架了。但是說到 PyTorch,其實應(yīng)該先說 Torch。
1.1.2 Torch 是什么?
Torch 英譯中:火炬
ATensorlibrarylikeNumpy,unlikeNumpyithasstrongGPUsupport.LuaisawrapperforTorch(Yes!youneedtohaveagoodunderstandingofLua),andforthatyouwillneedLuaRockspackagemanager.
Torch 是一個與 Numpy 類似的張量(Tensor)操作庫,與 Numpy 不同的是 Torch 對 GPU 支持的很好,Lua 是 Torch 的上層包裝。
Torchisnotgoinganywhere.PyTorchandTorchusethesameClibrariesthatcontainalltheperformance:TH,THC,THNN,THCUNNandtheywillcontinuetobeshared.WestillandwillhavecontinuedengineeringonTorchitself,andwehavenoimmediateplantoremovethat.
PyTorch 和 Torch 使用包含所有相同性能的 C 庫:TH, THC, THNN, THCUNN,并且它們將繼續(xù)共享這些庫。
這樣的回答就很明確了,其實 PyTorch 和 Torch 都使用的是相同的底層,只是使用了不同的上層包裝語言。
注:LUA 雖然快,但是太小眾了,所以才會有 PyTorch 的出現(xiàn)。
1.1.3 重新介紹 PyTorch
PyTorchisanopensourcemachinelearninglibraryforPython,basedonTorch,usedforapplicationssuchasnaturallanguageprocessing.ItisprimarilydevelopedbyFacebook'sartificial-intelligenceresearchgroup,andUber's"Pyro"softwareforprobabilisticprogrammingisbuiltonit.
PyTorch 是一個基于 Torch 的 Python 開源機器學(xué)習(xí)庫,用于自然語言處理等應(yīng)用程序。 它主要由 Facebook 的人工智能研究小組開發(fā)。Uber 的 "Pyro" 也是使用的這個庫。
PyTorchisaPythonpackagethatprovidestwohigh-levelfeatures:Tensorcomputation(likeNumPy)withstrongGPUaccelerationDeepneuralnetworksbuiltonatape-basedautogradsystemYoucanreuseyourfavoritePythonpackagessuchasNumPy,SciPyandCythontoextendPyTorchwhenneeded.
PyTorch 是一個 Python 包,提供兩個高級功能:
具有強大的 GPU 加速的張量計算(如 NumPy)
包含自動求導(dǎo)系統(tǒng)的的深度神經(jīng)網(wǎng)絡(luò)
1.1.4 對比 PyTorch 和 Tensorflow
沒有好的框架,只有合適的框架, 這里有個簡單的對比,所以這里就不詳細再說了https://zhuanlan.zhihu.com/p/28636490 并且技術(shù)是發(fā)展的,這里的對比也不是絕對的,比如 Tensorflow 在 1.5 版的時候就引入了 Eager Execution 機制實現(xiàn)了動態(tài)圖,PyTorch 的可視化,windows 支持,沿維翻轉(zhuǎn)張量等問題都已經(jīng)不是問題了。
1.1.5 再次總結(jié)
PyTorch 算是相當簡潔優(yōu)雅且高效快速的框架
設(shè)計追求最少的封裝,盡量避免重復(fù)造輪子
算是所有的框架中面向?qū)ο笤O(shè)計的最優(yōu)雅的一個,設(shè)計最符合人們的思維,它讓用戶盡可能地專注于實現(xiàn)自己的想法
大佬支持,與 google 的 Tensorflow 類似,F(xiàn)AIR 的支持足以確保 PyTorch 獲得持續(xù)的開發(fā)更新
不錯的的文檔(相比 FB 的其他項目,PyTorch 的文檔簡直算是完善了,參考 Thrift),PyTorch 作者親自維護的論壇 供用戶交流和求教問題
入門簡單
所以如果以上信息有吸引你的內(nèi)容,那么請一定要讀完這本書:)
1.2 Pytorch 環(huán)境搭建
PyTorch 的安裝十分簡單,根據(jù) PyTorch 官網(wǎng),對系統(tǒng)選擇和安裝方式等靈活選擇即可。 這里以 anaconda 為例,簡單的說一下步驟和要點。 國內(nèi)安裝 anaconda 建議使用清華或者中科大 [http://mirrors.ustc.edu.cn/help/anaconda.html] 鏡像,快的不是一點半點。
1.2.1 安裝 Pytorch
anaconda 安裝完成后可以開始創(chuàng)建環(huán)境,這里以 win10 系統(tǒng)為例。打開 Anaconda Prompt
#pytorch為環(huán)境名,這里創(chuàng)建python3.6版。condacreate-npytorchpython=3.6#切換到pytorch環(huán)境activatepytorch#安裝GPU版本,根據(jù)cuda版本選擇cuda80,cuda92,如果cuda是9.0版,則不需要#直接condainstallpytorch-cpytorch即可#win下查看cuda版本命令nvcc-Vcondainstallpytorchcuda92-cpytorch#cpu版本使用#condainstallpytorch-cpu-cpytorch#torchvision是torch提供的計算機視覺工具包,后面介紹pipinstalltorchvision
需要說明的一點是如果使用清華源,可以直接添加 pytorch 源鏡像去掉,并且去掉 - c pytorch這樣才能使用鏡像源。
驗證輸入 python 進入
importtorchtorch.__version__#得到結(jié)果'0.4.1'
1.2.2 配置 Jupyter Notebook
新建的環(huán)境是沒有安裝安裝 ipykernel 的所以無法注冊到 Jupyter Notebook 中,所以先要準備下環(huán)境
#安裝ipykernelcondainstallipykernel#寫入環(huán)境python-mipykernelinstall--namepytorch--display-name"PytorchforDeeplearning"
下一步就是定制 Jupyter Notebook
#切換回基礎(chǔ)環(huán)境activatebase#創(chuàng)建jupyternotebook配置文件jupyternotebook--generate-config##這里會顯示創(chuàng)建jupyter_notebook_config.py的具體位置
打開文件,修改
c.NotebookApp.notebook_dir=''默認目錄位置c.NotebookApp.iopub_data_rate_limit=100000000這個改大一些否則有可能報錯
1.2.3 測試
至此 Pytorch 的開發(fā)環(huán)境安裝完成,可以在開始菜單中打開 Jupyter Notebook 在 New 菜單中創(chuàng)建文件時選擇 Pytorch for Deeplearning創(chuàng)建 PyTorch 的相關(guān)開發(fā)環(huán)境了
1.2.4 問題解決
問題 1:啟動 python 提示編碼錯誤
刪除 .python_history來源
問題 2 默認目錄設(shè)置不起效
打開快捷方式,看看快捷方式是否跟這個截圖一樣,如果是則刪除% USERPROFILE%改參數(shù)會覆蓋掉 notebook_dir 設(shè)置,導(dǎo)致配置不起效
如果你還發(fā)現(xiàn)其他問題,請直接留言
1.3 PyTorch 深度學(xué)習(xí):60 分鐘快速入門 (官方)
本章為官方網(wǎng)站的 [Deep Learning with PyTorch: A 60 Minute Blitz] (https://pytorch.org/tutorials/beginner/deep_learning_60min_blitz.html) 的中文翻譯,目前在網(wǎng)上看到所有中文翻譯版本都已經(jīng)過時了,所以才又從新翻譯了一遍,確保與官方同步
目錄
張量
Autograd: 自動求導(dǎo)本章是沖突的重災(zāi)區(qū),建議閱讀
神經(jīng)網(wǎng)絡(luò)
訓(xùn)練一個分類器
選讀:數(shù)據(jù)并行處理 (多 GPU)
說明
本章中的所有圖片均來自于 PyTorch 官網(wǎng),版權(quán)歸 PyTorch 所有.
-
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5500瀏覽量
121111 -
開源項目
+關(guān)注
關(guān)注
0文章
36瀏覽量
7183 -
pytorch
+關(guān)注
關(guān)注
2文章
807瀏覽量
13198
原文標題:強推!《PyTorch中文手冊》來了
文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論