Lingvo ist ein Rahmen für den Aufbau neuronaler Netzwerke in Tensorflow, insbesondere Sequenzmodellen.
Eine Liste von Veröffentlichungen, die Lingvo verwenden, finden Sie hier.
| PYPI -Version | Begehen |
|---|---|
| 0,12,4 | - |
| 0.11.0 | 6FAE10077756F54BEACD5C454959F20B33FD65E2 |
| 0,10.0 | 075FD1D88FA6F92681F58A2383264337D0E737EE |
| 0.9.1 | C1124C5AA7AF13D2DD2B6D43293C8CA6D022B008 |
| 0.9.0 | f826e99803d1b51dccbbbed1EF857BA48A2BBEFE |
| PYPI -Version | Begehen |
|---|---|
| 0,8,2 | 93E123C6788E934E6B7B1FD85770371BECF1E92E |
| 0,7,2 | B05642Fe386ee79E0D88AA083565C9A93428519E |
Details für ältere Veröffentlichungen sind nicht verfügbar.
Hinweis: Dies ist keine umfassende Liste. Lingvo -Veröffentlichungen bieten keine Garantien in Bezug auf die Kompatibilität rückwärts.
Nichts hier.
beam_done zurück und gibt zurück.done_hyps . abc.ABCMeta erstrecken, sollten stattdessen base_layer.ABCLayerMeta erweitern.__init__ bezeichnen.base_layer.initializer wurde entfernt. Unterklassen müssen ihre __init__ -Funktion nicht mehr dekorieren._CreateLayerVariables Versuch, sich selbst __init__ bezeichnen.__init__ Selbst zugreifen zu können. Refactor durch Verschieben der variablen Erstellung und Zugriff auf _CreateLayerVariables . Der variable Bereich wird automatisch gemäß dem Ebenennamen in _CreateLayerVariables festgelegt.Details für ältere Veröffentlichungen sind nicht verfügbar.
Es gibt zwei Möglichkeiten, Lingvo einzurichten: eine feste Version über PIP zu installieren oder das Repository zu klonen und mit Bazel zu bauen. Docker -Konfigurationen werden für jeden Fall bereitgestellt.
Wenn Sie das Framework wie IS einfach verwenden möchten, ist es am einfachsten, es einfach über PIP zu installieren. Dies ermöglicht es, benutzerdefinierte Modelle mit einer gefrorenen Version des Lingvo -Frameworks zu entwickeln und zu trainieren. Es ist jedoch schwierig, den Framework -Code zu ändern oder neue benutzerdefinierte OPs zu implementieren.
Wenn Sie das Framework weiter entwickeln möchten und möglicherweise Pull -Anfragen beisteuern, sollten Sie es vermeiden, PIP zu verwenden und das Repository zu klonen.
Pip:
Das Lingvo -PIP -Paket kann mit pip3 install lingvo .
Sehen Sie sich das Codelab an, um mit dem PIP -Paket loszulegen.
Aus Quellen:
Die Voraussetzungen sind:
C++ Compiler (nur G ++ 7.3 wird offiziell unterstützt) undEine Reihe von Arbeitsanforderungen finden Sie in Docker/dev.dockerfile.
git clone das Repository und verwenden Sie Bazel, um Ziele direkt zu erstellen und auszuführen. Die Befehle python -m module im Codelab müssen auf bazel run abgebildet werden.
Docker:
Docker -Konfigurationen sind für beide Situationen verfügbar. Anweisungen finden Sie in den Kommentaren oben in jeder Datei.
So installieren Sie Docker.
Pip:
mkdir -p /tmp/mnist
python3 -m lingvo.tools.keras2ckpt --dataset=mnistBazel:
mkdir -p /tmp/mnist
bazel run -c opt //lingvo/tools:keras2ckpt -- --dataset=mnist Die folgenden Dateien werden in /tmp/mnist erstellt:
mnist.data-00000-of-00001 : 53MB.mnist.index : 241 Bytes. Pip:
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/logBazel:
(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 --logtostderrNach ca. 20 Sekunden sollte der Verlust unter 0,3 sinken und ein Kontrollpunkt wird gespeichert, wie unten. Töte den Trainer mit Strg+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
Einige Artefakte werden in /tmp/mnist/log/control hergestellt:
params.txt : Hyper-Parameters.model_analysis.txt : Modellgrößen für jede Schicht.train.pbtxt : Das Training tf.GraphDef .events.* : Eine Tensorboard -Ereignisdatei. Sowie in /tmp/mnist/log/train :
checkpoint : Eine Textdatei mit Informationen zu den Checkpoint -Dateien.ckpt-* : Die Checkpoint-Dateien.Bewerten wir nun das Modell im "Test" -Datensatz. Im normalen Trainingseinbau sollten Trainer und Evaler gleichzeitig mit zwei getrennten Prozessen ausgeführt werden.
Pip:
python3 -m lingvo.trainer --job=evaler_test --run_locally=cpu --mode=sync --model=mnist.LeNet5 --logdir=/tmp/mnist/logBazel:
bazel-bin/lingvo/trainer --job=evaler_test --run_locally=cpu --mode=sync --model=image.mnist.LeNet5 --logdir=/tmp/mnist/log --logtostderrTöte den Job mit Strg+C, wenn er auf einen neuen Kontrollpunkt wartet.
base_runner.py:177] No new check point is found: /tmp/mnist/log/train/ckpt-00000205
Die Bewertungsgenauigkeit ist etwas früher in den Protokollen zu finden.
base_runner.py:111] eval_test: step: 205, acc5: 0.99775392, accuracy: 0.94150388, ..., loss: 0.20770954, ...
Um ein aufwändigeres Modell auszuführen, benötigen Sie einen Cluster mit GPUs. Weitere Informationen finden Sie unter third_party/py/lingvo/tasks/mt/README.md um weitere Informationen zu erhalten.
Um ein GSHARD-Sprachmodell mit einer Billionen-Parametern auf GCP mit CloudTPUS V3-512 unter Verwendung von 512-Wege-Modellparallelität zu trainieren, finden Sie unter third_party/py/lingvo/tasks/lm/README.md um weitere Informationen zu erhalten.
Um das StarNET -Modell mit CloudTPus auf GCP auszuführen, finden Sie unter third_party/py/lingvo/tasks/car/README.md .
Hören Sie zu, teilnehmen und buchstabieren.
William Chan, Navdeep Jaitly, Quoc V. Le und Oriol Vinyals. ICASSP 2016.
End-to-End-kontinuierliche Spracherkennung mit aufmerksamkeitsbasierten wiederkehrenden NN: Erste Ergebnisse.
Jan Chorowski, Dzmitry Bahdanau, Kyunghyun Cho und Yoshua Bengio. Arxiv 2014.
Deepfusion: Lidar-Kamera Deep Fusion für multimodale 3D-Objekterkennung.
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, Mingx Tan. CVPR 2022.
STARNET: Zielberechnung zur Objekterkennung in Punktwolken.
Jiquan Ngiam, Benjamin Caine, Wei Han, Brandon Yang, Yuning Chai, Pei Sun, Yin Zhou, Xi Yi, Ouais Alsharif, Patrick Nguyen, Zhifeng Chen, Jonathon Shlens und Vijay Vasudevan. Arxiv 2019.
Gradientenbasiertes Lernen angewendet zur Dokumenterkennung.
Yann Lecun, Leon Bottou, Yoshua Bengio und Patrick Haffner. IEEE 1998.
Erforschung der Grenzen der Sprachmodellierung.
Rafal Jozefowicz, Oriol Vinyals, Mike Schuster, Noam SHAZEER und YONGHUI WU. Arxiv, 2016.
GSHARD: Skalierung von Riesenmodellen mit bedingter Berechnung und automatischer Sharding.
Dmitry Lepikhin, Hyoukjoong Lee, Yuanzhong Xu, Dehao Chen, Orhan Firat, Yanping Huang, Maxim Krikun, Noam Shalleer und Zhifeng Chen Arxiv, 2020.
Das Beste aus beiden Welten: Kombinieren der jüngsten Fortschritte in der neuronalen maschinellen Übersetzung.
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, Zhifeng Chen, Yonghui Wu, and Macduff Hughes. ACL 2018.
Selbstübersicht und überwacht das gemeinsame Training für ressourcenreiche neuronale maschinelle Übersetzung.
Yong Cheng, Wei Wang, Lu Jiang und Wolfgang Macherey. ICML 2021.
Bitte zitieren Sie dieses Papier, wenn Sie auf Lingvo verweisen.
@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 -Lizenz 2.0