Classification Diffusion Models Github Codespaces Tutorial Definition