Diffusion Models For Machine Learning Tutorial Python