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