我在 google colab 中训练了我的模型,并将 .pkl 文件下载到我的计算机中。现在,我该如何使用它? 如何加载 .pkl 文件以及是否需要安装 fastai 才能正常工作?
您需要使用:
from fastbook import load_learner
learn_inference = load_learner(filename)
如何加载 .pkl 文件
learner.save
保存了模型,您可以使用补充的 learner.load
方法。
我需要安装 fastai 才能正常工作吗
是的,如果您以这种方式保存,则需要
fastai
。您还可以通过以下方式保存包含在 learner
中的 PyTorch 模型本身:
torch.save(learner.model, "/path/to/model.pt") # or save it's state_dict, better option
model = torch.load("/path/to/model.pt")
无论哪种方式,您都需要这些库,因为
pickle
存储数据,但 class
定义和创建必须以代码方式提供。
from fastai.text.all import *
learner=load_learner("YOUR-MODEL-PATH")
如果你使用的是最新版本的fastai,你可以这样做。
根据这个帖子:
learn.save 与 learn.load 配对并保存模型和潜在的优化器。 learn.export 与 load_learner 配对进行部署
这样您就可以
learn.load
仅使用 learn.save
保存的内容,例如作为训练期间的保存点(带有 Learner
的活动实例)。当您使用 learn.export
(用于部署/生产)时,您可以使用 learn = load_learner
创建一个新的学习者
就像其他人已经提到的那样,关键是使用
load_learner
但对我来说,我一直看到错误:
AttributeError: 'dict' object has no attribute 'dls'
我的解决办法是设置
cpu=False
我假设因为我最初使用cuda训练我的模型,例如load_learner('my_model.pth', cpu=False)
。
希望这有帮助!