Воспроизведение ICLR – это серия кратких руководств по запуску кода, представленных на ICLR в Ванкувере, Британская Колумбия.

AmbientGAN: генеративные модели на основе измерений с потерями. Ашиш Бора, Эрик Прайс, Александрос Г. Димакис. OpenReview, GitHub.

Эта статья и устная презентация представляют AmbientGAN, новый метод изучения неявной генеративной модели исключительно на основе измерений интересующего распределения с потерями. Код статьи доступен на GitHub, так что давайте попробуем!

Во-первых, нам нужно клонировать репозиторий.

$ git clone https://github.com/AshishBora/ambient-gan.git

Затем нам нужно обучить модель вывода на MNIST для вычисления начальной оценки.

$ cd ./src/mnist/inf
$ spell run -t K80 python2 train.py

Вы увидите, что при этом сохраняются каталоги ckpt и data, которые впоследствии будут смонтированы для предоставления модели вывода.

...
step 19996, training accuracy 1.0
step 19997, training accuracy 1.0
step 19998, training accuracy 1.0
step 19999, training accuracy 1.0
Test accuracy = 0.992100000381
✨ Run is saving
Retrieving modified or new files from the run
Saving 'src/mnist/inf/basic_utils.pyc'
Saving 'src/mnist/inf/ckpt'
Saving 'src/mnist/inf/data'
Saving 'src/mnist/inf/model_def.pyc'
Saving 'src/mnist/inf/utils.pyc'
Compressing saved files
✨ Run is pushing
Saving build environment for future runs
✨ Total run time: 5m11.773634s
✨ Run 1713 complete

Теперь мы можем проводить эксперименты с бумагой. Нам нужно указать несколько программных зависимостей (аргументы --pip, --apt и --python2), смонтировать наборы данных CIFAR-10 и CelebA, а также модель вывода MNIST из предыдущего прогона (аргументы -m — обязательно замените 1713 на свой прогон ID из предыдущего шага) и запустите авторский скрипт, чтобы создать обучающие скрипты и начать обучение.

$ cd ../../..
$ spell run -t K80 --python2 \
 --apt python-tk --pip matplotlib --pip cvxpy --pip tqdm \
 -m public/image/cifar-10-python:data/cifar10/cifar-10-batches-py \ 
 -m public/face/CelebA:data/celebA \
 -m runs/1713/src/mnist/inf/ckpt:src/mnist/inf/ckpt \
 -m runs/1713/src/mnist/inf/data:src/mnist/inf/data \
 './create_scripts/create_scripts.sh \ 
 && ./run_scripts/run_sequentially.sh'

Сначала вы увидите ряд сгенерированных сценариев, соответствующих различным экспериментам, представленным в документе, для различных наборов данных и моделей измерения (например, Keep-Patch, Extract-Patch, Convolve+Noise). Каждый скрипт будет обучаться последовательно.

После запуска вы можете получить все результаты из каталога results, созданного сценариями (замените 1750 на ваш идентификатор запуска из предыдущего шага).

$ spell cp runs/1750/results

И там у нас есть все результаты обученных GAN. Вы также можете получить только интересующий вас эксперимент, указав определенный подкаталог каталога results.

Если вы хотите попробовать Ambient GAN на других наборах данных, вы можете зарегистрировать учетную запись Spell и установить cli, используя pip install spell .

Первоначально опубликовано на medium.com.