in sentiment/train.js [87:158]
function parseArguments() {
const parser = new ArgumentParser(
{description: 'Train a model for IMDB sentiment analysis'});
parser.addArgument('modelType', {
type: 'string',
optionStrings: [
'multihot', 'flatten', 'cnn', 'simpleRNN', 'lstm', 'bidirectionalLSTM'],
help: 'Model type'
});
parser.addArgument('--numWords', {
type: 'int',
defaultValue: 10000,
help: 'Number of words in the vocabulary'
});
parser.addArgument('--maxLen', {
type: 'int',
defaultValue: 100,
help: 'Maximum sentence length in number of words. ' +
'Shorter sentences will be padded; longers ones will be truncated.'
});
parser.addArgument('--embeddingSize', {
type: 'int',
defaultValue: 128,
help: 'Number of word embedding dimensions'
});
parser.addArgument(
'--gpu', {action: 'storeTrue', help: 'Use GPU for training'});
parser.addArgument('--optimizer', {
type: 'string',
defaultValue: 'adam',
help: 'Optimizer to be used for model training'
});
parser.addArgument(
'--epochs',
{type: 'int', defaultValue: 10, help: 'Number of training epochs'});
parser.addArgument(
'--batchSize',
{type: 'int', defaultValue: 128, help: 'Batch size for training'});
parser.addArgument('--validationSplit', {
type: 'float',
defaultValue: 0.2,
help: 'Validation split for training'
});
parser.addArgument('--modelSaveDir', {
type: 'string',
defaultValue: 'dist/resources',
help: 'Optional path for model saving.'
});
parser.addArgument('--embeddingFilesPrefix', {
type: 'string',
defaultValue: '',
help: 'Optional path prefix for saving embedding files that ' +
'can be loaded in the Embedding Projector ' +
'(https://projector.tensorflow.org/). For example, if this flag ' +
'is configured to the value /tmp/embed, then the embedding vectors ' +
'file will be written to /tmp/embed_vectors.tsv and the labels ' +
'file will be written to /tmp/embed_label.tsv'
});
parser.addArgument('--logDir', {
type: 'string',
help: 'Optional tensorboard log directory, to which the loss and ' +
'accuracy will be logged during model training.'
});
parser.addArgument('--logUpdateFreq', {
type: 'string',
defaultValue: 'batch',
optionStrings: ['batch', 'epoch'],
help: 'Frequency at which the loss and accuracy will be logged to ' +
'tensorboard.'
});
return parser.parseArgs();
}