geek-ai / Texygen

A text generation benchmarking platform
MIT License
863 stars 203 forks source link

CLI args #24

Open BrandonLMorris opened 6 years ago

BrandonLMorris commented 6 years ago

Motivation

Out of the box, LeakGAN does not work when specified through main.py. Instead, an error occurs that TensorFlow flags doesn't know how to parse argument 'g'. This is due to the fact that main.py parses arguments with getopt, but the LeakGAN constructor uses tf.app.flags.

Changes

To get LeakGAN to work properly, I modified main.py to also utilize tf.app.flags. Since these flags are intended to be global and distributed, it's perfectly legal to have flags specified in different parts of the system (i.e. LeakGAN specific args only in the LeakGAN constructor). The overall functionality is identical, with the exception that main.py args need to use their longform version (e.g. --gan_type instead of just -g).

Additionally, I factored out the definitions of the test_file, oracle_file, and generator_file to the Gan class (since they were used by every GAN type), and made them able to be specified by CLI args as well.

hija commented 6 years ago

Additionally, this fixes a bug in the current implementation, in which the -h command states, that you should use "-t realdata", while it's "-t real" instead.

liyzcj commented 5 years ago

the args defined in leakGan's constructer can not be use as this method.