项目简介
本项目基于MindSpore框架实现了WGAN(Wasserstein GAN),主要用于图像生成任务。WGAN改进了原始GAN的算法流程,解决了GAN训练不稳定的问题,保证了生成样本的多样性,同时训练过程中可用数值(-loss_D)指示训练进程,该数值越小,生成器产生的图像质量越高。
项目的主要特性和功能
- 模型架构:包含生成器网络和判别器网络,生成器网络有卷积DCGAN生成器结构或无BatchNorm的卷积DCGAN生成器结构两种选择。
- 数据集:采用LSUN - Bedrooms数据集,大小为42.8G,包含3033044张图像。
- 训练与评估:支持单机训练和推理,提供详细的训练和评估脚本。
- 模型导出:可将训练好的模型导出为MindIR、ONNX或MINDIR格式。
- 性能监控:训练时通过损失值(-loss_D)监控训练进程。
安装使用步骤
1. 环境准备
- 安装MindSpore框架:MindSpore安装指南
- 准备Ascend硬件环境。
2. 数据准备
- 下载LSUN - Bedrooms数据集:LSUN - Bedrooms
- 使用LSUN官网提供的脚本将lmdb格式转换为图片格式,并把Bedrooms类图片存于同一文件夹。
3. 训练模型
- 运行单机训练脚本:
bash bash run_train.sh [DATASET] [DATAROOT] [DEVICE_ID] [NOBN]
- 选标准卷积DCGAN生成器结构:
bash bash run_train.sh [DATASET] [DATAROOT] [DEVICE_ID] False
- 选无BatchNorm的卷积DCGAN生成器结构:
bash bash run_train.sh [DATASET] [DATAROOT] [DEVICE_ID] True
4. 模型评估
- 运行评估脚本:
bash bash run_eval.sh [DEVICE_ID] [CONFIG_PATH] [CKPT_FILE_PATH] [OUTPUT_DIR] [NIMAGES]
5. 模型导出
- 导出模型为MindIR格式:
bash python export.py --ckpt_file [CKPT_PATH] --file_name [FILE_NAME] --file_format [FILE_FORMAT]
file_format
可选值:["AIR", "ONNX", "MINDIR"]
注意事项
- 保证数据集路径和格式正确。
- 训练可能耗时较长,请耐心等待。
- 按需使用评估和导出功能。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】