Eine saubere und lesbare Pytorch -Implementierung von Cyclegan (https://arxiv.org/abs/1703.10593)
Der Code soll mit Python 3.6.x arbeiten, er wurde nicht mit früheren Versionen getestet
Befolgen Sie die Anweisungen auf pytorch.org für Ihr aktuelles Setup
Um Verlustdiagramme zu zeichnen und Bilder in einer schönen Webbrowseransicht zu zeichnen
pip3 install visdom
Zunächst müssen Sie einen Datensatz herunterladen und einrichten. Am einfachsten besteht die Verwendung eines der bereits vorhandenen Datensätze auf dem Repository von UC Berkeley:
./download_dataset <dataset_name>
Gültig <dataset_name> sind: Apple2Orange, summer2winter_yosemite, horse2zebra, monet2photo, cezanne2photo, ukiyoe2photo, vangogh2photo, Karten, Stadtschirme, Fassaden, iPhone2DSLR_Flower, ae_photos
Alternativ können Sie Ihren eigenen Datensatz erstellen, indem Sie die folgende Verzeichnisstruktur einrichten:
.
├── 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
Dieser Befehl startet eine Trainingseinheit mit den Bildern unter dem Verzeichnis von DataRoot/Train mit den Hyperparametern, die laut Cyclegan -Autoren die besten Ergebnisse zeigten. Sie können diese Hyperparameter frei ändern, siehe ./train --help für eine Beschreibung dieser.
Sowohl Generatoren als auch Diskriminatoren werden im Ausgabeverzeichnis gespeichert.
Wenn Sie keine GPU besitzen, entfernen Sie die Option "Cuda", obwohl ich Ihnen rate, eine zu bekommen!
Sie können auch den Trainingsfortschritt sowie die Live -Ausgabebilder anzeigen, indem Sie python3 -m visdom in einem anderen Terminal ausführen und http: // localhost: 8097/in Ihrem bevorzugten Webbrowser eröffnen. Dies sollte wie unten gezeigt (Standardparamien, Horse2zebra -Datensatz) ein Trainingsverlust -Fortschritt generieren:





./test --dataroot datasets/<dataset_name>/ --cuda
Dieser Befehl nimmt die Bilder unter das DataRoot/Test -Verzeichnis auf, führt sie über die Generatoren aus und speichert die Ausgabe unter den Verzeichnissen Ausgabe/A und Ausgabe/B . Wie beim Zug können einige Parameter wie das zu laden zu laden geeignete Gewichte optimiert werden, siehe ./test --help für weitere Informationen.
Beispiele für die generierten Ausgänge (Standardparameter, Horse2zebra -Datensatz):




Dieses Projekt ist unter der GPL V3 -Lizenz lizenziert - finden Sie in der lizenz.md -Datei für Details
Der Code ist im Grunde eine sauberere und weniger verdeckte Implementierung von Pytorch-Cyclegan-und-Pix2Pix. Alle Guthaben gilt den Autoren von Cyclegan, Zhu, Jun-Yan und Park, Taesung und Isola, Phillip und Efros, Alexei A.