Skip to main content

基于 PyTorch 构建的开源 NLP 研究库。

项目描述

构建状态 编解码器

基于PyTorch 构建的Apache 2.0 NLP 研究库,用于在各种语言任务上开发最先进的深度学习模型。

快速链接

包装概述

艾伦普 基于 PyTorch 构建的开源 NLP 研究库
allennlp.commands CLI 和 Web 服务的功能
allennlp.data 一个数据处理模块,用于加载数据集并将字符串编码为整数以在矩阵中表示
allennlp.models 一系列最先进的模型
allennlp.modules 用于文本的 PyTorch 模块集合
allennlp.nn 张量效用函数,例如初始化器和激活函数
allennlp.training 训练模型的功能

安装

AllenNLP 需要 Python 3.6.1 或更高版本。安装 AllenNLP 的首选方法是通过pip. 只需pip install allennlp在您的 Python 环境中运行,您就可以开始了!

如果您需要有关设置适当 Python 环境的指导或想使用不同的方法安装 AllenNLP,请参见下文。

Windows 目前不受官方支持,尽管我们会尝试在问题容易解决时修复它们。

通过 pip 安装

设置虚拟环境

Conda可用于设置具有 AllenNLP 所需的 Python 版本的虚拟环境。如果您已经有了要使用的 Python 3.6 或 3.7 环境,则可以跳到“通过 pip 安装”部分。

  1. 下载并安装康达

  2. 使用 Python 3.7 创建 Conda 环境

    conda create -n allennlp python=3.7
    
  3. 激活 Conda 环境。您需要在要使用 AllenNLP 的每个终端中激活 Conda 环境。

    conda activate allennlp
    

安装库和依赖项

安装库和依赖项很简单,使用pip.

pip install allennlp

而已!您现在已准备好构建和训练 AllenNLP 模型。AllenNLP 会在您安装 python 包时安装一个脚本,这意味着您只需allennlp在终端中输入即可运行 allennlp 命令。

您现在可以使用allennlp test-install.

使用 Docker 安装

Docker 为虚拟机提供了运行 AllenNLP 的所有设置——无论您将利用 GPU 还是仅在 CPU 上运行。Docker 提供了更高的隔离性和一致性,并且还可以轻松地将您的环境分发到计算集群。

安装Docker 后,只需运行以下命令即可获得将在 cpu 或 gpu 上运行的环境。

mkdir -p $HOME/.allennlp/
docker run --rm -v $HOME/.allennlp:/root/.allennlp allennlp/allennlp:v0.9.0

您可以使用docker run --rm -v $HOME/.allennlp:/root/.allennlp allennlp/allennlp:v0.9.0 test-install.

从源安装

您还可以通过克隆我们的 git 存储库来安装 AllenNLP:

git clone https://github.com/allenai/allennlp.git

editable创建一个 Python 3.7 虚拟环境,并通过运行以模式安装 AllenNLP :

pip install --editable .
pip install -r dev-requirements.txt

这将allennlp在您的系统上可用,但它将使用您从源存储库制作的本地克隆中的源。

您可以使用allennlp test-install. ./scripts/verify.py将运行我们的持续构建环境使用的全套测试。

运行 AllenNLP

安装 AllenNLP 后,您可以使用allennlp命令(如果您通过 安装pip)或allennlp(如果您通过源代码安装)运行命令行界面。

$ allennlp
Run AllenNLP

optional arguments:
  -h, --help     show this help message and exit
  --version      show program's version number and exit

Commands:

    train        Train a model.
    evaluate     Evaluate the specified model + dataset.
    predict      Use a trained model to make predictions.
    elmo         Create word vectors using a pretrained ELMo model.
    fine-tune    Continue training a model on a new dataset.
    dry-run      Create a vocabulary, compute dataset statistics and other
                 training utilities.
    make-vocab   Create a vocabulary, compute dataset statistics and other
                 training utilities.
    test-install
                 Run the unit tests.
    find-lr      Find a learning rate range.
    print-results
                 Print results from allennlp serialization directories to the
                 console.

Docker 镜像

AllenNLP 为每个版本发布 Docker 镜像到Docker Hub。有关如何运行这些版本的信息,请参阅使用 Docker 安装

构建 Docker 镜像

由于各种原因,您可能需要创建自己的 AllenNLP Docker 映像。相同的图像可以与 CPU 或 GPU 一起使用。

首先,您需要安装 Docker。然后运行以下命令(这将需要一些时间,因为它完全构建了运行 AllenNLP 所需的环境。)

docker build -f Dockerfile.pip --tag allennlp/allennlp:latest .

您现在应该能够看到通过运行列出的此图像docker images allennlp

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
allennlp/allennlp            latest              b66aee6cb593        5 minutes ago       2.38GB

运行 Docker 映像

您可以使用docker run --rm -it allennlp/allennlp:latest. 该--rm标志在退出时清理映像,并且这些-it标志使会话具有交互性,因此您可以使用 Docker 映像启动的 bash shell。

您可以通过运行来测试您的安装 allennlp test-install

问题

欢迎大家提出功能请求、错误报告或一般问题。作为一个有自己内部目标的小团队,如果及时修复不适合我们的路线图,我们可能会要求贡献。我们允许用户有两周的时间跟进问题,之后我们将关闭问题。如果有进一步的讨论,它们可以重新打开。

贡献

AI2 (@allenai) 的 AllenNLP 团队欢迎来自更大 AllenNLP 社区的贡献,如果您想对库进行更改,这可能是最快的方法。如果您想贡献更大的功能,我们建议您首先使用提议的设计创建一个问题以供讨论。这将防止您花费大量时间在具有技术限制的实现上,有人可能会在早期指出。小的贡献可以直接在拉取请求中进行。

拉取请求 (PR) 在合并之前必须经过一次批准审查并且没有请求更改。由于 AllenNLP 主要由 AI2 (@allenai) 驱动,我们保留拒绝或恢复我们认为不好的贡献的权利。

引用

如果您在研究中使用 AllenNLP,请引用AllenNLP:深度语义自然语言处理平台

@inproceedings{Gardner2017AllenNLP,
  title={AllenNLP: A Deep Semantic Natural Language Processing Platform},
  author={Matt Gardner and Joel Grus and Mark Neumann and Oyvind Tafjord
    and Pradeep Dasigi and Nelson F. Liu and Matthew Peters and
    Michael Schmitz and Luke S. Zettlemoyer},
  year={2017},
  Eprint = {arXiv:1803.07640},
}

团队

AllenNLP 是一个由艾伦人工智能研究所 (AI2)支持的开源项目。AI2 是一家非营利机构,其使命是通过高影响力的人工智能研究和工程为人类做出贡献。要详细了解谁专门为此代码库做出了贡献,请参阅我们的贡献者页面。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

非官方-allennlp-nightly-0.9.2.tar.gz (4.6 MB 查看哈希)

已上传 source

内置分布

unofficial_allennlp_nightly-0.9.2-py3-none-any.whl (5.7 MB 查看哈希

已上传 py3