def main(models, source_file, nbest_file, saveto, b=80,
normalize=False, verbose=False, alignweights=False):
# load model model_options
options = []
for model in args.models:
try:
with open('%s.json' % model, 'rb') as f:
options.append(json.load(f))
except:
with open('%s.pkl' % model, 'rb') as f:
options.append(pkl.load(f))
#hacks for using old models with missing options
if not 'dropout_embedding' in options[-1]:
options[-1]['dropout_embedding'] = 0
if not 'dropout_hidden' in options[-1]:
options[-1]['dropout_hidden'] = 0
if not 'dropout_source' in options[-1]:
options[-1]['dropout_source'] = 0
if not 'dropout_target' in options[-1]:
options[-1]['dropout_target'] = 0
dictionary, dictionary_target = options[0]['dictionaries']
# load source dictionary and invert
word_dict = load_dict(dictionary)
word_idict = dict()
for kk, vv in word_dict.iteritems():
word_idict[vv] = kk
word_idict[0] = '<eos>'
word_idict[1] = 'UNK'
# load target dictionary and invert
word_dict_trg = load_dict(dictionary_target)
word_idict_trg = dict()
for kk, vv in word_dict_trg.iteritems():
word_idict_trg[vv] = kk
word_idict_trg[0] = '<eos>'
word_idict_trg[1] = 'UNK'
rescore_model(source_file, nbest_file, saveto, models, options, b, normalize, verbose, alignweights)
评论列表
文章目录