Hub 文档

在 Hugging Face 上使用 AllenNLP

Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

在 Hugging Face 上使用 AllenNLP

allennlp 是一个 NLP 库,用于在不同的语言任务上开发最先进的模型。它为现代 NLP 中的常见组件和模型提供高级抽象和 API。它还提供了一个可扩展的框架,可以轻松运行和管理 NLP 实验。

在 Hub 中探索 allennlp

你可以在 Hub 的模型页面左侧通过筛选找到 allennlp 模型。

Hub 上的所有模型都带有有用的功能

  1. 一个带有自动托管 TensorBoard 跟踪的训练指标标签页。
  2. 有助于发现的元数据标签。
  3. 一个交互式小部件,你可以使用它直接在浏览器中试用模型。
  4. 一个允许发出推理请求的推理 API。

使用现有模型

你可以使用 Predictor 类来加载 Hub 上的现有模型。为此,请使用 from_path 方法,并在仓库 ID 前加上 "hf://" 前缀。这是一个端到端的示例。

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)

要获得这样的代码片段,你可以点击右上角的 “Use in 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 / Path Hub 上仓库的名称。
--organization, -o str 可选的组织名称,管道应上传到该组织。
--serialization-dir, -s str / Path 包含序列化模型的目录路径。
--archive-path, -a str / Path 如果你使用的是压缩模型(例如 model/model.tar.gz)而不是序列化路径,则可以使用此标志。
--local-repo-path, -l str / Path 模型仓库的本地路径(如果不存在将创建)。默认为当前工作目录中的 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,直接在浏览器中试用,并与社区的其他成员分享。所有必需的元数据都将为你上传!

额外资源

  • AllenNLP 网站。
  • AllenNLP 仓库。
< > 在 GitHub 上更新