MMDNN เป็นเครื่องมือที่ครอบคลุมและข้ามกรอบเพื่อแปลงสร้างภาพและวินิจฉัยโมเดลการเรียนรู้ลึก (DL) "MM" หมายถึงการจัดการแบบจำลองและ "DNN" เป็นตัวย่อของเครือข่ายประสาทลึก
คุณสมบัติที่สำคัญ ได้แก่ :
การแปลงแบบจำลอง
การฝึกอบรมแบบจำลองใหม่
การค้นหาและการสร้างภาพแบบจำลอง
การปรับใช้แบบจำลอง
เราให้แนวทางบางอย่างเพื่อช่วยให้คุณปรับใช้โมเดล DL ไปยังแพลตฟอร์มฮาร์ดแวร์อื่น
เราให้คำแนะนำเพื่อช่วยคุณเร่งการอนุมานด้วย Tensorrt
การกำหนดเป้าหมายที่เปิดกว้างและพัฒนาเทคโนโลยีล้ำสมัย Microsoft Research (MSR) และ Microsoft Software Technology Center (STC) ได้เปิดตัวโครงการโอเพ่นซอร์สอื่น ๆ อีกไม่กี่โครงการ:
เราสนับสนุนให้นักวิจัยนักพัฒนาและนักเรียนใช้ประโยชน์จากโครงการเหล่านี้เพื่อเพิ่มผลผลิต AI / การเรียนรู้อย่างลึกซึ้ง
คุณสามารถรับ MMDNN เวอร์ชันที่เสถียร
pip install mmdnnและตรวจสอบให้แน่ใจว่าได้ติดตั้ง Python หรือคุณสามารถลองรุ่นใหม่ล่าสุดได้โดย
pip install -U git+https://github.com/Microsoft/MMdnn.git@masterMMDNN ให้ภาพนักเทียบท่าซึ่งบรรจุภัณฑ์ MMDNN และกรอบการเรียนรู้ลึกที่เราสนับสนุนเช่นเดียวกับการพึ่งพาอื่น ๆ คุณสามารถลองภาพด้วยขั้นตอนต่อไปนี้ได้อย่างง่ายดาย:
ติดตั้ง Docker Community Edition (CE)
เรียนรู้เพิ่มเติมเกี่ยวกับวิธีการติดตั้ง Docker
ดึงภาพ MMDNN Docker
docker pull mmdnn/mmdnn:cpu.smallเรียกใช้ภาพในโหมดโต้ตอบ
docker run -it mmdnn/mmdnn:cpu.smallทั่วทั้งอุตสาหกรรมและสถาบันการศึกษามีเฟรมเวิร์กที่มีอยู่จำนวนมากสำหรับนักพัฒนาและนักวิจัยในการออกแบบแบบจำลองซึ่งแต่ละเฟรมเวิร์กมีคำจำกัดความโครงสร้างเครือข่ายของตัวเองและรูปแบบการประหยัดรูปแบบ ช่องว่างระหว่างเฟรมเวิร์กเป็นอุปสรรคต่อการทำงานของแบบจำลอง
เราจัดทำตัวแปลงแบบจำลองเพื่อช่วยให้นักพัฒนาแปลงโมเดลระหว่างเฟรมเวิร์กผ่านรูปแบบการเป็นตัวแทนระดับกลาง
[หมายเหตุ] คุณสามารถคลิกลิงก์เพื่อรับ readme โดยละเอียดของแต่ละเฟรมเวิร์ก
การแปลงแบบจำลองระหว่างเฟรมเวิร์กที่รองรับในปัจจุบันได้รับการทดสอบในบางรุ่น Imagenet
| แบบจำลอง | คาเฟอีน | เครส | เทนเซอร์โฟลว์ | CNTK | MXNET | pytorch | คนขี้เกียจ | onnx |
|---|---|---|---|---|---|---|---|---|
| VGG 19 | ||||||||
| Inception v1 | ||||||||
| Inception v3 | ||||||||
| Inception v4 | โอ | |||||||
| resnet v1 | โอ | |||||||
| resnet v2 | ||||||||
| Mobilenet v1 | โอ | |||||||
| Mobilenet v2 | โอ | |||||||
| Xception | โอ | |||||||
| บอบบาง | ||||||||
| เดนเซเนต | ||||||||
| nasnet | x | โอ | x | |||||
| resnext | ||||||||
| VOC FCN | ||||||||
| YOLO3 |
หนึ่งคำสั่งเพื่อให้บรรลุการแปลง การใช้ TensorFlow Resnet V2 152 ถึง Pytorch เป็นตัวอย่างของเรา
$ mmdownload -f tensorflow -n resnet_v2_152 -o ./
$ mmconvert -sf tensorflow -in imagenet_resnet_v2_152.ckpt.meta -iw imagenet_resnet_v2_152.ckpt --dstNodeName MMdnn_Output -df pytorch -om tf_resnet_to_pth.pthเสร็จแล้ว.
เราให้บริการ Visualizer ท้องถิ่นเพื่อแสดงสถาปัตยกรรมเครือข่ายของรูปแบบการเรียนรู้อย่างลึกซึ้ง โปรดดูคำแนะนำ
Keras "Inception v3" ถึง CNTK และปัญหาที่เกี่ยวข้อง
Tensorflow Slim Model "Resnet V2 152" ถึง Pytorch
MXNET Model "LRESNET50E-IR" ถึง TensorFlow และปัญหาที่เกี่ยวข้อง
mxnet "resnet-152-11k" ถึง pytorch
อีกตัวอย่างหนึ่งของ mxnet "resnet-152-11k" ถึง pytorch
mxnet "resnext" ไปยัง keras
tensorflow "resnet-101" ถึง pytorch
tensorflow "MNIST MLP Model" ถึง CNTK
tensorflow "inception_v3" ถึง mxnet
คาเฟอีน "VOC-FCN" ไปยัง TensorFlow
คาเฟอีน "Alexnet" ถึง tensorflow
คาเฟอีน "inception_v4" ไปยัง tensorflow
คาเฟอีน "vgg16_sod" ไปยัง tensorflow
คาเฟอีน "Squeezenet v1.1" ไปยัง CNTK
การมีส่วนร่วมส่วนใหญ่กำหนดให้คุณต้องยอมรับข้อตกลงใบอนุญาตผู้มีส่วนร่วม (CLA) ประกาศว่าคุณมีสิทธิ์และทำจริงให้สิทธิ์ในการใช้เงินสมทบของคุณ สำหรับรายละเอียดเยี่ยมชม https://cla.microsoft.com
เมื่อคุณส่งคำขอดึง CLA-bot จะพิจารณาโดยอัตโนมัติว่าคุณจำเป็นต้องจัดเตรียม CLA และตกแต่ง PR อย่างเหมาะสมหรือไม่ (เช่นฉลาก, ความคิดเห็น) เพียงทำตามคำแนะนำที่จัดทำโดยบอท คุณจะต้องทำสิ่งนี้เพียงครั้งเดียวใน repos ทั้งหมดโดยใช้ CLA ของเรา
โครงการนี้ได้นำรหัสการดำเนินงานของ Microsoft โอเพ่นซอร์สมาใช้ สำหรับข้อมูลเพิ่มเติมโปรดดูจรรยาบรรณคำถามที่พบบ่อยหรือติดต่อ [email protected] พร้อมคำถามหรือความคิดเห็นเพิ่มเติมใด ๆ
การเป็นตัวแทนระดับกลางจะจัดเก็บ สถาปัตยกรรมเครือข่าย ใน น้ำหนักไบนารี protobuf และ น้ำหนักที่ได้รับการฝึกอบรมล่วงหน้า ในรูปแบบ Numpy Native
[หมายเหตุ!] ปัจจุบันข้อมูล IR Weights อยู่ในรูปแบบ NHWC (ช่องสุดท้าย)
รายละเอียดอยู่ใน ops.txt และ graph.proto ผู้ให้บริการใหม่และความคิดเห็นใด ๆ ยินดีต้อนรับ
เรากำลังทำงานเกี่ยวกับการแปลงเฟรมเวิร์กและการสร้างภาพข้อมูลอื่น ๆ เช่น Pytorch, Coreml และอื่น ๆ เรากำลังตรวจสอบผู้ให้บริการที่เกี่ยวข้องกับ RNN มากขึ้น ยินดีต้อนรับการมีส่วนร่วมและข้อเสนอแนะ! รายละเอียดในแนวทางการบริจาค
Yu Liu (มหาวิทยาลัยปักกิ่ง): ผู้พัฒนาโครงการและผู้ดูแลระบบ
Cheng Chen (Microsoft Research Asia): Caffe, CNTK, Coreml Emitter, Keras, MXNet, Tensorflow
JIAHAO YAO (มหาวิทยาลัยปักกิ่ง): COREML, MXNET EMITTER, Pytorch Parser; หน้าแรก
Ru Zhang (Academy of Sciences จีน): Coreml Emitter, Darknet Parser, Keras, Tensorflow กราฟแช่แข็งตัวแยกวิเคราะห์; รุ่น Yolo และ SSD; การทดสอบ
Yuhao Zhou (มหาวิทยาลัยเซี่ยงไฮ้ Jiao Tong): MXNet
Tingting Qin (Microsoft Research Asia): Caffe Emitter
Tong Zhan (Microsoft): onnx emitter
Qianwen Wang (มหาวิทยาลัยวิทยาศาสตร์และเทคโนโลยีฮ่องกง): การสร้างภาพข้อมูล
ต้องขอบคุณ Saumitro Dasgupta รหัสเริ่มต้นของ คาเฟอีน -> การแปลง IR คือการอ้างอิงถึงโครงการคาเฟอีน -เซ็นเซอร์โฟลว์ของเขา
ได้รับใบอนุญาตภายใต้ใบอนุญาต MIT