Lingvo é uma estrutura para a construção de redes neurais no Tensorflow, principalmente os modelos de sequência.
Uma lista de publicações usando Lingvo pode ser encontrada aqui.
| Versão Pypi | Comprometer-se |
|---|---|
| 0,12.4 | - |
| 0.11.0 | 6FAE10077756F54BEACD5C454959F20B33FD65E2 |
| 0.10.0 | 075FD1D88FA6F92681F58A2383264337D0E737EE |
| 0.9.1 | C1124C5AA7AF13D2DD2B6D43293C8CA6D022B008 |
| 0.9.0 | F826E99803D1B51DCCBBBBED1EF857BA48A2BBEFE |
| Versão Pypi | Comprometer-se |
|---|---|
| 0.8.2 | 93E123C6788E934E6B7B1FD85770371BECF1E92E |
| 0.7.2 | B05642FE386EE79E0D88AA083565C9A93428519E |
Detalhes para lançamentos mais antigos não estão disponíveis.
Nota: Esta não é uma lista abrangente. Os lançamentos da Lingvo não oferecem nenhuma garantia sobre compatibilidade com versões anteriores.
Nada aqui.
beam_done adicional.done_hyps . abc.ABCMeta agora devem estender base_layer.ABCLayerMeta .__init__ agora levanta um erro.base_layer.initializer foi removido. As subclasses não precisam mais decorar sua função __init__ .__init__ ou _CreateLayerVariables agora levanta um erro.__init__ . Refator movendo a criação variável e o acesso a _CreateLayerVariables . O escopo da variável é definido automaticamente de acordo com o nome da camada em _CreateLayerVariables .Detalhes para lançamentos mais antigos não estão disponíveis.
Existem duas maneiras de configurar o Lingvo: instalando uma versão fixa através do PIP ou clonando o repositório e construindo -o com Bazel. As configurações do Docker são fornecidas para cada caso.
Se você gostaria de usar a estrutura como está, é mais fácil instalá-lo através do PIP. Isso torna possível desenvolver e treinar modelos personalizados usando uma versão congelada da estrutura Lingvo. No entanto, é difícil modificar o código da estrutura ou implementar novas operações personalizadas.
Se você deseja desenvolver a estrutura ainda mais e potencialmente contribuir com solicitações de tração, evite usar o PIP e clonar o repositório.
pip:
O pacote Lingvo Pip pode ser instalado com pip3 install lingvo .
Consulte o Codelab para como começar o pacote PIP.
De fontes:
Os pré -requisitos são:
C++ (apenas G ++ 7.3 é oficialmente suportado) eConsulte o Docker/dev.dockerfile para obter um conjunto de requisitos de trabalho.
git clone o repositório e use o Bazel para construir e executar alvos diretamente. Os comandos python -m module no codelab precisam ser mapeados nos comandos bazel run .
Docker:
As configurações do Docker estão disponíveis para ambas as situações. As instruções podem ser encontradas nos comentários na parte superior de cada arquivo.
Como instalar o 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 Os seguintes arquivos serão criados em /tmp/mnist :
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 --logtostderrApós cerca de 20 segundos, a perda deve cair abaixo de 0,3 e um ponto de verificação será salvo, como abaixo. Mate o treinador com 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
Alguns artefatos serão produzidos em /tmp/mnist/log/control :
params.txt : hiper-parâmetros.model_analysis.txt : tamanhos de modelo para cada camada.train.pbtxt : O TREINAMENTO tf.GraphDef .events.* : Um arquivo de eventos de tensorboard. Bem como in /tmp/mnist/log/train :
checkpoint : um arquivo de texto que contém informações sobre os arquivos do ponto de verificação.ckpt-* : os arquivos do ponto de verificação.Agora, vamos avaliar o modelo no conjunto de dados "teste". Na configuração normal de treinamento, o treinador e o avaliador devem ser executados ao mesmo tempo que dois processos separados.
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 --logtostderrMate o trabalho com Ctrl+C quando começar a esperar por um novo ponto de verificação.
base_runner.py:177] No new check point is found: /tmp/mnist/log/train/ckpt-00000205
A precisão da avaliação pode ser encontrada um pouco mais cedo nos logs.
base_runner.py:111] eval_test: step: 205, acc5: 0.99775392, accuracy: 0.94150388, ..., loss: 0.20770954, ...
Para executar um modelo mais elaborado, você precisará de um cluster com GPUs. Consulte o third_party/py/lingvo/tasks/mt/README.md para obter mais informações.
Para treinar um modelo de idioma GSHARD com um trilhão de parâmetros no GCP usando o CloudTPUS V3-512 usando o paralelismo do modelo de 512 vias, consulte third_party/py/lingvo/tasks/lm/README.md para obter mais informações.
Para executar o modelo StarNet usando o CloudTPUS no GCP, consulte o third_party/py/lingvo/tasks/car/README.md .
Ouça, comparece e feitiço.
William Chan, Navdeep Jaitly, Quoc V. Le e Oriol Vinyals. ICASSP 2016.
Reconhecimento contínuo de fala de ponta a ponta usando NN recorrente baseado em atenção: os primeiros resultados.
Jan Chorowski, Dzmitry Bahdanau, Kyunghyun Cho e Yoshua Bengio. ARXIV 2014.
Deepfusion: fusão profunda da câmera Lidar para detecção 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: Computação direcionada para detecção de objetos em nuvens de ponto.
Jiquan Ngiam, Benjamin Caine, Wei Han, Brandon Yang, Yuning Chai, Pei Sun, Yin Zhou, Xi Yi, Ouais Alsharif, Patrick Nguyen, Zhifeng Chen, Jonathon Shlens e Vijay Vasudevan. ARXIV 2019.
A aprendizagem baseada em gradiente se aplicava ao reconhecimento de documentos.
Yann Lecun, Leon Bottou, Yoshua Bengio e Patrick Haffner. IEEE 1998.
Explorando os limites da modelagem de idiomas.
Rafal Jozefowicz, Oriol Vinyals, Mike Schuster, Noam Orheador e Yonghui Wu. Arxiv, 2016.
GSHARD: Modelos gigantes de dimensionamento com computação condicional e sharding automático.
Dmitry Lepikhin, Hyoukjoong Lee, Yuanzhong Xu, DeHao Chen, Orhan Firat, Yanping Huang, Maxim Krikun, Noam Orheador e Zhifeng Chen Arxiv, 2020.
O melhor dos dois mundos: combinando os recentes avanços na tradução da máquina neural.
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.
Treinamento conjunto auto-supervisionado e supervisionado para tradução da máquina neural rica em recursos.
Yong Cheng, Wei Wang, Lu Jiang e Wolfgang Macherey. ICML 2021.
Cite este artigo ao fazer referência 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}
}
Licença Apache 2.0