如何释放推理和加载模型?

时间:2019-01-30 23:28:20

标签: pickle torch

我有一个工作代码,可以简单地加载推断模型。现在,它不会破坏模型

    MODEL_PATH = "./encoder/infersent1.pkl" 
    params_model = {'bsize': 64, 'word_emb_dim': 300, 'enc_lstm_dim': 2048,
                'pool_type': 'max', 'dpout_model': 0.0, 'version': 
    model_version}
    inferSent = InferSent(params_model)
    print(MODEL_PATH)
    inferSent.load_state_dict(torch.load(MODEL_PATH))

use_cuda = False
inferSent = inferSent.cuda() if use_cuda else inferSent
# If infersent1 -> use GloVe embeddings. If infersent2 -> use InferSent 
embeddings.
W2V_PATH = './dataset/GloVe/glove.840B.300d.txt' if model_version == 1 else 
'../dataset/fastText/crawl-300d-2M.vec'
inferSent.set_w2v_path(W2V_PATH)

UnpicklingError:无效的加载键“ <”。

1 个答案:

答案 0 :(得分:0)

此问题的原因是您的泡菜文件没有正确下载。 检查文件的大小,它应该大约为160 MB。由于某些原因,推断存储库中的链接不起作用。您可以使用存储库中提供的train_nli.py脚本来构建自己的NLI模型。 python train_nli.py --word_emb_path'您的单词嵌入(例如GloVe / fastText)'