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