项目简介
本项目基于PyTorch框架实现变分自编码器(VAE),主要用于图像生成和重建任务。VAE作为一种生成模型,可学习数据的潜在分布来生成新的数据样本。项目使用自制数据集进行训练,该数据集包含中间有一条不规则黑线的图像。
项目的主要特性和功能
- 数据处理:使用自制的含不规则黑线图像数据集,对图像数据进行加载和预处理。
- 模型架构:
- 编码器:通过连续的卷积层、批量归一化和LeakyReLU激活函数(CBL)学习图像特征。
- 重参数化:对学习到的特征进行正态分布采样。
- 解码器:利用反卷积层、批量归一化和LeakyReLU激活函数(DCBL)将采样后的数据还原为原图。
- 效果展示:
- 重建效果:模型对输入图像的重建效果良好,图像质量较高。
- 生成效果:可展示模型生成的全新图像样本,体现了模型的生成能力。
- 结论:
- VAE适合处理稳定特征的数据集,如人脸数据集,应用场景有限。
- 对于变化较大的图像,模型收敛较难。
- 中间隐藏变量不宜过大,否则模型过大且不易收敛。
- 待学习的图片不宜过大,避免模型复杂度过高。
安装使用步骤
环境准备
确保已安装Python 3.x和PyTorch,运行以下命令安装所需的Python包:
bash
pip install -r requirements.txt
数据准备
将自制数据集放置在data
目录下,并确保数据路径正确。
模型训练
运行train.py
脚本进行模型训练:
bash
python train.py
训练过程会输出训练损失和验证损失,并保存训练好的模型。
模型推断
运行infer.py
脚本进行模型推断:
bash
python infer.py
推断过程中会展示重建图像和生成的新图像样本。
查看效果
在doc
目录下查看重建和生成图像的效果。
注意事项
- 确保数据路径正确,并且数据集已准备好。
- 可根据需要调整超参数和配置。
- 训练过程可能需要较长时间,请耐心等待。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】