一个基于PyTorch的开源NLP研究库,用于开发各种语言任务上的最先进深度学习模型。
项目描述
一个Apache 2.0许可证的NLP研究库,基于PyTorch构建,用于开发各种语言任务上的最先进深度学习模型。
快速链接
软件包概述
allennlp | 一个基于PyTorch的开源NLP研究库 |
allennlp.commands | 命令行界面和Web服务功能 |
allennlp.data | 一个数据处理模块,用于加载数据集并将字符串编码为整数以在矩阵中表示 |
allennlp.models | 一系列最先进的模型 |
allennlp.modules | 一系列用于文本的PyTorch模块 |
allennlp.nn | 张量实用函数,如初始化器和激活函数 |
allennlp.training | 训练模型的功能 |
安装
AllenNLP需要Python 3.6.1或更高版本。安装AllenNLP的首选方法是使用pip
。只需在Python环境中运行pip install allennlp
即可!
如果您需要有关设置适当的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环境: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
创建一个Python 3.7虚拟环境,并运行以下命令通过editable
模式安装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 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的AllenNLP团队(@allenai)欢迎来自更广泛的AllenNLP社区的贡献,并且如果您想将更改放入库中,这可能是最快的方法。如果您想贡献一个更大的功能,我们建议首先创建一个包含提议设计以供讨论的问题。这将防止您在可能早在早期就被指出技术限制的实现上浪费大量时间。小的贡献可以直接在拉取请求中完成。
拉取请求(PR)必须在合并之前有一个批准的审查和没有请求的更改。
引用
如果您在研究中使用了AllenNLP,请引用AllenNLP: A Deep Semantic Natural Language Processing Platform。
@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是一个非营利性研究所,其使命是通过高影响力的AI研究和工程为人类做出贡献。有关具体贡献者的信息,请参阅我们的贡献者页面。
项目详情
哈希值 for unofficial_allennlp_nightly-0.9.2-py3-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 33658a4a6fffa550586d5d9d2373f344a5acf8e3b7dd2b8f25d5d0d21cce715e |
|
MD5 | 1e19e29f1deff112ab4ea4cfabc0c126 |
|
BLAKE2b-256 | 1ed8c08112e0db7710b98243e87c1b21c7064e9207d5f93f935e3a818e3bc373 |