如何使用fastai保存的模型?

问题描述 投票:0回答:5

我在 google colab 中训练了我的模型,并将 .pkl 文件下载到我的计算机中。现在,我该如何使用它? 如何加载 .pkl 文件以及是否需要安装 fastai 才能正常工作?

pytorch fast-ai
5个回答
2
投票

您需要使用:

from fastbook import load_learner

learn_inference = load_learner(filename)

参见:https://docs.fast.ai/learner.html#load_learner 获取文档。


1
投票

如何加载 .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
定义和创建必须以代码方式提供。


1
投票
from fastai.text.all import * 
learner=load_learner("YOUR-MODEL-PATH")

如果你使用的是最新版本的fastai,你可以这样做。


0
投票

根据这个帖子

learn.save 与 learn.load 配对并保存模型和潜在的优化器。 learn.export 与 load_learner 配对进行部署

这样您就可以

learn.load
仅使用
learn.save
保存的内容,例如作为训练期间的保存点(带有
Learner
的活动实例)。当您使用
learn.export
(用于部署/生产)时,您可以使用
learn = load_learner

创建一个新的学习者

0
投票

就像其他人已经提到的那样,关键是使用

load_learner
但对我来说,我一直看到错误:

AttributeError: 'dict' object has no attribute 'dls'

我的解决办法是设置

cpu=False
我假设因为我最初使用cuda训练我的模型,例如
load_learner('my_model.pth', cpu=False)

希望这有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.