每个实现之间是独立的,目前已经实现的(按实现时间顺序):
cyclegan/即 CycleGAN,使用论文 Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networkscnn-transfer/使用论文 Image Style Transfer Using Convolutional Neural Networks
目录
assets/放置数据集models/训练好的模型output/风格迁移生成的图像log/日志
文件
-
main.py使用其他脚本,模型训练和图像生成结构一般为
- 解析配置,得到
opt、logger; - 构建模型、数据集、优化器,这部分会包装为函数再使用,防止污染外部命名空间;
- 图像生成函数的实现;
- 训练和生成函数的实现。
- 解析配置,得到
-
models.py模型结构实现 -
datasets.py数据集加载和预处理 -
utils.py日志记录和生成目录 -
generate.py使用模型对某一图片或某一目录进行风格迁移
一般来说,main.py 和 generate.py 以外的文件是独立的。
在每个实现的目录下都有配置文件 options.yaml 或配置目录 configs/。这些配置一般包含:项目命名,epoch 设置,模型和数据的保存,模型参数和优化器参数,图像大小(将会被裁剪或变形)。不同项目的实现的结构不一定相同。
然后按照配置将数据集放在 assets/ 对应的子目录下,最后直接使用 main.py 脚本进行训练(有监督学习)或生成(无监督学习)。
python main.py