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__ refactor โดยการย้ายการสร้างตัวแปรและการเข้าถึง _CreateLayerVariables ขอบเขตตัวแปรถูกตั้งค่าโดยอัตโนมัติตามชื่อเลเยอร์ใน _CreateLayerVariablesรายละเอียดสำหรับรุ่นเก่าไม่สามารถใช้งานได้
มีสองวิธีในการตั้งค่า Lingvo: การติดตั้งเวอร์ชันคงที่ผ่าน PIP หรือโคลนที่เก็บและสร้างด้วย Bazel การกำหนดค่า Docker มีให้สำหรับแต่ละกรณี
หากคุณต้องการใช้เฟรมเวิร์กตามที่เป็นอยู่มันง่ายที่สุดที่จะติดตั้งผ่าน PIP สิ่งนี้ทำให้สามารถพัฒนาและฝึกอบรมโมเดลที่กำหนดเองโดยใช้เฟรมเวิร์ก Lingvo เวอร์ชันแช่แข็ง อย่างไรก็ตามมันเป็นเรื่องยากที่จะแก้ไขรหัสเฟรมเวิร์กหรือใช้ 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
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 ไฟล์ต่อไปนี้จะถูกสร้างขึ้นใน /tmp/mnist :
mnist.data-00000-of-00001 : 53MBmnist.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/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 --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.GraphDefevents.* : ไฟล์เหตุการณ์ 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/logBazel:
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 สำหรับข้อมูลเพิ่มเติม
ในการฝึกอบรมแบบจำลองภาษา GSHARD ที่มีพารามิเตอร์หนึ่งล้านล้านบน GCP โดยใช้ CloudTPUS V3-512 โดยใช้แบบจำลองแบบ 512-way Parallelism โปรดดูที่ third_party/py/lingvo/tasks/lm/README.md สำหรับข้อมูลเพิ่มเติม
ในการเรียกใช้โมเดล StarNet โดยใช้ CloudTPUs บน GCP โปรดดูที่ 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
DeepFusion: LIDAR-CAMERA DEEP FUSION สำหรับการตรวจจับวัตถุ 3D แบบหลายโมดอล
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 Arxiv, 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 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}
}
ใบอนุญาต Apache 2.0