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

軍事應(yīng)用中深度學(xué)習(xí)的挑戰(zhàn)與機(jī)遇
利用Arm Kleidi技術(shù)實(shí)現(xiàn)PyTorch優(yōu)化

PyTorch 2.5.1: Bugs修復(fù)版發(fā)布

評(píng)論