{ "
This trains a DDPM based model on CelebA HQ dataset. You can find the download instruction in this discussion on fast.ai. Save the images inside _^_1_^_ folder.
\nThe paper had used a exponential moving average of the model with a decay of _^_2_^_. We have skipped this for simplicity.
\n": "\u0db8\u0dd9\u0dba \u0dc3\u0dd9\u0dbd\u0dd9\u0db6\u0dcf \u0d91\u0da0\u0dca\u0d9a\u0dd2\u0dba\u0dd4 \u0daf\u0dad\u0dca\u0dad \u0d9a\u0da7\u0dca\u0da7\u0dbd\u0dba \u0db8\u0dad \u0da9\u0dd3\u0da9\u0dd3\u0db4\u0dd3\u0d91\u0db8\u0dca \u0db4\u0daf\u0db1\u0db8\u0dca \u0d9a\u0dbb\u0d9c\u0dad\u0dca \u0d86\u0d9a\u0dd8\u0dad\u0dd2\u0dba\u0d9a\u0dca \u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4 \u0d9a\u0dbb\u0dba\u0dd2. fast.ai \u0dc4\u0dd2 \u0db8\u0dd9\u0db8 \u0dc3\u0dcf\u0d9a\u0da0\u0dca\u0da1\u0dcf\u0dc0\u0dda\u0daf\u0dd3 \u0db6\u0dcf\u0d9c\u0dad \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dda \u0d8b\u0db4\u0daf\u0dd9\u0dc3\u0dca \u0d94\u0db6\u0da7 \u0dc3\u0ddc\u0dba\u0dcf\u0d9c\u0dad \u0dc4\u0dd0\u0d9a\u0dd2\u0dba. _^_1_^_\u0dc6\u0ddd\u0dbd\u0dca\u0da9\u0dbb\u0dba \u0dad\u0dd4\u0dc5 \u0db4\u0dd2\u0db1\u0dca\u0dad\u0dd6\u0dbb \u0dc3\u0dd4\u0dbb\u0d9a\u0dd2\u0db1\u0dca\u0db1.
\n\u0d9a\u0da9\u0daf\u0dcf\u0dc3\u0dd2 \u0d9a \u0d9a\u0dca\u0dc2\u0dba \u0dc3\u0db8\u0d9c \u0d86\u0daf\u0dbb\u0dca\u0dc1 \u0d9d\u0dcf\u0dad\u0dd3\u0dba \u0dc0\u0dd9\u0db1\u0dc3\u0dca\u0dc0\u0db1 \u0dc3\u0dcf\u0db8\u0dcf\u0db1\u0dca\u0dba\u0dba \u0db7\u0dcf\u0dc0\u0dd2\u0dad\u0dcf \u0d9a\u0dbb_^_2_^_ \u0d87\u0dad. \u0dc3\u0dbb\u0dbd \u0db6\u0dc0 \u0dc3\u0db3\u0dc4\u0dcf \u0d85\u0db4\u0dd2 \u0db8\u0dd9\u0dba \u0db8\u0d9f \u0dc4\u0dd0\u0dbb \u0d87\u0dad\u0dca\u0dad\u0dd9\u0db8\u0dd4.
\n", "\n": "
\n", "
Create CelebA dataset
\n": "\u0dc3\u0dd9\u0dbd\u0dd9\u0db6\u0dcf\u0daf\u0dad\u0dca\u0dad \u0d9a\u0da7\u0dca\u0da7\u0dbd\u0dba \u0dc3\u0dcf\u0daf\u0db1\u0dca\u0db1
\n", "Create MNIST dataset
\n": "MNIST\u0daf\u0dad\u0dca\u0dad \u0dc3\u0db8\u0dd4\u0daf\u0dcf\u0dba \u0dc3\u0dcf\u0daf\u0db1\u0dca\u0db1
\n", "Get an image
\n": "\u0dbb\u0dd6\u0db4\u0dba\u0d9a\u0dca\u0dbd\u0db6\u0dcf \u0d9c\u0db1\u0dca\u0db1
\n", "Size of the dataset
\n": "\u0daf\u0dad\u0dca\u0dad\u0dc3\u0db8\u0dd4\u0daf\u0dcf\u0dba \u0db4\u0dca\u0dbb\u0db8\u0dcf\u0dab\u0dba
\n", "\n": "\n", "_^_0_^_
\n": "_^_0_^_
\n", "Adam optimizer
\n": "\u0d86\u0daf\u0db8\u0dca\u0db4\u0dca\u0dbb\u0dc1\u0dc3\u0dca\u0dad\u0d9a\u0dbb\u0dab\u0dba
\n", "Batch size
\n": "\u0d9a\u0dab\u0dca\u0da9\u0dcf\u0dba\u0db8\u0dca\u0db4\u0dca\u0dbb\u0db8\u0dcf\u0dab\u0dba
\n", "Calculate loss
\n": "\u0d85\u0dbd\u0dcf\u0db7\u0dba\u0d9c\u0dab\u0db1\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1
\n", "CelebA images folder
\n": "\u0dc3\u0dd9\u0dbd\u0dd9\u0db6\u0dcf\u0db4\u0dd2\u0db1\u0dca\u0dad\u0dd6\u0dbb \u0dc6\u0ddd\u0dbd\u0dca\u0da9\u0dbb\u0dba
\n", "Compute gradients
\n": "\u0d85\u0db1\u0dd4\u0d9a\u0dca\u0dbb\u0db8\u0dd2\u0d9a\u0d9c\u0dab\u0db1\u0dba
\n", "Create DDPM class
\n": "DDPM \u0db4\u0db1\u0dca\u0dad\u0dd2 \u0db1\u0dd2\u0dbb\u0dca\u0db8\u0dcf\u0dab\u0dba
\n", "Create _^_0_^_ model
\n": "_^_0_^_ \u0d86\u0d9a\u0dd8\u0dad\u0dd2\u0dba \u0dc3\u0dcf\u0daf\u0db1\u0dca\u0db1
\n", "Create configurations
\n": "\u0dc0\u0dd2\u0db1\u0dca\u0dba\u0dcf\u0dc3\u0dba\u0db1\u0dca\u0dc3\u0dcf\u0daf\u0db1\u0dca\u0db1
\n", "Create dataloader
\n": "\u0daf\u0dad\u0dca\u0dad\u0d9a\u0dcf\u0dbb\u0d9a\u0dba \u0dc3\u0dcf\u0daf\u0db1\u0dca\u0db1
\n", "Create experiment
\n": "\u0d85\u0dad\u0dca\u0dc4\u0daf\u0dcf\u0db6\u0dd0\u0dbd\u0dd3\u0db8 \u0dc3\u0dcf\u0daf\u0db1\u0dca\u0db1
\n", "Create optimizer
\n": "\u0db4\u0dca\u0dbb\u0dc1\u0dc3\u0dca\u0dad\u0d9a\u0dbb\u0dab\u0dba\u0dc3\u0dcf\u0daf\u0db1\u0dca\u0db1
\n", "Dataloader
\n": "\u0daf\u0dad\u0dca\u0dad\u0d9a\u0dcf\u0dbb\u0d9a\u0dba
\n", "Dataset
\n": "\u0daf\u0dad\u0dca\u0dad\u0d9a\u0da7\u0dca\u0da7\u0dbd\u0dba
\n", "Device to train the model on. _^_0_^_ picks up an available CUDA device or defaults to CPU.
\n": "\u0d86\u0d9a\u0dd8\u0dad\u0dd2\u0dba\u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4 \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dda \u0d8b\u0db4\u0d9a\u0dbb\u0dab\u0dba. _^_0_^_ \u0dbd\u0db6\u0dcf \u0d9c\u0dad \u0dc4\u0dd0\u0d9a\u0dd2 CUDA \u0d8b\u0db4\u0dcf\u0d82\u0d9c\u0dba\u0d9a\u0dca \u0d85\u0dc4\u0dd4\u0dbd\u0db1\u0dc0\u0dcf \u0dc4\u0ddd CPU \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0da7 \u0db4\u0dd9\u0dbb\u0db1\u0dd2\u0db8\u0dd2.
\n", "Image logging
\n": "\u0dbb\u0dd6\u0db4\u0dbd\u0ddc\u0d9c\u0dca \u0dc0\u0dd3\u0db8
\n", "Image size
\n": "\u0dbb\u0dd6\u0db4\u0db4\u0dca\u0dbb\u0db8\u0dcf\u0dab\u0dba
\n", "Increment global step
\n": "\u0d9c\u0ddd\u0dbd\u0dd3\u0dba\u0db4\u0dd2\u0dba\u0dc0\u0dbb \u0dc0\u0dd0\u0da9\u0dd2 \u0d9a\u0dd2\u0dbb\u0dd3\u0db8
\n", "Initialize
\n": "\u0d86\u0dbb\u0db8\u0dca\u0db7\u0d9a\u0dbb\u0db1\u0dca\u0db1
\n", "Iterate through the dataset
\n": "\u0daf\u0dad\u0dca\u0dad\u0dc3\u0db8\u0dd4\u0daf\u0dcf\u0dba \u0dc4\u0dbb\u0dc4\u0dcf \u0db1\u0dd0\u0dc0\u0dad \u0d9a\u0dbb\u0db1\u0dca\u0db1
\n", "Learning rate
\n": "\u0d89\u0d9c\u0dd9\u0db1\u0dd4\u0db8\u0dca\u0d85\u0db1\u0dd4\u0db4\u0dcf\u0dad\u0dba
\n", "List of files
\n": "\u0d9c\u0ddc\u0db1\u0dd4\u0dbd\u0dd0\u0dba\u0dd2\u0dc3\u0dca\u0dad\u0dd4\u0dc0
\n", "Log samples
\n": "\u0dbd\u0ddc\u0d9c\u0dca\u0dc3\u0dcf\u0db8\u0dca\u0db4\u0dbd
\n", "Make the gradients zero
\n": "\u0d85\u0db1\u0dd4\u0d9a\u0dca\u0dbb\u0db8\u0dd2\u0d9a\u0dc1\u0dd4\u0db1\u0dca\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1
\n", "Move data to device
\n": "\u0d8b\u0db4\u0dcf\u0d82\u0d9c\u0dba\u0dc0\u0dd9\u0dad \u0daf\u0dad\u0dca\u0dad \u0d9c\u0dd9\u0db1\u0dba\u0db1\u0dca\u0db1
\n", "New line in the console
\n": "\u0d9a\u0ddc\u0db1\u0dca\u0dc3\u0ddd\u0dbd\u0dba\u0dda\u0db1\u0dc0 \u0dbb\u0dda\u0d9b\u0dcf\u0dc0\u0d9a\u0dca
\n", "Number of channels in the image. _^_0_^_ for RGB.
\n": "\u0dbb\u0dd6\u0db4\u0dba\u0dda\u0db1\u0dcf\u0dbd\u0dd2\u0d9a\u0dcf \u0d9c\u0dab\u0db1. _^_0_^_ RGB \u0dc3\u0db3\u0dc4\u0dcf.
\n", "Number of channels in the initial feature map
\n": "\u0d86\u0dbb\u0db8\u0dca\u0db7\u0d9a\u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c \u0dc3\u0dd2\u0dad\u0dd2\u0dba\u0db8\u0dda \u0db1\u0dcf\u0dbd\u0dd2\u0d9a\u0dcf \u0d9c\u0dab\u0db1
\n", "Number of samples to generate
\n": "\u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0db1\u0dba\u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0da7 \u0dc3\u0dcf\u0db8\u0dca\u0db4\u0dbd \u0d9c\u0dab\u0db1
\n", "Number of time steps _^_0_^_
\n": "\u0d9a\u0dcf\u0dbd\u0db4\u0dd2\u0dba\u0dc0\u0dbb \u0d9c\u0dab\u0db1 _^_0_^_
\n", "Number of training epochs
\n": "\u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4\u0d91\u0db4\u0ddc\u0da0\u0dca \u0d9c\u0dab\u0db1
\n", "Remove noise for _^_0_^_ steps
\n": "_^_0_^_ \u0db4\u0dd2\u0dba\u0dc0\u0dbb \u0dc3\u0db3\u0dc4\u0dcf \u0dc1\u0db6\u0dca\u0daf\u0dba \u0d89\u0dc0\u0dad\u0dca \u0d9a\u0dbb\u0db1\u0dca\u0db1
\n", "Sample from _^_0_^_
\n": "\u0dc0\u0dd9\u0dad\u0dd2\u0db1\u0dca\u0db1\u0dd2\u0dba\u0dd0\u0daf\u0dd2\u0dba _^_0_^_
\n", "Sample some images
\n": "\u0db4\u0dd2\u0db1\u0dca\u0dad\u0dd6\u0dbb\u0d9a\u0dd2\u0dc4\u0dd2\u0db4\u0dba\u0d9a\u0dca \u0dc3\u0dcf\u0db8\u0dca\u0db4\u0dbd \u0d9a\u0dbb\u0db1\u0dca\u0db1
\n", "Save the model
\n": "\u0d86\u0d9a\u0dd8\u0dad\u0dd2\u0dba\u0dc3\u0dd4\u0dbb\u0d9a\u0dd2\u0db1\u0dca\u0db1
\n", "Set configurations. You can override the defaults by passing the values in the dictionary.
\n": "\u0dc0\u0dd2\u0db1\u0dca\u0dba\u0dcf\u0dc3\u0dba\u0db1\u0dca\u0dc3\u0d9a\u0dc3\u0db1\u0dca\u0db1. \u0dc1\u0db6\u0dca\u0daf\u0d9a\u0ddd\u0dc2\u0dba\u0dda \u0d85\u0d9c\u0dba\u0db1\u0dca \u0dc3\u0db8\u0dca\u0db8\u0dad \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dd9\u0db1\u0dca \u0d94\u0db6\u0da7 \u0db4\u0dd9\u0dbb\u0db1\u0dd2\u0db8\u0dd2 \u0d85\u0db7\u0dd2\u0db6\u0dc0\u0dcf \u0dba\u0dcf \u0dc4\u0dd0\u0d9a\u0dd2\u0dba.
\n", "Set models for saving and loading
\n": "\u0d89\u0dad\u0dd2\u0dbb\u0dd2\u0d9a\u0dd2\u0dbb\u0dd3\u0db8 \u0dc3\u0dc4 \u0db4\u0dd0\u0da7\u0dc0\u0dd3\u0db8 \u0dc3\u0db3\u0dc4\u0dcf \u0d86\u0d9a\u0dd8\u0dad\u0dd2 \u0dc3\u0d9a\u0dc3\u0db1\u0dca\u0db1
\n", "Start and run the training loop
\n": "\u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4\u0dbd\u0dd6\u0db4\u0dba \u0d86\u0dbb\u0db8\u0dca\u0db7 \u0d9a\u0dbb \u0d9a\u0dca\u0dbb\u0dd2\u0dba\u0dcf\u0dad\u0dca\u0db8\u0d9a \u0d9a\u0dbb\u0db1\u0dca\u0db1
\n", "Take an optimization step
\n": "\u0db4\u0dca\u0dbb\u0dc1\u0dc3\u0dca\u0dad\u0dd2\u0d9a\u0dbb\u0dab\u0db4\u0dd2\u0dba\u0dc0\u0dbb\u0d9a\u0dca \u0d9c\u0db1\u0dca\u0db1
\n", "The list of booleans that indicate whether to use attention at each resolution
\n": "\u0d91\u0d9a\u0dca\u0d91\u0d9a\u0dca \u0dba\u0ddd\u0da2\u0db1\u0dcf\u0dc0\u0dda\u0daf\u0dd3 \u0d85\u0dc0\u0db0\u0dcf\u0db1\u0dba \u0db7\u0dcf\u0dc0\u0dd2\u0dad\u0dcf \u0d9a\u0dc5 \u0dba\u0dd4\u0dad\u0dd4\u0daf \u0dba\u0db1\u0dca\u0db1 \u0db4\u0dd9\u0db1\u0dca\u0dc0\u0db1 \u0db6\u0dd6\u0dbd\u0dd2\u0dba\u0db1\u0dca \u0dbd\u0dd0\u0dba\u0dd2\u0dc3\u0dca\u0dad\u0dd4\u0dc0
\n", "The list of channel numbers at each resolution. The number of channels is _^_0_^_
\n": "\u0d91\u0d9a\u0dca\u0d91\u0d9a\u0dca \u0dc0\u0dd2\u0db7\u0dda\u0daf\u0db1\u0dba\u0dda \u0db1\u0dcf\u0dbd\u0dd2\u0d9a\u0dcf \u0d85\u0d82\u0d9a \u0dbd\u0dd0\u0dba\u0dd2\u0dc3\u0dca\u0dad\u0dd4\u0dc0. \u0db1\u0dcf\u0dbd\u0dd2\u0d9a\u0dcf \u0d9c\u0dab\u0db1 \u0dc0\u0dda _^_0_^_
\n", "Track the loss
\n": "\u0d85\u0dbd\u0dcf\u0db7\u0dba\u0dbd\u0dd4\u0dc4\u0dd4\u0db6\u0db3\u0dd2\u0db1\u0dca\u0db1
\n", "Train the model
\n": "\u0d86\u0d9a\u0dd8\u0dad\u0dd2\u0dba\u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4 \u0d9a\u0dbb\u0db1\u0dca\u0db1
\n", "Transformations to resize the image and convert to tensor
\n": "\u0dbb\u0dd6\u0db4\u0dba\u0dc0\u0dd9\u0db1\u0dc3\u0dca \u0d9a\u0dbb \u0da7\u0dd9\u0db1\u0dca\u0dc3\u0dbb\u0dca \u0db6\u0dc0\u0da7 \u0db4\u0dbb\u0dd2\u0dc0\u0dbb\u0dca\u0dad\u0db1\u0dba \u0d9a\u0dd2\u0dbb\u0dd3\u0db8 \u0dc3\u0db3\u0dc4\u0dcf \u0db4\u0dbb\u0dd2\u0dc0\u0dbb\u0dca\u0dad\u0db1\u0dba\u0db1\u0dca
\n", "U-Net model for _^_0_^_
\n": "\u0dc3\u0db3\u0dc4\u0dcfU-Net \u0d86\u0d9a\u0dd8\u0dad\u0dd2\u0dba _^_0_^_
\n", "Denoising Diffusion Probabilistic Models (DDPM) training": "\u0dc0\u0dd2\u0dc3\u0dbb\u0dab \u0dc3\u0db8\u0dca\u0db7\u0dcf\u0dc0\u0dd2\u0dad\u0dcf \u0d86\u0d9a\u0dd8\u0dad\u0dd2 (\u0da9\u0dd3\u0da9\u0dd3\u0db4\u0dd3\u0d91\u0db8\u0dca) \u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4\u0dc0 \u0db1\u0dd2\u0dbb\u0dd6\u0db4\u0dab\u0dba \u0d9a\u0dd2\u0dbb\u0dd3\u0db8", "Training code for Denoising Diffusion Probabilistic Model.": "Denoising Diffusion \u0dc3\u0db8\u0dca\u0db7\u0dcf\u0dc0\u0dd2\u0dad\u0dcf\u0dc0 \u0d86\u0d9a\u0dd8\u0dad\u0dd2\u0dba \u0dc3\u0db3\u0dc4\u0dcf \u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4 \u0d9a\u0dda\u0dad\u0dba." }