Une implémentation Pytorch propre et lisible de Cyclegan (https://arxiv.org/abs/1703.10593)
Le code est destiné à travailler avec Python 3.6.x , il n'a pas été testé avec les versions précédentes
Suivez les instructions sur pytorch.org pour votre configuration actuelle
Pour tracer des graphiques de perte et dessiner des images dans une belle vue de navigateur Web
pip3 install visdom
Tout d'abord, vous devrez télécharger et configurer un ensemble de données. Le moyen le plus simple consiste à utiliser l'un des ensembles de données déjà existants sur le référentiel d'UC Berkeley:
./download_dataset <dataset_name>
VALID <DATASET_NAME> SONT: Apple2orange, Summer2Winter_yosemite, Horse2zebra, Monet2photo, Cezanne2photo, Ukiyoe2photo, Vangogh2photo, cartes, Cityscapes, Facades, iPhone2dslr_flower, AE_Photos
Vous pouvez également créer votre propre ensemble de données en configurant la structure du répertoire suivant:
.
├── 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
Cette commande lancera une session de formation en utilisant les images sous le répertoire Dataroot / Train avec les hyperparamètres qui ont montré les meilleurs résultats selon les auteurs de Cyclegan. Vous êtes libre de changer ces hyperparamètres, voir ./train --help pour une description de ceux-ci.
Les poids des générateurs et des discriminateurs seront enregistrés sous le répertoire de sortie.
Si vous ne possédez pas de GPU, supprimez l'option - cuda, bien que je vous conseille d'en obtenir un!
Vous pouvez également voir les progrès de la formation ainsi que les images de sortie en direct en exécutant python3 -m visdom dans un autre terminal et en ouvrant http: // localhost: 8097 / dans votre navigateur Web préféré. Cela devrait générer des progrès de la perte d'entraînement comme indiqué ci-dessous (paramètres par défaut, ensemble de données Horse2zebra):





./test --dataroot datasets/<dataset_name>/ --cuda
Cette commande prendra les images sous le répertoire Dataroot / Test , les exécutera à travers les générateurs et enregistrera la sortie sous les répertoires Output / A et Output / B. Comme pour le train, certains paramètres comme les poids à charger peuvent être modifiés, voir ./test --help pour plus d'informations.
Exemples des sorties générées (paramètres par défaut, ensemble de données Horse2zebra):




Ce projet est sous licence sous la licence GPL V3 - voir le fichier licence.md pour plus de détails
Le code est essentiellement une implémentation plus propre et moins obscurcie de Pytorch-Cyclegan-et-Pix2Pix. Tout le crédit revient aux auteurs de Cyclegan, Zhu, Jun-Yan et Park, Taesung et Isola, Phillip et Efros, Alexei A.