此存儲庫包含使用Pytorch 1.7,Torchvision 0.8,Matplotlib 3.3和Scikit-Learn 0.24的教程,涵蓋圖像分類,並使用Python 3.8。
我們將首先實現多層感知器(MLP),然後使用卷積神經網絡(CNN)繼續進行體系結構。具體來說,我們將實施Lenet,Alexnet,VGG和Resnet。
如果您發現任何錯誤或不同意任何解釋,請隨時提交問題。我歡迎任何反饋,正面或負面!
要安裝Pytorch,請參見Pytorch網站上的安裝說明。
安裝Pytorch的說明還應詳細介紹如何安裝火炬,但也可以通過以下方式安裝:
pip install torchvision1-多層感知器
本教程提供了Pytorch和Torchvision的介紹。我們將學習如何:加載數據集,增強數據,定義多層感知器(MLP),訓練模型,查看模型的輸出,可視化模型的表示形式,並查看模型的權重。實驗將在MNIST數據集上進行 - 一組28x28手寫灰度數字。
2 -Lenet
在本教程中,我們將實現經典的Lenet體系結構。我們將研究卷積神經網絡,以及卷積層和亞採樣(又稱池)層如何工作。
3- Alexnet
在本教程中,我們將實施Alexnet,Alexnet是有助於開始對深度學習興趣的捲積神經網絡體系結構。我們將轉到十個類中的CIFAR10數據集-32x32顏色圖像。我們顯示:如何使用nn.Sequential序列,如何初始化神經網絡的參數以及如何使用學習率查找器來確定良好的初始學習率。
4- VGG
本教程將涵蓋實施VGG模型。但是,而不是從頭開始訓練模型,而是將在ImageNet數據集中加載一個預先訓練的VGG模型,並展示如何使用稱為歧視性微調的技術進行轉移學習以使其權重調整到CIFAR10數據集中。我們還將解釋自適應池層和批歸一化的工作方式。
5-重新連接
在本教程中,我們將實施重新系統模型。我們將使用Cub200數據集作為示例來展示如何加載自己的數據集,以及如何使用學習率調度程序,這些調度率在培訓時動態改變模型的學習率。特異性地,我們將使用本文介紹的一個週期策略,現在開始通常用於訓練計算機視覺模型。
這是我在製作這些教程時查看的一些事情。其中一些可能已經過時了。