20 天吃掉那隻 Pytorch


一, Pytorch🔥  or TensorFlow2 🍎

先說結論:git

若是是工程師,應該優先選TensorFlow2.github

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

若是時間足夠,最好TensorFlow2和Pytorch都要學習掌握。算法

理由以下:微信

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

  • 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的工具手冊在工程落地時做爲範例庫參考。

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

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

1、Pytorch的建模流程 ⭐️ 0hour
day1 1-1,結構化數據建模流程範例 ⭐️⭐️⭐️ 1hour
day2 1-2,圖片數據建模流程範例 ⭐️⭐️⭐️⭐️ 2hour
day3 1-3,文本數據建模流程範例 ⭐️⭐️⭐️⭐️⭐️ 2hour
day4 1-4,時間序列數據建模流程範例 ⭐️⭐️⭐️⭐️⭐️ 2hour

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

3、Pytorch的層次結構 ⭐️ 0hour
day8 3-1,低階API示範 ⭐️⭐️⭐️⭐️ 1hour
day9 3-2,中階API示範 ⭐️⭐️⭐️ 1hour
day10 3-3,高階API示範 ⭐️⭐️⭐️ 1hour

4、Pytorch的低階API ⭐️ 0hour
day11 4-1,張量的結構操做 ⭐️⭐️⭐️⭐️⭐️ 2hour
day12 4-2,張量的數學運算 ⭐️⭐️⭐️⭐️ 1hour
day13 4-3,nn.functional和nn.Module.md ⭐️⭐️⭐️⭐️ 1hour

5、Pytorch的中階API ⭐️ 0hour
day14 5-1,Dataset和DataLoader ⭐️⭐️⭐️⭐️⭐️ 2hour
day15 5-2,模型層 ⭐️⭐️⭐️ 1hour
day16 5-3,損失函數 ⭐️⭐️⭐️ 1hour
day17 5-4,TensorBoard可視化 ⭐️⭐️⭐️ 1hour

6、Pytorch的高階API ⭐️ 0hour
day18 6-1,構建模型的3種方法 ⭐️⭐️⭐️⭐️ 1hour
day19 6-2,訓練模型的3種方法 ⭐️⭐️⭐️⭐️ 1hour
day20 6-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 = a@b.t()
print("[[2,1]]@[[-1],[2]] =", c.item())
torch version: 1.5.0
[[2,1]]@[[-1],[2]] = 0

五,鼓勵和聯繫做者 🎈🎈

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

關注雲哥公衆號

並在後臺回覆關鍵字:pytorch

獲取項目github地址

本文分享自微信公衆號 - Python與算法社區(alg-channel)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索