if __name__ == '__main__': parser = argparse.ArgumentParser(description='TRAIN') parser.add_argument('--num', type=int) parser.add_argument('--embed', type=int) parser.add_argument('--units', type=int) parser.add_argument('--epoch', type=int) parser.add_argument('--gpu', type=int) parser.add_argument('--save', type=str) parser.add_argument('--batch', type=int, default=2) args = parser.parse_args() gpu_config(args.gpu) model, (train_x, train_y), (test_x, test_y) = bilstm_crf_model.create_model( args.embed, args.units) # used for multi checkpoints to vote #filepath = args.save+'/weights-improvement-{epoch:02d}-{val_acc:.4f}.h5' # only get the best single model filepath = args.save + '/model.h5' checkpoint = ModelCheckpoint(filepath, monitor='val_acc', verbose=1, save_best_only=True, mode='max') model.fit(train_x, train_y, batch_size=args.batch,
len(predict_text)) raw = model.predict(str_)[0][-length:] result = [np.argmax(row) for row in raw] result_tags = [chunk_tags[i] for i in result] savefile(tag_data, result_tags, predict_text) if __name__ == '__main__': parser = argparse.ArgumentParser(description='VAL') parser.add_argument('--num', type=int) parser.add_argument('--embed', type=int) parser.add_argument('--units', type=int) parser.add_argument('--gpu', type=int) args = parser.parse_args() gpu_config(args.gpu) # load model model_dir = 'expr/' + str(args.num) + '/model.h5' model, (word2idx, chunk_tags) = bilstm_crf_model.create_model(args.embed, args.units, train=False) model.load_weights(model_dir) test_dir = 'data/raw/test/' submit_dir = 'data/raw/submit/' #test(test_dir, submit_dir, model,word2idx, chunk_tags) txt_data = 'data/raw/local_test/152_6.txt' tag_data = 'data/raw/local_test/152_6.ann' local_test(txt_data, tag_data, model, word2idx, chunk_tags)