#! /usr/bin/env python3 import sys import os import argparse import Train import Decode ################################################################################ if __name__ == "__main__" : parser = argparse.ArgumentParser() parser.add_argument("mode", type=str, help="What to do : train | decode") parser.add_argument("type", type=str, help="Type of train or decode. random | oracle") parser.add_argument("corpus", type=str, help="Name of the CoNLL-U file. Train file for train mode and input file for decode mode.") parser.add_argument("model", type=str, help="Path to the model directory.") parser.add_argument("--iter", "-n", default=5, help="Number of training epoch.") parser.add_argument("--batchSize", default=64, help="Size of each batch.") parser.add_argument("--dev", default=None, help="Name of the CoNLL-U file of the dev corpus.") parser.add_argument("--debug", "-d", default=False, action="store_true", help="Print debug infos on stderr.") parser.add_argument("--silent", "-s", default=False, action="store_true", help="Don't print advancement infos.") args = parser.parse_args() os.makedirs(args.model, exist_ok=True) if args.mode == "train" : Train.trainMode(args.debug, args.corpus, args.type, args.model, int(args.iter), int(args.batchSize), args.dev, args.silent) elif args.mode == "decode" : Decode.decodeMode(args.debug, args.corpus, args.type, args.model) else : print("ERROR : unknown mode '%s'"%args.mode, file=sys.stderr) exit(1) ################################################################################