Lingvo es un marco para construir redes neuronales en TensorFlow, particularmente modelos de secuencia.
Puede encontrar una lista de publicaciones que usan Lingvo aquí.
| Versión pypi | Comprometerse |
|---|---|
| 0.12.4 | - |
| 0.11.0 | 6fae10077756f54beacd5c454959f20b33fd65e2 |
| 0.10.0 | 075FD1D88FA6F92681F58A2383264337D0E737EE |
| 0.9.1 | C1124C5AA7AF13D2DD2B6D43293C8CA6D022B008 |
| 0.9.0 | F826E99803D1B51DCCBBBED1EF857BA48A2BBEFE |
| Versión pypi | Comprometerse |
|---|---|
| 0.8.2 | 93E123C6788E934E6B7B1FD85770371BECF1E92E |
| 0.7.2 | B05642FE386EE79E0D88AA083565C9A93428519E |
Los detalles para versiones anteriores no están disponibles.
Nota: Esta no es una lista completa. Las versiones de Lingvo no ofrecen ninguna garantía con respecto a la compatibilidad hacia atrás.
Nada aquí.
beam_done adicional.done_hyps . abc.ABCMeta ahora deberían extender base_layer.ABCLayerMeta .__init__ ahora plantea un error.base_layer.initializer se ha eliminado. Las subclases ya no necesitan decorar su función __init__ .__init__ llamar a _CreateLayerVariables mismo.__init__ . Refactor moviendo la creación variable y el acceso a _CreateLayerVariables . El alcance variable se establece automáticamente de acuerdo con el nombre de la capa en _CreateLayerVariables .Los detalles para versiones anteriores no están disponibles.
Hay dos formas de configurar Lingvo: Instalar una versión fija a través de PIP, o clonar el repositorio y construirlo con Bazel. Se proporcionan configuraciones de Docker para cada caso.
Si desea usar el marco como es, es más fácil instalarlo a través de PIP. Esto permite desarrollar y entrenar modelos personalizados utilizando una versión congelada del marco Lingvo. Sin embargo, es difícil modificar el código de marco o implementar nuevas operaciones personalizadas.
Si desea desarrollar el marco más y potencialmente contribuir con solicitudes de extracción, debe evitar usar PIP y clonar el repositorio.
pepita:
El paquete Lingvo PIP se puede instalar con pip3 install lingvo .
Vea el CodeLab sobre cómo comenzar con el paquete PIP.
De las fuentes:
Los requisitos previos son:
C++ (solo G ++ 7.3 se admite oficialmente), yConsulte Docker/Dev.DockerFile para obtener un conjunto de requisitos de trabajo.
git clone el repositorio, luego use Bazel para construir y ejecutar objetivos directamente. Los comandos python -m module en el CodeLab deben asignarse a los comandos bazel run .
estibador:
Las configuraciones de Docker están disponibles para ambas situaciones. Las instrucciones se pueden encontrar en los comentarios en la parte superior de cada archivo.
Cómo instalar Docker.
pepita:
mkdir -p /tmp/mnist
python3 -m lingvo.tools.keras2ckpt --dataset=mnistbazel:
mkdir -p /tmp/mnist
bazel run -c opt //lingvo/tools:keras2ckpt -- --dataset=mnist Los siguientes archivos se crearán en /tmp/mnist :
mnist.data-00000-of-00001 : 53mb.mnist.index : 241 bytes. pepita:
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 --logtostderrDespués de unos 20 segundos, la pérdida debe caer por debajo de 0.3 y se guardará un punto de control, como a continuación. Mata al entrenador con 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
Algunos artefactos se producirán en /tmp/mnist/log/control :
params.txt : hiperparametros.model_analysis.txt : tamaños de modelo para cada capa.train.pbtxt : el entrenamiento tf.GraphDef .events.* : Un archivo de eventos de TensorBoard. Así como en /tmp/mnist/log/train :
checkpoint : un archivo de texto que contiene información sobre los archivos de punto de control.ckpt-* : los archivos de punto de control.Ahora, evaluemos el modelo en el conjunto de datos de "prueba". En la configuración de entrenamiento normal, el entrenador y el evaluador deben ejecutarse al mismo tiempo que dos procesos separados.
pepita:
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 --logtostderrMata el trabajo con CTRL+C cuando comience a esperar un nuevo punto de control.
base_runner.py:177] No new check point is found: /tmp/mnist/log/train/ckpt-00000205
La precisión de la evaluación se puede encontrar ligeramente antes en los registros.
base_runner.py:111] eval_test: step: 205, acc5: 0.99775392, accuracy: 0.94150388, ..., loss: 0.20770954, ...
Para ejecutar un modelo más elaborado, necesitará un clúster con GPU. Consulte third_party/py/lingvo/tasks/mt/README.md para obtener más información.
Para entrenar un modelo de lenguaje GSHARD con un billón de parámetros en GCP utilizando CloudTPUS V3-512 utilizando el paralelismo del modelo de 512 vías, consulte third_party/py/lingvo/tasks/lm/README.md para obtener más información.
Para ejecutar el modelo StarNet usando CloudTPus en GCP, consulte third_party/py/lingvo/tasks/car/README.md .
Escuche, asista y deletree.
William Chan, Navdeep Jaitly, Quoc V. Le y Oriol Vinyals. ICASSP 2016.
Reconocimiento de voz continuo de extremo a extremo utilizando NN recurrente basado en la atención: primeros resultados.
Jan Chorowski, Dzmitry Bahdanau, Kyunghyun Cho y Yoshua Bengio. ARXIV 2014.
Deepfusion: Lidar-Camera Fusion Deep Fusion para la detección de objetos 3D multimodal.
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: cálculo dirigido para la detección de objetos en nubes de puntos.
Jiquan Ngiam, Benjamin Caine, Wei Han, Brandon Yang, Yuning Chai, Pei Sun, Yin Zhou, Xi Yi, Ouais Alsharif, Patrick Nguyen, Zhifeng Chen, Jonathon Shlens y Vijay Vasudvan. ARXIV 2019.
Aprendizaje basado en gradiente aplicado al reconocimiento de documentos.
Yann Lecun, Leon Botou, Yoshua Bengio y Patrick Haffner. IEEE 1998.
Explorando los límites del modelado de idiomas.
Rafal Jozefowicz, Oriol Vinyals, Mike Schuster, Noam Shazeer y Yonghui Wu. Arxiv, 2016.
GSHARD: Escala de modelos gigantes con cálculo condicional y fragmentos automáticos.
Dmitry Lepikhin, Hyoukjoong Lee, Yuanzhong Xu, Dehao Chen, Orhan Firat, Yanping Huang, Maxim Krikun, Noam Shazeer y Zhifeng Chen Arxiv, 2020.
Lo mejor de ambos mundos: combinando avances recientes en la traducción del automóvil neuronal.
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, Yongghui Wu, y Macduff Huughes. ACL 2018.
Capacitación conjunta auto-supervisada y supervisada para la traducción automática neuronal rica en recursos.
Yong Cheng, Wei Wang, Lu Jiang y Wolfgang Macherey. ICML 2021.
Cite este documento al hacer referencia a 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}
}
Licencia de Apache 2.0