fast.ai¶
关于此页
这是关于如何在 BentoML 中使用 FastAI 的 API 参考。有关如何在 BentoML 中使用 FastAI 的更多信息,请参阅 fastai 指南。
- bentoml.fastai.save_model(name: Tag | str, learner_: learner.Learner, *, signatures: ModelSignaturesType | None = None, labels: dict[str, str] | None = None, custom_objects: dict[str, t.Any] | None = None, external_modules: t.List[ModuleType] | None = None, metadata: dict[str, t.Any] | None = None) bentoml.Model ¶
将
fastai.learner.Learner
模型实例保存到 BentoML 模型仓库。如果
save_model()
方法在保存给定的学习器时失败,您的学习器可能包含一个无法 pickle 化的Callback
。所有 FastAI 回调都是有状态的,这使得其中一些无法 pickle 化。使用Learner.remove_cbs()
来移除无法 pickle 化的回调。- 参数:
name – 在 BentoML 仓库中给模型命名的名称。这必须是一个有效的
Tag
名称。learner – 要保存的
Learner
。signatures – 要使用的预测方法的签名。如果未提供,签名默认为
predict
。有关更多详情,请参阅ModelSignature
。labels – 与模型关联的一组默认管理标签。例如:
{"training-set": "data-1"}
。custom_objects – 要与模型一起保存的自定义对象。例如:
{"my-normalizer": normalizer}
。自定义对象目前使用 cloudpickle 序列化,但此实现可能会更改。external_modules (
List[ModuleType]
, 可选,默认为None
) – 用户定义的额外 Python 模块,与模型或自定义对象一起保存,例如分词器模块、预处理器模块、模型配置模块metadata – 与模型关联的元数据。例如:
{"bias": 4}
。元数据旨在用于模型管理 UI 中的显示,因此必须是默认的 Python 类型,例如str
或int
。
- 返回值:
可用于从 BentoML 模型仓库访问已保存模型的标签。
- 返回类型:
Tag
示例
from fastai.metrics import accuracy from fastai.text.data import URLs from fastai.text.data import untar_data from fastai.text.data import TextDataLoaders from fastai.text.models import AWD_LSTM from fastai.text.learner import text_classifier_learner dls = TextDataLoaders.from_folder(untar_data(URLs.IMDB), valid="test") learner = text_classifier_learner(dls, AWD_LSTM, drop_mult=0.5, metrics=accuracy) learner.fine_tune(4, 1e-2) # Test run the model learner.model.eval() learner.predict("I love that movie!") # `Save` the model with BentoML tag = bentoml.fastai.save_model("fai_learner", learner)
- bentoml.fastai.load_model(bento_model: str | Tag | bentoml.Model) learner.Learner ¶
从本地 BentoML 模型仓库加载具有给定标签的
fastai.learner.Learner
模型实例。如果模型使用
mixed_precision
,则加载的模型也将转换为 FP32。了解更多关于 混合精度 的信息。- 参数:
bento_model – 要从仓库获取的模型标签,或用于加载模型的 BentoML ~bentoml.Model 实例。
- 返回值:
从模型仓库或 BentoML
Model
加载的fastai.learner.Learner
模型实例。- 返回类型:
fastai.learner.Learner
示例
import bentoml model = bentoml.fastai.load_model("fai_learner") results = model.predict("some input")