20 天喫掉那隻 Pytorch

一, Pytorch????  or TensorFlow2 ????

先說結論:

如果是工程師,應該優先選TensorFlow2.

如果是學生或者研究人員,應該優先選擇Pytorch.

如果時間足夠,最好TensorFlow2和Pytorch都要學習掌握。

理由如下:

  • 1,在工業界最重要的是模型落地,目前國內的大部分互聯網企業只支持TensorFlow模型的在線部署,不支持Pytorch。 並且工業界更加註重的是模型的高可用性,許多時候使用的都是成熟的模型架構,調試需求並不大。

  • 2,研究人員最重要的是快速迭代發表文章,需要嘗試一些較新的模型架構。而Pytorch在易用性上相比TensorFlow2有一些優勢,更加方便調試。 並且在2019年以來在學術界佔領了大半壁江山,能夠找到的相應最新研究成果更多。

  • 3,TensorFlow2和Pytorch實際上整體風格已經非常相似了,學會了其中一個,學習另外一個將比較容易。兩種框架都掌握的話,能夠參考的開源模型案例更多,並且可以方便地在兩種框架之間切換。

本書的TensorFlow鏡像教程:

《30天喫掉那隻TensorFlow2》:https://github.com/lyhue1991/eat_tensorflow2_in_30_days

二,本書????面向讀者 ????

本書假定讀者有一定的機器學習和深度學習基礎,使用過Keras或TensorFlow或Pytorch搭建訓練過簡單的模型。

對於沒有任何機器學習和深度學習基礎的同學,建議在學習本書時同步參考閱讀《Python深度學習》一書的第一部分"深度學習基礎"內容。

《Python深度學習》這本書是Keras之父Francois Chollet所著,該書假定讀者無任何機器學習知識,以Keras爲工具,

使用豐富的範例示範深度學習的最佳實踐,該書通俗易懂,全書沒有一個數學公式,注重培養讀者的深度學習直覺。

《Python深度學習》一書的第一部分的4個章節內容如下,預計讀者可以在20小時之內學完。

  • 1,什麼是深度學習

  • 2,神經網絡的數學基礎

  • 3,神經網絡入門

  • 4,機器學習基礎

三,本書寫作風格 ????

本書是一本對人類用戶極其友善的Pytorch入門工具書,Don't let me think是本書的最高追求。

本書主要是在參考Pytorch官方文檔和函數doc文檔基礎上整理寫成的。

儘管Pytorch官方文檔已經相當簡明清晰,但本書在篇章結構和範例選取上做了大量的優化,在用戶友好度方面更勝一籌。

本書按照內容難易程度、讀者檢索習慣和Pytorch自身的層次結構設計內容,循序漸進,層次清晰,方便按照功能查找相應範例。

本書在範例設計上儘可能簡約化和結構化,增強範例易讀性和通用性,大部分代碼片段在實踐中可即取即用。

如果說通過學習Pytorch官方文檔掌握Pytorch的難度大概是5,那麼通過本書學習掌握Pytorch的難度應該大概是2.

四,本書學習方案 ⏰

1,學習計劃

本書是作者利用工作之餘大概3個月寫成的,大部分讀者應該在20天可以完全學會。

預計每天花費的學習時間在30分鐘到2個小時之間。

當然,本書也非常適合作爲Pytorch的工具手冊在工程落地時作爲範例庫參考。

點擊學習內容藍色標題即可進入該章節。

日期學習內容內容難度預計學習時間更新狀態

一、Pytorch的建模流程⭐️0hour
day11-1,結構化數據建模流程範例⭐️⭐️⭐️1hour
day21-2,圖片數據建模流程範例⭐️⭐️⭐️⭐️2hour
day31-3,文本數據建模流程範例⭐️⭐️⭐️⭐️⭐️2hour
day41-4,時間序列數據建模流程範例⭐️⭐️⭐️⭐️⭐️2hour

二、Pytorch的核心概念⭐️0hour
day52-1,張量數據結構⭐️⭐️⭐️⭐️1hour
day62-2,自動微分機制⭐️⭐️⭐️1hour
day72-3,動態計算圖⭐️⭐️⭐️⭐️⭐️2hour

三、Pytorch的層次結構⭐️0hour
day83-1,低階API示範⭐️⭐️⭐️⭐️1hour
day93-2,中階API示範⭐️⭐️⭐️1hour
day103-3,高階API示範⭐️⭐️⭐️1hour

四、Pytorch的低階API⭐️0hour
day114-1,張量的結構操作⭐️⭐️⭐️⭐️⭐️2hour
day124-2,張量的數學運算⭐️⭐️⭐️⭐️1hour
day134-3,nn.functional和nn.Module.md⭐️⭐️⭐️⭐️1hour

五、Pytorch的中階API⭐️0hour
day145-1,Dataset和DataLoader⭐️⭐️⭐️⭐️⭐️2hour
day155-2,模型層⭐️⭐️⭐️1hour
day165-3,損失函數⭐️⭐️⭐️1hour
day175-4,TensorBoard可視化⭐️⭐️⭐️1hour

六、Pytorch的高階API⭐️0hour
day186-1,構建模型的3種方法⭐️⭐️⭐️⭐️1hour
day196-2,訓練模型的3種方法⭐️⭐️⭐️⭐️1hour
day206-3,使用GPU訓練模型⭐️⭐️⭐️⭐️1hour

2,學習環境

本書全部源碼在jupyter中編寫測試通過,建議通過git克隆到本地,並在jupyter中交互式運行學習。

爲了直接能夠在jupyter中打開markdown文件,建議安裝jupytext,將markdown轉換成ipynb文件。

#克隆本書源碼到本地,使用碼雲鏡像倉庫國內下載速度更快
#!git clone https://gitee.com/Python_Ai_Road/eat_pytorch_in_20_days

#建議在jupyter notebook 上安裝jupytext,以便能夠將本書各章節markdown文件視作ipynb文件運行
#!pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -U jupytext
    
#建議在jupyter notebook 上安裝最新版本pytorch 測試本書中的代碼
#!pip install -i https://pypi.tuna.tsinghua.edu.cn/simple  -U torch torchvision torchtext torchkeras 
import torch 
from torch import nn

print("torch version:", torch.__version__)

a = torch.tensor([[2,1]])
b = torch.tensor([[-1,2]])
c = [email protected]()
print("[[2,1]]@[[-1],[2]] =", c.item())
torch version: 1.5.0
[[2,1]]@[[-1],[2]] = 0

五,鼓勵和聯繫作者 ????????

如果本書對你有所幫助,想鼓勵一下作者,記得給本項目加一顆星星star⭐️,並分享給你的朋友們喔????!

關注雲哥公衆號

並在後臺回覆關鍵字:pytorch

獲取項目github地址

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