想要入門最前沿的深度學(xué)習(xí),想要玩最常見的深度學(xué)習(xí)框架?那就用 PyTorch 版的《動(dòng)手學(xué)深度學(xué)習(xí)》吧,零基礎(chǔ)也能入門 DL。
李沐等人的開源中文書《動(dòng)手學(xué)深度學(xué)習(xí)》現(xiàn)在有 PyTorch 版實(shí)現(xiàn)了。不論是原書中的示例代碼,還是實(shí)戰(zhàn)項(xiàng)目,原來的 MXNet 都可以無縫轉(zhuǎn)化到 PyTorch 代碼。項(xiàng)目作者在保持原書內(nèi)容基本不變的情況下,將 MXNet 代碼都轉(zhuǎn)換為了 PyTorch,想要學(xué)習(xí) DL 和 PyTorch 的小伙伴們可以試試啊。
項(xiàng)目地址:https://github.com/ShusenTang/Dive-into-DL-PyTorch
近年來,不論是計(jì)算機(jī)專業(yè)的學(xué)生,還是已在科技互聯(lián)網(wǎng)行業(yè)從業(yè)多年的技術(shù)人員和其他從業(yè)者,人們對深度學(xué)習(xí)的興趣從未如此高漲。但是,由于語言等因素,中文版本的優(yōu)秀深度學(xué)習(xí)教材也是鳳毛麟角。
之前,亞馬遜首席科學(xué)家李沐等人曾以電子版的形式在 GitHub 上開源了一本深度學(xué)習(xí)中文書籍——《動(dòng)手學(xué)深度學(xué)習(xí)》,這是一本深度學(xué)習(xí)的入門教程類書籍。其英文版被 UC 伯克利「深度學(xué)習(xí)導(dǎo)論(STAT 157)」課程采用,2019 年李沐等在教授深度學(xué)習(xí)課程時(shí)也使用了這本教程。
中文版開源地址:https://github.com/d2l-ai/d2l-zh
目前,該項(xiàng)目在 GitHub 上已獲得超過 1.1 萬星,并且中文版電子書還發(fā)布了紙質(zhì)版書籍。不過雖然書籍非常優(yōu)秀,但還是有一些讀者不太習(xí)慣用 Gluon 來寫代碼,畢竟開源項(xiàng)目大部分都是 TF 或 PyTorch 寫的。現(xiàn)在好了,我們可以直接結(jié)合書籍內(nèi)容和 PyTorch 框架,更深入地理解 DL。
項(xiàng)目怎么樣
項(xiàng)目作者表示,該倉庫主要包含 code 和 docs 兩個(gè)文件夾。其中 code 文件夾就是每章相關(guān) jupyter notebook 代碼(基于 PyTorch);docs 文件夾就是 markdown 格式的《動(dòng)手學(xué)深度學(xué)習(xí)》書中的相關(guān)內(nèi)容,它也是基于 PyTorch 的。
由于原書內(nèi)容使用的是 MXNet 框架,所以 docs 內(nèi)容可能與原書略有不同,但是整體內(nèi)容是一樣的。如下所示為 docs 目錄下的文檔,它一共包含十章,大部分內(nèi)容已經(jīng)非常完整了,即 1-8 章和第 10 章,只有第 9 章計(jì)算機(jī)視覺還在繼續(xù)補(bǔ)全中。
其實(shí)新項(xiàng)目的內(nèi)容結(jié)構(gòu)與組織方式和原書是一樣的,上面展示的 docs 目錄主要可以分為三部分:基礎(chǔ)知識(shí)(1-3 章)、現(xiàn)代深度學(xué)習(xí)技術(shù)(4-6 章)、計(jì)算性能與應(yīng)用(7-10)。如下所示為全書不同章節(jié)的主題與依賴關(guān)系,箭頭表示上一章有助于理解下一章。
除了內(nèi)容,另一大部分就是實(shí)戰(zhàn)代碼了,隨書代碼基本都轉(zhuǎn)化為了 PyTorch,它如同原書一樣也是用 Jupyter Notebook 寫的,這樣更好地展示代碼與文字解釋。因?yàn)?GitHub 加載 Jupyter Notebook 挺慢的,所以最好還是下到本地查閱。
最后,《動(dòng)手學(xué)深度學(xué)習(xí)》與 PyTorch 也是非常好的搭檔,也就是說我們不需要任何機(jī)器學(xué)習(xí)或深度學(xué)習(xí)背景知識(shí),只需要了解基本數(shù)學(xué)與 Python 編程就可以了。
從 MXNet 到 PyTorch
這樣看起來可能不太直觀,我們可以通過兩個(gè)案例看看原版《動(dòng)手學(xué)深度學(xué)習(xí)》隨書代碼和 PyTorch 版之間的區(qū)別。如果我們抽取使用循環(huán)神經(jīng)網(wǎng)絡(luò)構(gòu)建語言模型的分布代碼,就能看看原版 Gluon 和新版 PyTorch 之間的區(qū)別。
如下是原書采用 RNN 建模語言模型的部分代碼(原書 6.5 章),我們主要抽取了模型定義部分:
如上可以改寫為對應(yīng)的 PyTorch 代碼,它們的風(fēng)格雖然都非常簡潔,但還是有一些不同的。
-
代碼
+關(guān)注
關(guān)注
30文章
4751瀏覽量
68357 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5493瀏覽量
120979 -
pytorch
+關(guān)注
關(guān)注
2文章
803瀏覽量
13150
發(fā)布評(píng)論請先 登錄
相關(guān)推薦
評(píng)論