Lingvoは、Tensorflow、特にシーケンスモデルにニューラルネットワークを構築するためのフレームワークです。
LINGVOを使用した出版物のリストはこちらにあります。
| PYPIバージョン | 専念 |
|---|---|
| 0.12.4 | - |
| 0.11.0 | 6FAE10077756F54BEACD5C454959F20B33FD65E2 |
| 0.10.0 | 075FD1D88FA6F92681F58A2383264337D0E737EE |
| 0.9.1 | C1124C5AA7AF13D2DD2B6D43293C8CA6D022B008 |
| 0.9.0 | F826E99803D1B51DCCBBBBED1EF857BA48A2BBEFE |
| PYPIバージョン | 専念 |
|---|---|
| 0.8.2 | 93E123C6788E934E6B7B1FD85770371BECF1E92E |
| 0.7.2 | B05642FE386EE79E0D88AA083565C9A93428519E |
古いリリースの詳細は利用できません。
注:これは包括的なリストではありません。 Lingvoリリースは、逆方向の互換性に関する保証を提供しません。
ここには何もありません。
beam_doneを取得して返すようになりました。done_hyps削除するようになりました。 abc.ABCMetaから拡張されたベースレイヤーのサブクラスは、代わりにbase_layer.ABCLayerMetaを拡張する必要があります。__init__以外のself.createchildを呼び出そうとすると、エラーが発生するようになりました。base_layer.initializerが削除されました。サブクラスは、 __init__関数を飾る必要がなくなりました。__init__または_CreateLayerVariables以外でself.createvariableを呼び出そうとすると、エラーが発生するようになりました。__init__の内部内でself.varsまたはself.thetaにアクセスすることはできなくなりました。可変作成とアクセスを_CreateLayerVariablesに移動してリファクタリングします。変数スコープは、 _CreateLayerVariablesのレイヤー名に従って自動的に設定されます。古いリリースの詳細は利用できません。
LINGVOをセットアップするには、PIPを介して固定バージョンをインストールするか、リポジトリをクローニングしてBazelで構築する2つの方法があります。各ケースにDocker構成が提供されます。
フレームワークをそのまま使用したい場合は、PIPを介してインストールするだけで最も簡単です。これにより、Lingvoフレームワークのフローズンバージョンを使用してカスタムモデルを開発およびトレーニングできます。ただし、フレームワークコードを変更したり、新しいカスタムOPSを実装することは困難です。
フレームワークをさらに開発し、プルリクエストに貢献する可能性がある場合は、PIPの使用を避け、代わりにリポジトリをクローンする必要があります。
ピップ:
LINGVO PIPパッケージはpip3 install lingvoでインストールできます。
PIPパッケージの開始方法については、Codelabをご覧ください。
情報源から:
前提条件は次のとおりです。
C++コンパイラ(G ++ 7.3のみが正式にサポートされています)、および一連の作業要件については、docker/dev.dockerfileを参照してください。
git clone 、バゼルを使用してターゲットを直接構築および実行します。 Codelabのpython -m moduleコマンドはbazel runコマンドにマッピングする必要があります。
Docker:
両方の状況でDocker構成を利用できます。指示は、各ファイルの上部のコメントに記載されています。
Dockerのインストール方法。
ピップ:
mkdir -p /tmp/mnist
python3 -m lingvo.tools.keras2ckpt --dataset=mnistバゼル:
mkdir -p /tmp/mnist
bazel run -c opt //lingvo/tools:keras2ckpt -- --dataset=mnist次のファイルは/tmp/mnistで作成されます。
mnist.data-00000-of-00001 :53MB。mnist.index :241バイト。 ピップ:
cd /tmp/mnist
curl -O https://raw.githubusercontent.com/tensorflow/lingvo/master/lingvo/tasks/image/params/mnist.py
python3 -m lingvo.trainer --run_locally=cpu --mode=sync --model=mnist.LeNet5 --logdir=/tmp/mnist/logバゼル:
(cpu) bazel build -c opt //lingvo:trainer
(gpu) bazel build -c opt --config=cuda //lingvo:trainer
bazel-bin/lingvo/trainer --run_locally=cpu --mode=sync --model=image.mnist.LeNet5 --logdir=/tmp/mnist/log --logtostderr約20秒後、損失は0.3を下回り、以下のようにチェックポイントが保存されます。 Ctrl+cでトレーナーを殺します。
trainer.py:518] step: 205, steps/sec: 11.64 ... loss:0.25747201 ...
checkpointer.py:115] Save checkpoint
checkpointer.py:117] Save checkpoint done: /tmp/mnist/log/train/ckpt-00000205
一部のアーティファクトは/tmp/mnist/log/controlで作成されます。
params.txt :ハイパーパラメーター。model_analysis.txt :各レイヤーのモデルサイズ。train.pbtxt :トレーニングtf.GraphDef 。events.* :テンソルボードイベントファイル。 /tmp/mnist/log/trainで同様に:
checkpoint :チェックポイントファイルに関する情報を含むテキストファイル。ckpt-* :チェックポイントファイル。次に、「テスト」データセットのモデルを評価しましょう。通常のトレーニングのセットアップでは、トレーナーと評価者は2つの別々のプロセスと同時に実行する必要があります。
ピップ:
python3 -m lingvo.trainer --job=evaler_test --run_locally=cpu --mode=sync --model=mnist.LeNet5 --logdir=/tmp/mnist/logバゼル:
bazel-bin/lingvo/trainer --job=evaler_test --run_locally=cpu --mode=sync --model=image.mnist.LeNet5 --logdir=/tmp/mnist/log --logtostderrCTRL+Cでジョブを殺し、新しいチェックポイントを待ち始めました。
base_runner.py:177] No new check point is found: /tmp/mnist/log/train/ckpt-00000205
評価の精度は、ログの少し早い段階で見つけることができます。
base_runner.py:111] eval_test: step: 205, acc5: 0.99775392, accuracy: 0.94150388, ..., loss: 0.20770954, ...
より精巧なモデルを実行するには、GPUを備えたクラスターが必要です。詳細についてはthird_party/py/lingvo/tasks/mt/README.mdを参照してください。
GCPで1兆パラメーターを使用してGSHARD言語モデルをトレーニングするには、512-wayモデルの並列性を使用してCloudTPUS V3-512を使用して、 third_party/py/lingvo/tasks/lm/README.mdを参照してください。
GCPでCloudTPusを使用してStarNetモデルを実行するには、 third_party/py/lingvo/tasks/car/README.mdを参照してください。
耳を傾け、出席し、綴ります。
ウィリアム・チャン、Navdeep Jaitly、Quoc V. Le、およびOriol Vinyals。 ICASSP 2016。
注意ベースの再発NNを使用したエンドツーエンドの連続音声認識:最初の結果。
Jan Chorowski、Dzmitry Bahdanau、Kyunghyun Cho、Yoshua Bengio。 ARXIV 2014。
ディープフュージョン:マルチモーダル3Dオブジェクト検出のためのLidar-Camera Deep Fusion。
Yingwei Li、Adams Wei Yu、Tianjian Meng、Ben Caine、Jiquan Ngiam、Daiyi Peng、Junyang Shen、Bo Wu、Yifeng Lu、Denny Zhou、Quoc V. Le、Alan Yuille、Mingxing Tan。 CVPR 2022。
STARNET:ポイントクラウドでのオブジェクト検出のターゲット計算。
Jiquan Ngiam、Benjamin Caine、Wei Han、Brandon Yang、Yuning Chai、Pei Sun、Yin Zhou、Xi Yi、Ouais Alsharif、Patrick Nguyen、Zhifeng Chen、Jonathon Shlens、Vijay Vasudevan。 ARXIV 2019。
ドキュメント認識に適用される勾配ベースの学習。
Yann Lecun、Leon Bottou、Yoshua Bengio、Patrick Haffner。 IEEE 1998。
言語モデリングの限界の調査。
Rafal Jozefowicz、Oriol Vinyals、Mike Schuster、Noam Shazeer、Yonghui Wu。 Arxiv、2016年。
GSHARD:条件付き計算と自動シャードを備えた巨大モデルのスケーリング。
Dmitry Lepikhin、Hyoukjoong Lee、Yuanzhong Xu、Dehao Chen、Orhan Firat、Yanping Huang、Maxim Krikun、Noam Shazeer、Zhifeng Chen Arxiv、2020。
両方の世界の最高:神経機械翻訳の最近の進歩を組み合わせています。
Mia X. Chen、Orhan Firat、Ankur Bapna、Melvin Johnson、Wolfgang Macherey、George Foster、Llion Jones、Mike Schuster、Noam Shazeer、Niki Parmar、Ashish Vaswani、Jakob Uszkoreit、Lukasz Kaiser ACL 2018。
リソースが豊富なニューラル機械翻訳のための自己監視および監督された共同トレーニング。
ヨン・チェン、ウェイ・ワン、ルー・ジアン、ヴォルフガング・マチェリー。 ICML 2021。
Lingvoを参照するときは、この論文を引用してください。
@misc{shen2019lingvo,
title={Lingvo: a Modular and Scalable Framework for Sequence-to-Sequence Modeling},
author={Jonathan Shen and Patrick Nguyen and Yonghui Wu and Zhifeng Chen and others},
year={2019},
eprint={1902.08295},
archivePrefix={arXiv},
primaryClass={cs.LG}
}
Apacheライセンス2.0