Код для обучения и оценки модели из «генерации языка с повторяющимися генеративными состязательными сетями без предварительного обучения».
Короткое резюме бумаги доступна здесь.
" There has been to be a place w
On Friday , the stories in Kapac
From should be taken to make it
He is conference for the first t
For a lost good talks to ever ti
Чтобы начать обучение модели CL+VL+TH, сначала загрузите набор данных, доступный по адресу http://www.statmt.org/lm-benchmark/ и извлеките его в каталог ./data .
Затем используйте следующую команду:
python curriculum_training.py
Требуются следующие пакеты:
Можно настроить следующие параметры:
LOGS_DIR: Path to save model checkpoints and samples during training (defaults to './logs/')
DATA_DIR: Path to load the data from (defaults to './data/1-billion-word-language-modeling-benchmark-r13output/')
CKPT_PATH: Path to checkpoint file when restoring a saved model
BATCH_SIZE: Size of batch (defaults to 64)
CRITIC_ITERS: Number of iterations for the discriminator (defaults to 10)
GEN_ITERS: Number of iterations for the geneartor (defaults to 50)
MAX_N_EXAMPLES: Number of samples to load from dataset (defaults to 10000000)
GENERATOR_MODEL: Name of generator model (currently only 'Generator_GRU_CL_VL_TH' is available)
DISCRIMINATOR_MODEL: Name of discriminator model (currently only 'Discriminator_GRU' is available)
PICKLE_PATH: Path to PKL directory to hold cached pickle files (defaults to './pkl')
ITERATIONS_PER_SEQ_LENGTH: Number of iterations to run per each sequence length in the curriculum training (defaults to 15000)
NOISE_STDEV: Standard deviation for the noise vector (defaults to 10.0)
DISC_STATE_SIZE: Discriminator GRU state size (defaults to 512)
GEN_STATE_SIZE: Genarator GRU state size (defaults to 512)
TRAIN_FROM_CKPT: Boolean, set to True to restore from checkpoint (defaults to False)
GEN_GRU_LAYERS: Number of GRU layers for the genarator (defaults to 1)
DISC_GRU_LAYERS: Number of GRU layers for the discriminator (defaults to 1)
START_SEQ: Sequence length to start the curriculum learning with (defaults to 1)
END_SEQ: Sequence length to end the curriculum learning with (defaults to 32)
SAVE_CHECKPOINTS_EVERY: Save checkpoint every # steps (defaults to 25000)
LIMIT_BATCH: Boolean that indicates whether to limit the batch size (defaults to true)
Параметры могут быть установлены либо путем изменения их значения в файле конфигурации, либо передавая их в терминал:
python curriculum_training.py --START_SEQ=1 --END_SEQ=32
Сценарий generate.py будет генерировать образцы BATCH_SIZE с использованием сохраненной модели. Его следует запускать с помощью параметров, используемых для обучения модели (если они отличаются от значений по умолчанию). Например:
python generate.py --CKPT_PATH=/path/to/checkpoint/seq-32/ckp --DISC_GRU_LAYERS=2 --GEN_GRU_LAYERS=2
(Если ваша модель не достигла стадии 32 в учебной программе, обязательно измените «32» на пути выше на максимальную стадию в учебной программе, на которой обучалась ваша модель.)
Чтобы оценить образцы, используя наши метрики %-in-test-n, используйте следующую команду, ссылаясь на файл TXT, где каждая строка является образцом:
python evaluate.py --INPUT_SAMPLE=/path/to/samples.txt
Если вы нашли этот код полезным, пожалуйста, укажите следующую статью:
@article{press2017language,
title={Language Generation with Recurrent Generative Adversarial Networks without Pre-training},
author={Press, Ofir and Bar, Amir and Bogin, Ben and Berant, Jonathan and Wolf, Lior},
journal={arXiv preprint arXiv:1706.01399},
year={2017}
}
Этот репозиторий основан на коде, опубликованном в улучшенном обучении Wasserstein Gans.