Cyclegan的干净可读的Pytorch实现(https://arxiv.org/abs/1703.10593)
代码旨在与Python 3.6.x合作,尚未对其先前版本进行测试
按照pytorch.org中的说明进行当前设置
绘制丢失图并在漂亮的Web浏览器视图中绘制图像
pip3 install visdom
首先,您需要下载并设置数据集。最简单的方法是使用加州大学伯克利分校存储库上已经存在的数据集之一:
./download_dataset <dataset_name>
有效<DataSet_name>是:Apple2Orange,Summer2Winter_yosemite,Horse2zebra,Monet2Photo,Cezanne2Photo,Ukiyoe2photo,Vangogh2Photo,Maps,Maps,Maps,CityScapes,CityScapes,Facades,Facades,iphone2dsdsl_flower,ae__photos,ae__photos,ae__photos,ae__photos,ae__photos,ae__photos,ae__photos,ae__photos,ae__photos,ae__photos
另外,您可以通过设置以下目录结构来构建自己的数据集:
.
├── datasets
| ├── <dataset_name> # i.e. brucewayne2batman
| | ├── train # Training
| | | ├── A # Contains domain A images (i.e. Bruce Wayne)
| | | └── B # Contains domain B images (i.e. Batman)
| | └── test # Testing
| | | ├── A # Contains domain A images (i.e. Bruce Wayne)
| | | └── B # Contains domain B images (i.e. Batman)
./train --dataroot datasets/<dataset_name>/ --cuda
该命令将使用DataRoot/Train目录下的图像开始培训会话,并使用超参数显示出最佳成绩,根据Cyclegan的作者。您可以自由更改那些超参数,请参阅./train --help ,以获取对这些的描述。
发电机和判别器的权重将在输出目录下保存。
如果您没有GPU删除-cuda选项,尽管我建议您获得一个!
您还可以通过在另一个终端中运行python3 -m visdom并打开http:// localhost:8097/在您喜欢的Web浏览器中,通过运行Python3 -m vistom来查看训练进度以及实时输出图像。如下所示,这应该产生训练损失进度(默认参数,horse2zebra数据集):





./test --dataroot datasets/<dataset_name>/ --cuda
此命令将在DataRoot/Test目录下进行图像,将它们运行到发电机中,然后在输出/A和输出/B目录下保存输出。与火车一样,可以调整一些参数,例如要加载的权重,请参阅./test --help以获取更多信息。
生成的输出的示例(默认参数,Horse2zebra数据集):




该项目已根据GPL V3许可证获得许可 - 有关详细信息,请参见许可证文件。
代码基本上是Pytorch-Cyclegan和Pix2Pix的更干净且不明显的实现。全部归功于Cyclegan,Zhu,Jun-Yan和Park,Taesung和Isela,Phillip和Efros,Alexei A.的作者。