- MNIST 60000 手寫 0~9數字,大小為 28x28 的圖片,並且是 RGB 的呈現方式。
transform = transforms.Compose([
transforms.Grayscale(num_output_channels=1),
transforms.ToTensor(),
transforms.Lambda(lambda x: (x - 0.5) * 2)
])
-
主要使用 U-Net 模型架構進行訓練
-
訓練完成後會儲存 model weight
-
讀取 model weight 後開始 generate image data,並儲存在 image 的目錄中
-
最後使用 torch make_grid 產生 diffusion process image
-
生成結果:
- 利用 FID 驗證產生的圖片品質,越低表示和原圖越相近。
- 建立 train 目錄 (和 hw03_310581040.ipynb 在同個目錄下),並且將 MNIST 的 training data 放進 train 目錄中
- hw03_310581040.ipynb 的檔案直接執行 code 即可。