基于 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 安装”部分。
-
使用 Python 3.7 创建 Conda 环境
conda create -n allennlp python=3.7
-
激活 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 是一家非营利机构,其使命是通过高影响力的人工智能研究和工程为人类做出贡献。要详细了解谁专门为此代码库做出了贡献,请参阅我们的贡献者页面。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
内置分布
unofficial_allennlp_nightly-0.9.2-py3-none-any.whl 的哈希 值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 33658a4a6fffa550586d5d9d2373f344a5acf8e3b7dd2b8f25d5d0d21cce715e |
|
| MD5 | 1e19e29f1deff112ab4ea4cfabc0c126 |
|
| 布莱克2-256 | 1ed8c08112e0db7710b98243e87c1b21c7064e9207d5f93f935e3a818e3bc373 |