Hub 文档

在 Hugging Face Hub 上使用 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 方法,并使用 "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)

要获取此类代码片段,您可以单击右上角的 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 字符串 要上传管道到的组织的可选名称。
--serialization-dir, -s str / Path 包含序列化模型的目录路径。
--archive-path, -a str / Path 如果您使用的是压缩模型(例如 model/model.tar.gz),而不是序列化路径,则可以使用此标志。
--local-repo-path, -l str / Path 模型仓库的本地路径(如果不存在则会创建)。默认为当前工作目录中的 hub
--commit-message, -c 字符串 用于更新的提交消息。默认为 "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,直接在浏览器中试用,并与社区其他成员分享。所有必需的元数据都将为您上传!

其他资源

< > 在 GitHub 上更新