Чистая и читаемая внедрение Pytorch Cyclegan (https://arxiv.org/abs/1703.10593)
Код предназначен для работы с Python 3.6.x , он не был протестирован с предыдущими версиями
Следуйте инструкциям на pytorch.org для вашей текущей настройки
Для графиков потери и рисовать изображения в хорошем представлении веб -браузера
pip3 install visdom
Во -первых, вам нужно будет загрузить и настроить набор данных. Самый простой способ - использовать один из уже существующих наборов данных в репозитории Калифорнийского университета в Беркли:
./download_dataset <dataset_name>
Действительно <taSet_name>: Apple2orange, Summer2winter_yosemite, Horse2zebra, Monet2photo, Cezanne2photo, ukiyoe2photo, vangogh2photo, карты, городские пейзажи, фасады, iPhone2dslr_flower, 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
Веса генераторы и дискриминаторы будут сохранены в результате выходного каталога.
Если у вас нет графического процессора, удалите вариант -Cuda, хотя я советую вам получить его!
Вы также можете просмотреть прогресс в обучении, а также изображения в прямом эфире, запустив python3 -m visdom в другом терминале и открыв http: // localhost: 8097/в вашем любимом веб -браузере. Это должно генерировать прогресс на обучение потерь, как показано ниже (Params по умолчанию, набор данных Horse2zebra):





./test --dataroot datasets/<dataset_name>/ --cuda
Эта команда будет принимать изображения под каталогом DataRoot/Test , запустить их через генераторы и сохранить вывод в каталогах Output/A и Output/B . Как и в случае с поездом, некоторые параметры, такие как веса для загрузки, могут быть настроены, см ./test --help для получения дополнительной информации.
Примеры сгенерированных выходов (параметры по умолчанию, набор данных Horse2zebra):




Этот проект лицензирован по лицензии GPL V3 - см. Файл License.md для получения подробной информации
Код в основном является более чистой и менее скрытой реализацией Pytorch-Cyclegan-and-Pix2pix. Все кредиты достаются авторам Cyclegan, Zhu, Jun-Yan и Park, Taesung и Isola, Phillip и Efros, Alexei A.