S01: 手寫深度學習框架

手寫深度學習框架

筆者手擼了簡單的深度學習框架,這個小項目源於筆者學習pytorch的過程中對autograd的探索。項目名稱爲kitorch。

該項目基於numpy實現,代碼的執行效率比cpu的pytorch要慢。盡然如此,我想對於初學者來說,還是可以看一下的。本項目代碼見github

下面這系列博客會寫一些開發過程,計劃如下:
〇 MNIST例子展示
一、基於Autograd的Tensor類
1.1、Autograd 自動求導
1.2、基於Autograd構建Tensor類
1.3、實現Tensor的四則運算、矩陣乘法
1.4、實現Tensor的sum、mean函數
1.5、幾種激活函數實現
1.6、其他函數的實現
二、NeuralNetwork類
2.1、Module類的實現
三、優化器Optimezer
3.1、優化器Optimezer的實現
3.2、SGD的實現
3.3、各種自適應優化器的實現
3.4、例子1:線性分類和迴歸
四、卷積神經網絡
4.1、卷積層conv2d的實現
4.2、pooling層、dropout層的實現
4.3、BatchNorm層的實現
4.4、例子2:手寫MNIST數字識別
4.5、例子3:CIFAR10圖像分類
4.6、例子4:DCGAN的動漫頭像生成
五、遞歸神經網絡
5.1、RNN、LSTM的原理
5.2、RNN、LSTM的實現
5.3、雙向RNN
5.4、例子5:基於LSTM的語言模型
六、Transformer模型
6.1、Transformer的基本原理
6.2、Transformer的實現
6.3、例子6:Tiny-Tiny-Tiny-Bert
6.4、例子7:3Tiny-Bert-Bilstm-CRF NER標註

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