在 Hugging Face 中使用 AllenNLP
allennlp
是一个用于在不同语言任务上开发最先进模型的 NLP 库。它为现代 NLP 中的常用组件和模型提供了高级抽象和 API。它还提供了一个可扩展的框架,使运行和管理 NLP 实验变得容易。
在 Hub 中探索 allennlp
您可以在 Hub 上通过筛选 模型页面 左侧找到 allennlp
模型。
Hub 上的所有模型都附带了有用的功能
- 带有自动托管的 TensorBoard 跟踪的训练指标选项卡。
- 有助于发现的元数据标签。
- 一个交互式小部件,您可以直接在浏览器中使用它来试用模型。
- 一个推理 API,允许进行推理请求。
使用现有模型
您可以使用 Predictor
类加载 Hub 上的现有模型。为此,请使用 from_path
方法并使用 "hf://"
前缀以及存储库 ID。以下是一个端到端示例。
import allennlp_models
from allennlp.predictors.predictor import Predictor
predictor = Predictor.from_path("hf://allenai/bidaf-elmo")
predictor_input = {
"passage": "My name is Wolfgang and I live in Berlin",
"question": "Where do I live?"
}
predictions = predictor.predict_json(predictor_input)
要获取这样的代码片段,您可以在右上角点击 在 AllenNLP 中使用
,
分享您的模型
第一步是将模型保存在本地。例如,您可以使用 archive_model
方法将模型保存为 model.tar.gz
文件。然后,您可以将压缩的模型推送到 Hub。当您使用 allennlp
训练模型时,模型会自动序列化,因此您可以将其用作首选选项。
使用 AllenNLP CLI
要使用 CLI 推送,您可以使用如下所示的 allennlp push_to_hf
命令。
allennlp push_to_hf --repo_name test_allennlp --archive_path model
参数 | 类型 | 描述 |
---|---|---|
--repo_name , -n | str / 路径 | Hub 上的仓库名称。 |
--organization , -o | str | 要上传管道的组织的可选名称。 |
--serialization-dir , -s | str / 路径 | 包含序列化模型的目录路径。 |
--archive-path , -a | str / 路径 | 如果您使用的是压缩模型(例如 model/model.tar.gz)而不是序列化路径,则可以使用此标志。 |
--local-repo-path , -l | str / 路径 | 模型仓库的本地路径(如果不存在则会创建)。默认为当前工作目录中的 hub 。 |
--commit-message , -c | str | 用于更新的提交消息。默认为 "update repository" 。 |
从 Python 脚本
push_to_hf
函数与 bash 脚本具有相同的参数。
from allennlp.common.push_to_hf import push_to_hf
serialization_dir = "path/to/serialization/directory"
push_to_hf(
repo_name="my_repo_name",
serialization_dir=serialization_dir,
local_repo_path=self.local_repo_path
)
只需一分钟,您就可以将模型发布到 Hub,直接在浏览器中试用它,并与社区其他成员共享。所有必需的元数据都将为您上传!