GitHubじゃ!Pythonじゃ!

GitHubからPython関係の優良リポジトリを探したかったのじゃー、でも英語は出来ないから日本語で読むのじゃー、英語社会世知辛いのじゃー

allenai

allennlp – PyTorchで構築されたオープンソースのNLP研究ライブラリ

投稿日:

PyTorchで構築されたオープンソースのNLP研究ライブラリ。 http://www.allennlp.org/

PyTorch上に構築されたApache 2.0 NLPリサーチライブラリで、多種多様な言語タスクに関する最先端の深い学習モデルを開発します。

クイックスタート

AllenNLPを実行する環境を得る最速の方法は、Dockerです。 Dockerインストールしたら、 docker run -it -p 8000:8000 --rm allennlp/allennlp:v0.4.0を実行して、 docker run -it -p 8000:8000 --rm allennlp/allennlp:v0.4.0を実行して、CPUまたはdocker run -it -p 8000:8000 --rm allennlp/allennlp:v0.4.0実行される環境を取得します。

これで、次のいずれかを実行できます。

  • allennlp predictallennlp predict例文でモデルを実行allennlp predict
  • allennlp serveallennlp serveてモデルをホストするWebサービスを開始します。
  • PythonインタプリタからPythonを使って対話的にAllenNLPをコーディングします。

pipパッケージマネージャを使用してインストールすることも、このリポジトリをPython 3.6環境に複製することもできます。 より詳細な手順は以下を参照してください。

AllenNLPとは何ですか?

PyTorch上に構築されたAllenNLPは、クラウドやラップトップ上で簡単に実行できるインフラストラクチャとともに、ほぼすべてのNLP問題の新しいディープ学習モデルの設計と評価を容易にします。 AllenNLPは以下の原則で設計されました。

  • ハイパーモジュラーと軽量。 PyTorchでシームレスに好きなパーツを使用してください。
  • 広範囲にテストされ、拡張が容易です。 テストカバレッジは90%以上であり、サンプルモデルは寄稿のテンプレートを提供します。
  • パディングとマスキングを真剣に受け 、痛みのない正しいモデルを簡単に実装できます。
  • 実験的でフレンドリー。 包括的なロギングを使用して、json仕様から再現可能な実験を実行します。

AllenNLPには、Semantic Role Labeling、Question and Answering(BiDAF)、Entailment(分解可能な注意)などの高品質モデルのリファレンス実装が含まれています。

AllenNLPはAllen Institute for Artificial Intelligenceによってワシントン大学などの研究者と緊密に連携して構築され、維持管理されています。 ベスト・オブ・フィールドの研究者とソフトウェアエンジニアの専属チームにより、AllenNLPプロジェクトは最先端のモデルに高品質のエンジニアリングを提供するユニークな立場にあります。

全員 PyTorchで構築されたオープンソースのNLP研究ライブラリ
allennlp.commands CLIとWebサービスのための機能
allennlp.data 行列を表現するためにデータセットをロードし、文字列を整数として符号化するためのデータ処理モジュール
allennlp.models 最先端のモデルのコレクション
allennlp.modules テキスト用のPyTorchモジュールのコレクション
allennlp.nn イニシャライザやアクティベーション関数などのテンソルユーティリティ関数
allennlp.service デモとAPIを提供するWebサーバー
allennlp.training トレーニングモデル用の機能

AllenNLPの実行

仮想環境の設定

Condaは、AllenNLPに必要なPythonのバージョンで仮想環境を設定し、依存関係をサンドボックス化することができます:

  1. Condaをダウンロードしてインストールします。

  2. Python 3.6でConda環境を作成する

    conda create -n allennlp python=3.6
    
  3. Conda環境を有効にします。 (AllenNLPを使用する各端末でConda環境を有効にする必要があります。

    source activate allennlp
    
  4. ご使用の環境にAllenNLPをインストールしてください。

ピップ経由でインストールする

あなたの環境にAllenNLPをインストールするための好ましい方法は、 pip経由です。

  1. AllenNLPをインストールします。

    pip install allennlp
    
  2. http://pytorch.org/にアクセスして、ご使用のシステム用のPyTorch 0.3.1パッケージをインストールしてください。

  3. spacyモデルをダウンロードしてください。

    python -m spacy download en_core_web_sm
    

それでおしまい! 今すぐAllenNLPモデルを構築し、トレーニングする準備が整いました。

開発環境の設定

AllenNLPライブラリ自体を変更したい場合(またはPyPIにリリースされていない出血コードを使用する場合)は、GitHubからライブラリをインストールし、要件を手動でインストールする必要があります:

  1. まず、レポをクローン:
git clone https://github.com/allenai/allennlp.git
  1. ファイルをクローンした場所にディレクトリを変更します。
cd allennlp
  1. 必要な依存関係をインストールします。

    INSTALL_TEST_REQUIREMENTS="true" ./scripts/install_requirements.sh
    
  2. http://pytorch.org/にアクセスし、関連するpytorchパッケージをインストールしてください。

./scripts/verify.py . ./scripts/verify.pyてインストールをテストできるはず./scripts/verify.py おめでとう!

Docker開発環境の設定

3番目の方法は、Docker経由でAllenNLPを実行することです。 Dockerは、仮想マシンに、AllenNLPを実行するために設定されたすべてのものを提供します。これは、GPUを活用するか、CPU上で実行するかにかかわらずです。 Dockerはより多くの分離と一貫性を提供し、コンピューティングクラスタへの環境の配布も容易にします。

あらかじめ構築されたDockerイメージをダウンロードする

あらかじめ構築されたDocker開発環境を簡単に実行できます。 AllenNLPはDocker Cloudで構成され、マスターブランチへのすべての更新時に新しいイメージを構築します。 Docker Hubから最新のものをダウンロードするには:

docker pull allennlp/allennlp:v0.4.0

ドッカー画像の構築

さまざまな理由から、独自のAllenNLP Dockerイメージを作成する必要があるかもしれません。 同じ画像は、CPUまたはGPUのいずれかで使用できます。

まず、開発環境を設定するための上記の指示に従ってください。 次のコマンドを実行します(AllenNLPを実行するために必要な環境が完全に構築されるため、時間がかかります)。

docker build --tag allennlp/allennlp .

これで、 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イメージを実行できます。 --rmフラグは終了時にイメージをクリーンアップし、 -itフラグはセッションを対話式にして、dockerイメージが起動するbashシェルを使用できるようにします。

./scripts/verify.pyを実行すると、インストールをテストできます。

チーム

AllenNLPはAllen Institute for Artificial Intelligence(AI2)の支援を受けたオープンソースのプロジェクトです。 AI2は、インパクトの高いAI研究とエンジニアリングを通じて人類に貢献するという使命を持つ非営利団体です。 このコードベースに特に貢献した人の詳細については、寄稿者のページをご覧ください。







-allenai
-, , , , ,

執筆者: