def create_output_handlers(): """Creates the output handlers defined in the ``io`` module. These handlers create output files in different formats from the decoding results. Args: args: Global command line arguments. Returns: list. List of output handlers according --outputs """ if not args.outputs: return [] trg_map = {} if utils.trg_cmap else utils.trg_wmap outputs = [] start_sen_id = 0 if args.range: idx, _ = args.range.split(":") start_sen_id = int(idx) - 1 # -1 because --range indices start with 1 for name in utils.split_comma(args.outputs): if '%s' in args.output_path: path = args.output_path % name else: path = args.output_path if name == "text": outputs.append(TextOutputHandler(path, trg_map)) elif name == "delay": outputs.append(DelayOutputHandler(path)) elif name == "nbest": outputs.append( NBestOutputHandler(path, utils.split_comma(args.predictors), start_sen_id, trg_map)) elif name == "ngram": outputs.append( NgramOutputHandler(path, args.min_ngram_order, args.max_ngram_order, start_sen_id)) elif name == "timecsv": outputs.append( TimeCSVOutputHandler(path, utils.split_comma(args.predictors), start_sen_id)) elif name == "fst": outputs.append( FSTOutputHandler(path, start_sen_id, args.fst_unk_id)) elif name == "sfst": outputs.append( StandardFSTOutputHandler(path, start_sen_id, args.fst_unk_id)) else: logging.fatal("Output format %s not available. Please double-check" " the --outputs parameter." % name) return outputs
def create_output_handlers(): """Creates the output handlers defined in the ``io`` module. These handlers create output files in different formats from the decoding results. Args: args: Global command line arguments. Returns: list. List of output handlers according --outputs """ if not args.outputs: return [] outputs = [] for name in utils.split_comma(args.outputs): if '%s' in args.output_path: path = args.output_path % name else: path = args.output_path if name == "text": outputs.append(TextOutputHandler(path)) elif name == "nbest": outputs.append(NBestOutputHandler(path, utils.split_comma(args.predictors))) elif name == "ngram": outputs.append(NgramOutputHandler(path, args.min_ngram_order, args.max_ngram_order)) elif name == "timecsv": outputs.append(TimeCSVOutputHandler(path, utils.split_comma(args.predictors))) elif name == "fst": outputs.append(FSTOutputHandler(path, args.fst_unk_id)) elif name == "sfst": outputs.append(StandardFSTOutputHandler(path, args.fst_unk_id)) else: logging.fatal("Output format %s not available. Please double-check" " the --outputs parameter." % name) return outputs
def create_output_handlers(): """Creates the output handlers defined in the ``io`` module. These handlers create output files in different formats from the decoding results. This method reads out the global variable ``args.outputs``. Returns: list. List of output handlers according --outputs """ if not args.outputs: return [] trg_map = {} if utils.trg_cmap else utils.trg_wmap outputs = [] start_sen_id = 0 if args.range: idx,_ = args.range.split(":") start_sen_id = int(idx)-1 # -1 because --range indices start with 1 for name in args.outputs.split(","): if '%s' in args.output_path: path = args.output_path % name else: path = args.output_path if name == "text": outputs.append(TextOutputHandler(path, trg_map)) elif name == "nbest": outputs.append(NBestOutputHandler(path, args.predictors.split(","), start_sen_id, trg_map)) elif name == "fst": outputs.append(FSTOutputHandler(path, start_sen_id, args.fst_unk_id)) elif name == "sfst": outputs.append(StandardFSTOutputHandler(path, start_sen_id, args.fst_unk_id)) else: logging.fatal("Output format %s not available. Please double-check" " the --outputs parameter." % name) return outputs