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__ теперь вызывает ошибку.base_layer.initializer был удален. Подклассы больше не должны украшать их функцию __init__ .__init__ или _CreateLayerVariables , теперь вызывает ошибку.__init__ Рефактор, перемещая переменную создание и доступ к _CreateLayerVariables . Область переменной устанавливается автоматически в соответствии с именем слоя в _CreateLayerVariables .Детали для более старых выпусков недоступны.
Есть два способа настроить Lingvo: установка фиксированной версии через PIP, или клонировать репозиторий и построить его с помощью Bazel. Конфигурации Docker предоставляются для каждого случая.
Если вы просто хотите использовать фреймворк, как есть, легче всего установить его через PIP. Это позволяет разработать и обучать пользовательских моделей, используя замороженную версию Lingvo Framework. Тем не менее, трудно изменить код фреймворта или реализовать новые пользовательские OPS.
Если вы хотите разработать рамку дальше и потенциально внести запросы на привлечение, вам следует избегать использования PIP и вместо этого клонировать репозиторий.
PIP:
Пакет Lingvo PIP может быть установлен с помощью pip3 install lingvo .
Посмотрите на CodeLab, чтобы начать работу с пакетом PIP.
Из источников:
Предпосылки:
C++ (официально поддерживается только G ++ 7.3), иОбратитесь к Docker/dev.dockerfile для набора рабочих требований.
git clone репозиторий, затем используйте Bazel для непосредственного построения и запуска целей. Команды python -m module в CodeLab должны быть сопоставлены на команды bazel run .
Docker:
Конфигурации Docker доступны для обеих ситуаций. Инструкции можно найти в комментариях в верхней части каждого файла.
Как установить Docker.
PIP:
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 : 53 МБ.mnist.index : 241 байт. 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/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 : Training tf.GraphDef .events.* : Файл событий Tensorboard. А также в /tmp/mnist/log/train :
checkpoint : текстовый файл, содержащий информацию о файлах контрольной точки.ckpt-* : файлы контрольной точки.Теперь давайте оценим модель на наборе данных «Тест». В обычной тренировочной установке тренер и оценщик должны работать одновременно с двумя отдельными процессами.
PIP:
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 --logtostderrУбейте работу с помощью CTRL+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, ...
Чтобы запустить более сложную модель, вам понадобится кластер с графическими процессорами. Пожалуйста, обратитесь к third_party/py/lingvo/tasks/mt/README.md для получения дополнительной информации.
Чтобы обучить языковую модель GSHARD с одним триллионом параметров на GCP с использованием CloudTPUS V3-512 с использованием параллелизма модели 512, пожалуйста third_party/py/lingvo/tasks/lm/README.md обратитесь к дополнительной информации.
Чтобы запустить модель Starnet, используя Cloudtpus на GCP, пожалуйста, см. third_party/py/lingvo/tasks/car/README.md .
Слушай, посещай и заклинаешь.
Уильям Чан, Навдип Джайтли, Квок В. Ле и Ориол Виньялс. ICASSP 2016.
Сквозное непрерывное распознавание речи с использованием рецидивирующего NN: первые результаты.
Ян Чаровски, Дмимитри Бахданау, Кюнхён Чо и Йошуа Бенгио. ARXIV 2014.
Глубокофузия: глубокое слияние лидар-камеры для многомодального трехмерного обнаружения объекта.
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: Целевые вычисления для обнаружения объектов в точечных облаках.
Джикан Нгиам, Бенджамин Кейн, Вэй Хан, Брэндон Ян, Юнинг Чай, Пей Сан, Инь Чжоу, Си Йи, Уайс Альшариф, Патрик Нгуен, Чифенг Чен, Джонатон Шленс и Виджай Васудеван. Arxiv 2019.
Обучение на основе градиента применяется к распознаванию документов.
Янн Лекун, Леон Ботту, Йошуа Бенгио и Патрик Хаффнер. IEEE 1998.
Изучение пределов языкового моделирования.
Рафал Жозефович, Ориол Виньялс, Майк Шустер, Ноам Шейзер и Йонхуи Ву. Arxiv, 2016.
GSHARD: масштабирующие гигантские модели с условными вычислениями и автоматическим шарнином.
Дмитрий Лепихин, Хёкджонг Ли, Юаньчжонг Сюй, Дехао Чен, Орхан Фират, Янпинг Хуан, Максим Крикун, Ноам Шейзер и Жифенг Чен Арксив, 2020 год.
Лучшие из обоих миров: объединение последних достижений в переводе нейронных машин.
Миа X. Чен, Орхан Фират, Анкур Бапна, Мелвин Джонсон, Вольфганг Мачери, Джордж Фостер, Ллион Джонс, Майк Шустер, Ноам Шейзер, Ники Пармар, Ашиш Васвани, Якоб Ускорейт, Лукаш Кайзер, Чифенг Чен, Йонгу Ву и Макигес. 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 License 2.0