def model_fn(model_dir): arg_parser = arg.init_arg_parser() args = arg.init_config(arg_parser) args.conceptNet = 'preprocess/conceptNet' grammar = semQL.Grammar() model = IRNet(args, grammar) if args.cuda: model.cuda() print('load pretrained model from %s' % (model_dir)) pretrained_model = torch.load(model_dir, map_location=lambda storage, loc: storage) import copy pretrained_modeled = copy.deepcopy(pretrained_model) for k in pretrained_model.keys(): if k not in model.state_dict().keys(): del pretrained_modeled[k] model.load_state_dict(pretrained_modeled) model.word_emb = utils.load_word_emb(args.glove_embed_path) #with open(args.table_path, 'r', encoding='utf8') as f: # table_datas = json.load(f) #tables = load_tables(table_datas) return Model(args, model)
model = IRNet(args, grammar) if args.cuda: model.cuda() print('load pretrained model from %s'% (args.load_model)) pretrained_model = torch.load(args.load_model, map_location=lambda storage, loc: storage) import copy pretrained_modeled = copy.deepcopy(pretrained_model) for k in pretrained_model.keys(): if k not in model.state_dict().keys(): del pretrained_modeled[k] model.load_state_dict(pretrained_modeled) model.word_emb = utils.load_word_emb(args.glove_embed_path) json_datas, sketch_acc, acc = utils.epoch_acc(model, args.batch_size, val_sql_data, val_table_data, beam_size=args.beam_size) print('Sketch Acc: %f, Acc: %f' % (sketch_acc, acc)) # utils.eval_acc(json_datas, val_sql_data) import json with open('./predict_lf.json', 'w') as f: json.dump(json_datas, f) if __name__ == '__main__': arg_parser = arg.init_arg_parser() args = arg.init_config(arg_parser) print(args) evaluate(args)