Code pour la formation et l'évaluation du modèle de "Génération de langues avec des réseaux adversaires génératifs récurrents sans pré-formation".
Un court résumé du journal est disponible ici.
" 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
Pour commencer à former le modèle CL + VL + TH, téléchargez d'abord l'ensemble de données, disponible sur http://www.statmt.org/lm-benchmark/, et extraire dans le répertoire ./data .
Utilisez ensuite la commande suivante:
python curriculum_training.py
Les forfaits suivants sont nécessaires:
Les paramètres suivants peuvent être configurés:
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)
Les paramètres peuvent être définis en modifiant leur valeur dans le fichier de configuration ou en les transmettant dans le terminal:
python curriculum_training.py --START_SEQ=1 --END_SEQ=32
Le script generate.py générera des échantillons BATCH_SIZE à l'aide d'un modèle enregistré. Il doit être exécuté en utilisant les paramètres utilisés pour former le modèle (s'ils sont différents des valeurs par défaut). Par exemple:
python generate.py --CKPT_PATH=/path/to/checkpoint/seq-32/ckp --DISC_GRU_LAYERS=2 --GEN_GRU_LAYERS=2
(Si votre modèle n'a pas atteint l'étape 32 dans le programme, assurez-vous de modifier le «32» dans le chemin ci-dessus vers l'étape maximale du programme sur lequel votre modèle a formé.)
Pour évaluer les échantillons à l'aide de nos métriques% -in-test-n, utilisez la commande suivante, liant à un fichier txt où chaque ligne est un échantillon:
python evaluate.py --INPUT_SAMPLE=/path/to/samples.txt
Si vous avez trouvé ce code utile, veuillez citer l'article suivant:
@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}
}
Ce référentiel est basé sur le code publié dans l'amélioration de la formation de Wasserstein Gans.