wwjjy

Results 4 comments of wwjjy

我使用如下的方式来调用save_inference_model来保存预测模型,但是有报错 `export FLAGS_eager_delete_tensor_gb=0.0 ` `cd work/transformer/ && python -u main.py \ --do_save_inference_model True \ --src_vocab_fpath ../../gen_data/wmt16_ende_data_bpe_clean/vocab_all.bpe.32000 \ --trg_vocab_fpath ../../gen_data/wmt16_ende_data_bpe_clean/vocab_all.bpe.32000 \ --special_token '' '' '' \ --init_from_params trained_params/latest_checkpoint \ --beam_size 5...

这个main函数有do_train、do__predict和do_save_inference_model三种参数,我看do_save_inference_model这个应该是用来保存模型的吧,init_from_params指向的是训练好的参数,就是先加载已经训练好的参数,然后save_inference_model。现在应该是在加载参数的时候就报错了

你看一下 inference_model.py 就理解我的意思了,这里面就是先用fluid.io.load_params加载模型 然后 在用fluid.io.save_inference_model 来保存模型的一个过程,没有训练也没有预测

@guoshengCS 这里我加了,我觉得train里面的方法太繁琐了,我是这样加的,目前跑下来没有问题,代码如下,求帮忙看下,这样有问题吗? ` src_vocab = reader.DataProcessor.load_dict(args.src_vocab_fpath)` ` trg_vocab = reader.DataProcessor.load_dict(args.trg_vocab_fpath)` ` # print(len(src_vocab))` ` args.src_vocab_size = len(src_vocab)` ` args.trg_vocab_size = len(trg_vocab)` 还有就是这个save_inference_model 产出的模型,如何加载进来使用呢?我仿照predict.py写的,主要是将https://github.com/PaddlePaddle/models/blob/1078acc2054807b6a0d65a3716bc90a7d1f1443c/PaddleNLP/PaddleMT/transformer/predict.py#L182 这里的test_prog换为使用load_inference_model加载的形式,而不是实例化一个新的网络结构然后加载参数的方法,但是目前代码还会报错,请问这里需要怎么使用呢?有参考脚本吗?