TommyHuang821 / PytorchTutorial

Pytorch Tutorial in Chinese

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Pytorch Tutorial 實作課程

作者 Author

image
- © 黃志勝 Chih-Sheng (Tommy) Huang (Github) (個人網頁) (Medium文章)

目錄

課程內容皆以jupyter note方式呈現。

Class 0: 數據型態簡介

內容概述:

  • 結構化數據和非結構化數據簡介

*教材: Data Structure.ipynb

Class 1: 資料庫取得

內容概述:
主要介紹公開資料(UCI database,kaggle等)的來源,和怎麼用pytorch來讀取/下載pytorch內建的資料庫

  1. 開源結構化數據範例: scikit-learn
  2. Pytorch平台提供的數據範例torchvision
  3. 私有結構化資料(Iris Dataset)
  4. 私有非結構化資料(水果資料庫)

*教材: database.ipynb

Class 2: 利用Pytorch建立Dataset和Dataloader

內容概述:
怎麼利用pytorch建立自有資料集的dataset和dataloader

  1. Pytorch dataloader: 讀取結構化資料
    *教材: Dataloader-1_Structure data.ipynb

  2. Pytorch dataloader: 讀取非結構化資料
    2.1 當dataset是torch vision提供的寫法
    2.2 當dataset是私有資料庫的寫法。
    2.3 如何將資料丟到CUDA

*教材: Dataloader-2_CustomDataset.ipynb
補充資料:pytorch_dataloader_linux.ipynb

Class 3: 利用Pytorch進行梯度下降更新

內容概述:
怎麼利用pytorch的函數進行梯度計算,和梯度更新

*教材: pytorch_Gradient.ipynb

Class 4: 在pytorch建立卷積、池化和激活函數和自定義運算架構方式

內容概述:
怎麼利用pytorch的函數進行梯度計算,和梯度更新

  1. Pytorch-卷積運作與參數生成
    *教材: 04_pytorch_operators_conv.ipynb

  2. Pytorch- Pool、Activation function和宣告自己想建立的結構
    *教材: 04_pytorch_operators.ipynb

Class 5: 利用Pytorch模組torchvision進行資料擴增(Data Augmentation)

內容概述:
怎麼利用Pytorch提供之torchvision data augumentation技巧進行資料擴增

*教材: Pytorch_dataAug.ipynb

Class 6: Pytorch進行圖像分類模型訓練

內容概述:

  1. Pytorch進行圖像分類: 利用MLP和CNN模型進行私有資料庫訓練
    利用課程Class 01介紹「私有非結構化資料(水果資料庫)」的Fruits 360資料來進行圖像分類範例。
    採用
    1.1. MLP: Multilayer perceptron (多層感知機),在深度學習每一層的perceptron則稱為Fully connection。
    1.2. CNN: Convolutional Neural Network (卷積神經網路)
    進行分類模型學習。
    *教材: pytorch_classification.ipynb

  2. Pytorch進行圖像分類: 有沒有用Data augumention訓練模型是否真的有影響,以CIFAR-10為例。
    這邊我們將拿CIFAR-10的資料來訓練和測試看看Data Augumention對於模型的影響。

Class 7: Pytorch進行圖像分類 - 手刻ResNet-18和Torchvision匯入

內容概述:
怎麼一層一層手刻ResNet-18,以及如何利用torchvision modelzo直接匯入模型和導入pretrain。
並且以CIFAR10為例進行訓練。
*教材: pytorch_classification_resnet.ipynb

Class 8: Pytorch-AutoEncoder

內容概述:

  • 介紹Auto-Encoder (AE)
  • 利用Pytorch進行MNIST的AutoEncoder
  • 可視覺化方式觀察Embedding feature的分布。

內有補充內容: Flatten在pytorch怎麼做

*教材: Pytorch_AutoEncoder.ipynb

Class 9: Generative Adversarial Network(GAN)

內容概述:

  • 介紹Generative Adversarial Network (AE)
  • Pytorch手把手進行DCGAN實作,以MNIST資料庫為例 DCGAN: Deep Convolutional Generative Adversarial Networks

*教材: Pytorch_DCGAN.ipynb

授權 License

Creative Commons License (CC BY-NC-SA 4.0)
本教學課程適用 Attribution-NonCommercial-ShareAlike 4.0 International 授權方式。

※ 轉載、改作、分享請附上以下內容:

About

Pytorch Tutorial in Chinese


Languages

Language:Jupyter Notebook 100.0%