《動手學深度學習》PyTorch版
- 前言
- 簡介
- 面向人群
- 食用方法
- 方法一
- 方法二
- 方法三
- 目錄
- 原書地址
- 參考
- 閱讀指南
前言
讀書啦!!!

本專案將《動手學深度學習》 原書中MXNet代碼實作改為PyTorch實作,原書作者:阿斯頓·張、李沐、扎卡里 C. 立頓、亞歷山大 J. 斯莫拉以及其他社區貢獻者,GitHub地址:https://github.com/d2l-ai/d2l-zh
此書的中英版本存在一些不同,針對此書英文版的PyTorch重構可參考這個專案,
There are some differences between the Chinese and English versions of this book. For the PyTorch modifying of the English version, you can refer to this repo.
強烈推薦!!!
簡介
本倉庫主要包含code和docs兩個檔案夾(外加一些資料存放在data中),其中code檔案夾就是每章相關jupyter notebook代碼(基于PyTorch);docs檔案夾就是markdown格式的《動手學深度學習》書中的相關內容,然后利用docsify將網頁檔案部署到GitHub Pages上,由于原書使用的是MXNet框架,所以docs內容可能與原書略有不同,但是整體內容是一樣的,歡迎對本專案做出貢獻或提出issue,
面向人群
本專案面向對深度學習感興趣,尤其是想使用PyTorch進行深度學習的童鞋,本專案并不要求你有任何深度學習或者機器學習的背景知識,你只需了解基礎的數學和編程,如基礎的線性代數、微分和概率,以及基礎的Python編程,
食用方法
方法一
本倉庫包含一些latex公式,但github的markdown原生是不支持公式顯示的,而docs檔案夾已經利用docsify被部署到了GitHub Pages上,所以查看檔案最簡便的方法就是直接訪問本專案網頁版,當然如果你還想跑一下運行相關代碼的話還是得把本專案clone下來,然后運行code檔案夾下相關代碼,
方法二
你還可以在本地訪問檔案,先安裝docsify-cli工具:
npm i docsify-cli -g
然后將本專案clone到本地:
git clone https://github.com/ShusenTang/Dive-into-DL-PyTorch.git
cd Dive-into-DL-PyTorch
然后運行一個本地服務器,這樣就可以很方便的在http://localhost:3000實時訪問檔案網頁渲染效果,
docsify serve docs
方法三
如果你不想安裝docsify-cli工具,甚至你的電腦上都沒有安裝Node.js,而出于某些原因你又想在本地瀏覽檔案,那么你可以在docker容器中運行網頁服務,
首先將本專案clone到本地:
git clone https://github.com/ShusenTang/Dive-into-DL-PyTorch.git
cd Dive-into-DL-PyTorch
之后使用如下命令創建一個名稱為「d2dl」的docker鏡像:
docker build -t d2dl .
鏡像創建好后,運行如下命令創建一個新的容器:
docker run -dp 3000:3000 d2dl
最后在瀏覽器中打開這個地址http://localhost:3000/#/,就能愉快地訪問檔案了,適合那些不想在電腦上裝太多工具的小伙伴,
目錄
-
簡介
-
閱讀指南
-
1. 深度學習簡介
-
2. 預備知識
- 2.1 環境配置
- 2.2 資料操作
- 2.3 自動求梯度
-
3. 深度學習基礎
- 3.1 線性回歸
- 3.2 線性回歸的從零開始實作
- 3.3 線性回歸的簡潔實作
- 3.4 softmax回歸
- 3.5 影像分類資料集(Fashion-MNIST)
- 3.6 softmax回歸的從零開始實作
- 3.7 softmax回歸的簡潔實作
- 3.8 多層感知機
- 3.9 多層感知機的從零開始實作
- 3.10 多層感知機的簡潔實作
- 3.11 模型選擇、欠擬合和過擬合
- 3.12 權重衰減
- 3.13 丟棄法
- 3.14 正向傳播、反向傳播和計算圖
- 3.15 數值穩定性和模型初始化
- 3.16 實戰Kaggle比賽:房價預測
-
4. 深度學習計算
- 4.1 模型構造
- 4.2 模型引數的訪問、初始化和共享
- 4.3 模型引數的延后初始化
- 4.4 自定義層
- 4.5 讀取和存盤
- 4.6 GPU計算
-
5. 卷積神經網路
- 5.1 二維卷積層
- 5.2 填充和步幅
- 5.3 多輸入通道和多輸出通道
- 5.4 池化層
- 5.5 卷積神經網路(LeNet)
- 5.6 深度卷積神經網路(AlexNet)
- 5.7 使用重復元素的網路(VGG)
- 5.8 網路中的網路(NiN)
- 5.9 含并行連結的網路(GoogLeNet)
- 5.10 批量歸一化
- 5.11 殘差網路(ResNet)
- 5.12 稠密連接網路(DenseNet)
-
6. 回圈神經網路
- 6.1 語言模型
- 6.2 回圈神經網路
- 6.3 語言模型資料集(周杰倫專輯歌詞)
- 6.4 回圈神經網路的從零開始實作
- 6.5 回圈神經網路的簡潔實作
- 6.6 通過時間反向傳播
- 6.7 門控回圈單元(GRU)
- 6.8 長短期記憶(LSTM)
- 6.9 深度回圈神經網路
- 6.10 雙向回圈神經網路
-
7. 優化演算法
- 7.1 優化與深度學習
- 7.2 梯度下降和隨機梯度下降
- 7.3 小批量隨機梯度下降
- 7.4 動量法
- 7.5 AdaGrad演算法
- 7.6 RMSProp演算法
- 7.7 AdaDelta演算法
- 7.8 Adam演算法
-
8. 計算性能
- 8.1 命令式和符號式混合編程
- 8.2 異步計算
- 8.3 自動并行計算
- 8.4 多GPU計算
-
9. 計算機視覺
- 9.1 影像增廣
- 9.2 微調
- 9.3 目標檢測和邊界框
- 9.4 錨框
- 9.5 多尺度目標檢測
- 9.6 目標檢測資料集(皮卡丘)
- 9.7 單發多框檢測(SSD)
- 9.8 區域卷積神經網路(R-CNN)系列
- 9.9 語意分割和資料集
- 9.10 全卷積網路(FCN)
- 9.11 樣式遷移
- 9.12 實戰Kaggle比賽:影像分類(CIFAR-10)
- 9.13 實戰Kaggle比賽:狗的品種識別(ImageNet Dogs)
-
10. 自然語言處理
- 10.1 詞嵌入(word2vec)
- 10.2 近似訓練
- 10.3 word2vec的實作
- 10.4 子詞嵌入(fastText)
- 10.5 全域向量的詞嵌入(GloVe)
- 10.6 求近義詞和類比詞
- 10.7 文本情感分類:使用回圈神經網路
- 10.8 文本情感分類:使用卷積神經網路(textCNN)
- 10.9 編碼器—解碼器(seq2seq)
- 10.10 束搜索
- 10.11 注意力機制
- 10.12 機器翻譯
持續更新中…
原書地址
中文版:動手學深度學習 | Github倉庫
English Version: Dive into Deep Learning | Github Repo
參考
如果您在研究中使用了這個專案請參考原書:
@book{zhang2019dive,
title={Dive into Deep Learning},
author={Aston Zhang and Zachary C. Lipton and Mu Li and Alexander J. Smola},
note={\url{http://www.d2l.ai}},
year={2020}
}
閱讀指南
和原書一樣,docs內容大體可以分為3個部分:
- 第一部分(第1章至第3章)涵蓋預備作業和基礎知識,第1章介紹深度學習的背景,第2章提供動手學深度學習所需要的預備知識,第3章包括深度學習最基礎的概念和技術,如多層感知機和模型正則化,如果讀者時間有限,并且只想了解深度學習最基礎的概念和技術,那么只需閱讀第一部分,
- 第二部分(第4章至第6章)關注現代深度學習技術,第4章描述深度學習計算的各個重要組成部分,并為實作后續更復雜的模型打下基礎,第5章解釋近年來令深度學習在計算機視覺領域大獲成功的卷積神經網路,第6章闡述近年來常用于處理序列資料的回圈神經網路,閱讀第二部分有助于掌握現代深度學習技術,
- 第三部分(第7章至第10章)討論計算性能和應用,第7章評價各種用來訓練深度學習模型的優化演算法,第8章檢驗影響深度學習計算性能的幾個重要因素,第9章和第10章分別列舉深度學習在計算機視覺和自然語言處理中的重要應用,這部分內容讀者可根據興趣選擇閱讀,
下圖描繪了《動手學深度學習》的結構,

上圖中由甲章指向乙章的箭頭表明甲章的知識有助于理解乙章的內容,
-
如果讀者想短時間了解深度學習最基礎的概念和技術,只需閱讀第1章至第3章;
-
如果讀者希望掌握現代深度學習技術,還需閱讀第4章至第6章,
-
第7章至第10章讀者可以根據興趣選擇閱讀,
加油!
感謝!
努力!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/300834.html
標籤:其他
下一篇:openCV簡單加密及解密影像
