Denoising Diffusion Probablistic Model的Pytorch实现。这是一种新的生成模型方法,过程如图所示:
原理参考苏剑林的博客:
代码实现参考:
使用CIFAR10训练数据集训练80个epoch,使用Adamw优化器,学习率5e-5,结果如图
在config.yml文件中修改训练所需要的参数
# model_path is the path to save checkpoint
python main.py --mode train --model_path model.pth
在config.yml文件中修改推理所需要的参数,模型配置参数要与训练时所用参数一致
# output_path is the path to save output picture, and the nums is the batch_size of generation
python main.py --mode predict --nums 10 --output_path result.png
Package | Version |
---|---|
opencv-python | 4.9.0.80 |
torch | 1.13.1 |