Lingvo는 Tensorflow, 특히 시퀀스 모델에 신경망을 구축하기위한 프레임 워크입니다.
Lingvo를 사용한 출판물 목록은 여기에서 찾을 수 있습니다.
| PYPI 버전 | 저지르다 |
|---|---|
| 0.12.4 | - |
| 0.11.0 | 6FAE10077756F54BEACD5C454959F20B33FD65E2 |
| 0.10.0 | 075FD1D88FA6F92681F58A2383264337D0E737EE |
| 0.9.1 | C1124C5AA7AF13D2D2B6D43293C8CA6D022B008 |
| 0.9.0 | F826E99803D1B51DCCBBBED1EF857BA48A2BBEFE |
| PYPI 버전 | 저지르다 |
|---|---|
| 0.8.2 | 93E123C6788E934E6B7B1FD85770371BECF1E92E |
| 0.7.2 | B05642FE386EE79E0D88AA083565C9A93428519E |
구형 릴리스에 대한 세부 사항을 사용할 수 없습니다.
참고 : 이것은 포괄적 인 목록이 아닙니다. Lingvo 릴리스는 거꾸로 호환성에 대한 보장을 제공하지 않습니다.
여기 아무것도 없습니다.
beam_done 가져 와서 반환합니다.done_hyps 필드를 제거합니다. abc.ABCMeta 에서 연장되는 Baselayer의 서브 클래스는 이제 대신 base_layer.ABCLayerMeta 확장해야합니다.__init__ 이외의 Self.createchild를 호출하려고하면 이제 오류가 발생합니다.base_layer.initializer 가 제거되었습니다. 서브 클래스는 더 이상 __init__ 함수를 장식 할 필요가 없습니다.__init__ 또는 _CreateLayerVariables 외부에서 Createvariable을 호출하려고하면 이제 오류가 발생합니다.__init__ 의 내부에 Self.vars 또는 Self.theta에 액세스 할 수는 없습니다. 가변 생성 및 _CreateLayerVariables 에 대한 액세스를 이동하여 리팩터. 가변 범위는 _CreateLayerVariables 의 레이어 이름에 따라 자동으로 설정됩니다.구형 릴리스에 대한 세부 사항을 사용할 수 없습니다.
Lingvo를 설정하는 두 가지 방법이 있습니다 : PIP를 통해 고정 버전을 설치하거나 저장소를 복제하고 Bazel로 빌드하십시오. Docker 구성은 각 사례에 대해 제공됩니다.
프레임 워크를 사용하려면 PIP를 통해 설치하는 것이 가장 쉽습니다. 이를 통해 냉동 된 버전의 Lingvo 프레임 워크를 사용하여 사용자 정의 모델을 개발하고 훈련시킬 수 있습니다. 그러나 프레임 워크 코드를 수정하거나 새로운 사용자 정의 작전을 구현하기는 어렵습니다.
프레임 워크를 더욱 개발하고 풀려 당김 요청에 기여하려면 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를 설치하는 방법.
씨:
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-* : 체크 포인트 파일.이제 "테스트"데이터 세트의 모델을 평가해 봅시다. 정상적인 교육 설정에서 트레이너와 평가자는 두 개의 별도 프로세스와 동시에 실행해야합니다.
씨:
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, ...
보다 정교한 모델을 실행하려면 GPU가있는 클러스터가 필요합니다. 자세한 내용은 third_party/py/lingvo/tasks/mt/README.md 를 참조하십시오.
512-way 모델 병렬 처리를 사용하여 CloudTpus v3-512를 사용하여 GCP에서 하나의 조화 매개 변수로 GSHARD 언어 모델을 훈련하려면 third_party/py/lingvo/tasks/lm/README.md 를 참조하십시오.
GCP에서 CloudTpus를 사용하여 StarNet 모델을 실행하려면 third_party/py/lingvo/tasks/car/README.md 를 참조하십시오.
듣고, 참석하고, 철자.
William Chan, 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 Axiv, 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, Zhifeng Chen, Yonghui Wu 및 MacDuff Hughes. ACL 2018.
자원이 풍부한 신경 기계 번역을위한 자체 감독 및 감독 공동 교육.
Yong Cheng, Wei Wang, Lu Jiang 및 Wolfgang Macherey. 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}
}
아파치 라이센스 2.0