def main(examples, args): print('Total Number of Examples:', len(examples)) weights_file = os.path.expanduser(args.weights) print('Weights loading from:', weights_file) viz = Visualizer(padding=args.padding, input_vocab=args.human_vocab, output_vocab=args.machine_vocab) print('Loading models') pred_model = simpleNMT(trainable=False, pad_length=args.padding, n_chars=viz.input_vocab.size(), n_labels=viz.output_vocab.size()) pred_model.load_weights(weights_file, by_name=True) pred_model.compile(optimizer='adam', loss='categorical_crossentropy') proba_model = simpleNMT(trainable=False, pad_length=args.padding, n_chars=viz.input_vocab.size(), n_labels=viz.output_vocab.size(), return_probabilities=True) proba_model.load_weights(weights_file, by_name=True) proba_model.compile(optimizer='adam', loss='categorical_crossentropy') viz.set_models(pred_model, proba_model) print('Models loaded') for example in examples: viz.attention_map(example) print('Completed visualizations')
def main(examples, args): print('Total Number of Examples:', len(examples)) weights_file = os.path.expanduser(args.weights) print('Weights loading from:', weights_file) viz = Visualizer(padding=args.padding, input_vocab=args.human_vocab, output_vocab=args.machine_vocab) print('Loading models') pred_model = simpleNMT(trainable=False, pad_length=args.padding, n_chars=viz.input_vocab.size(), n_labels=viz.output_vocab.size()) pred_model.load_weights(weights_file, by_name=True) pred_model.compile(optimizer='adam', loss='categorical_crossentropy') proba_model = simpleNMT(trainable=False, pad_length=args.padding, n_chars=viz.input_vocab.size(), n_labels=viz.output_vocab.size(), return_probabilities=True) proba_model.load_weights(weights_file, by_name=True) proba_model.compile(optimizer='adam', loss='categorical_crossentropy') viz.set_models(pred_model, proba_model) print('Models loaded') for example in examples: viz.attention_map(example) print('Completed visualizations')
def main(args): os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID" # see issue #152 os.environ["CUDA_VISIBLE_DEVICES"] = args.gpu # Dataset functions input_vocab = Vocabulary('./data/human_vocab.json', padding=args.padding) output_vocab = Vocabulary('./data/machine_vocab.json', padding=args.padding) print('Loading datasets.') training = Data(args.training_data, input_vocab, output_vocab) validation = Data(args.validation_data, input_vocab, output_vocab) training.load() validation.load() training.transform() validation.transform() print('Datasets Loaded.') print('Compiling Model.') model = simpleNMT(pad_length=args.padding, n_chars=input_vocab.size(), n_labels=output_vocab.size(), embedding_learnable=False, encoder_units=256, decoder_units=256, trainable=True, return_probabilities=False) model.summary() model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy', all_acc]) print('Model Compiled.') print('Training. Ctrl+C to end early.') try: kwargs = dict(generator=training.generator(args.batch_size), steps_per_epoch=100, validation_data=validation.generator(args.batch_size), validation_steps=100, callbacks=[cp], workers=1, verbose=1, epochs=args.epochs) model.fit_generator(**kwargs) except KeyboardInterrupt as e: print('Model training stopped early.') print('Model training complete.') run_examples(model, input_vocab, output_vocab)
def main(args): os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID" # see issue #152 os.environ["CUDA_VISIBLE_DEVICES"] = args.gpu # Dataset functions input_vocab = Vocabulary('./data/human_vocab.json', padding=args.padding) output_vocab = Vocabulary('./data/machine_vocab.json', padding=args.padding) print('Loading datasets.') training = Data(args.training_data, input_vocab, output_vocab) validation = Data(args.validation_data, input_vocab, output_vocab) training.load() validation.load() training.transform() validation.transform() print('Datasets Loaded.') print('Compiling Model.') model = simpleNMT(pad_length=args.padding, n_chars=input_vocab.size(), n_labels=output_vocab.size(), embedding_learnable=False, encoder_units=256, decoder_units=256, trainable=True, return_probabilities=False) model.summary() model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy', all_acc]) print('Model Compiled.') print('Training. Ctrl+C to end early.') try: model.fit_generator(generator=training.generator(args.batch_size), steps_per_epoch=100, validation_data=validation.generator(args.batch_size), validation_steps=100, callbacks=[cp], workers=1, verbose=1, epochs=args.epochs) except KeyboardInterrupt as e: print('Model training stopped early.') print('Model training complete.') run_examples(model, input_vocab, output_vocab)