MMDNN은 DL (Deep Learning) 모델을 변환, 시각화 및 진단하는 포괄적이고 교차 프레임 워크 도구입니다. "MM"은 모델 관리를 의미하며 "DNN"은 심층 신경망의 약어입니다.
주요 기능은 다음과 같습니다.
모델 변환
모델 재교육
모델 검색 및 시각화
모델 배포
우리는 다른 하드웨어 플랫폼에 DL 모델을 배포하는 데 도움이되는 몇 가지 지침을 제공합니다.
Tensorrt와의 추론을 가속화하는 데 도움이되는 안내서를 제공합니다.
개방성을 목표로하고 최첨단 기술을 발전시키는 Microsoft Research (MSR) 및 Microsoft Software Technology Center (STC)도 몇 가지 다른 오픈 소스 프로젝트를 발표했습니다.
우리는 연구원, 개발자 및 학생들이 이러한 프로젝트를 활용하여 AI / 딥 러닝 생산성을 높이도록 권장합니다.
MMDNN의 안정적인 버전을 얻을 수 있습니다
pip install mmdnnPython을 설치했는지 확인하십시오. 그렇지 않으면 최신 버전을 사용해 볼 수 있습니다.
pip install -U git+https://github.com/Microsoft/MMdnn.git@masterMMDNN은 우리가 지원하는 MMDNN 및 딥 러닝 프레임 워크 및 기타 의존성을 포장하는 Docker 이미지를 제공합니다. 다음 단계로 이미지를 쉽게 시도 할 수 있습니다.
Docker Community Edition 설치 (CE)
Docker를 설치하는 방법에 대해 자세히 알아보십시오
mmdnn docker 이미지를 당깁니다
docker pull mmdnn/mmdnn:cpu.small대화식 모드에서 이미지를 실행하십시오
docker run -it mmdnn/mmdnn:cpu.small업계와 학계 전체에 걸쳐 개발자와 연구원이 모델을 설계 할 수있는 여러 기존 프레임 워크가 있으며, 각 프레임 워크에는 자체 네트워크 구조 정의 및 저장 모델 형식이 있습니다. 프레임 워크 간의 격차는 모델의 상호 작용을 방해합니다.
우리는 개발자가 중간 표현 형식을 통해 프레임 워크 간 모델을 변환 할 수 있도록 모델 변환기를 제공합니다.
[참고] 링크를 클릭하여 각 프레임 워크의 자세한 읽기를 얻을 수 있습니다.
현재 지원되는 프레임 워크 간의 모델 변환은 일부 ImageNet 모델에서 테스트됩니다.
| 모델 | 카페 | 케라 | 텐서 플로 | cntk | mxnet | Pytorch | Coreml | onx |
|---|---|---|---|---|---|---|---|---|
| vgg 19 | √ | √ | √ | √ | √ | √ | √ | √ |
| Inception v1 | √ | √ | √ | √ | √ | √ | √ | √ |
| Inception v3 | √ | √ | √ | √ | √ | √ | √ | √ |
| Inception v4 | √ | √ | √ | 영형 | √ | √ | √ | √ |
| RESNET v1 | × | √ | √ | 영형 | √ | √ | √ | √ |
| RESNET v2 | √ | √ | √ | √ | √ | √ | √ | √ |
| Mobilenet v1 | × | √ | √ | 영형 | √ | √ | √ | √ |
| Mobilenet V2 | × | √ | √ | 영형 | √ | √ | √ | √ |
| xception | √ | √ | √ | 영형 | × | √ | √ | √ |
| 스퀴 제넷 | √ | √ | √ | √ | √ | √ | √ | √ |
| Densenet | √ | √ | √ | √ | √ | √ | √ | √ |
| NASNET | 엑스 | √ | √ | 영형 | √ | √ | √ | 엑스 |
| 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완료.
우리는 딥 러닝 모델의 네트워크 아키텍처를 표시하기위한 로컬 비주얼 라이저를 제공합니다. 지침을 참조하십시오.
Keras "Inception v3"에 CNTK 및 관련 문제
Tensorflow Slim Model "Resnet v2 152"는 Pytorch에
mxnet 모델 "lresnet50e-ir"에 대한 텐서 플로우 및 관련 문제
MXNET "RESNET-152-11K"는 Pytorch로
MXNET "RESNET-152-11K"의 또 다른 예
mxnet "resnext"keras
Tensorflow "Resnet-101"에서 Pytorch
Tensorflow "MNIST MLP 모델"은 CNTK입니다
mxnet에서 "inception_v3"텐서 플로우
카페 "Voc-fcn"에 텐서 플로우
"Alexnet"카페에 텐서 플로우
Caffe "inception_v4"에 텐서 플로우
Caffe "vgg16_sod"는 텐서 플로우에
CNTK에서 Caffe "Squeezenet v1.1"
대부분의 기부금은 귀하가 기부금을 사용할 권리를 부여하고 실제로 할 권리가 있다고 선언하는 기고자 라이센스 계약 (CLA)에 동의해야합니다. 자세한 내용은 https://cla.microsoft.com을 방문하십시오.
풀 요청을 제출할 때 CLA-BOT은 CLA를 제공하고 PR을 적절하게 장식 해야하는지 자동으로 결정합니다 (예 : 레이블, 댓글). 봇이 제공 한 지침을 따르십시오. CLA를 사용하여 모든 저장소에서 한 번만이 작업을 수행하면됩니다.
이 프로젝트는 Microsoft 오픈 소스 행동 강령을 채택했습니다. 자세한 내용은 추가 질문이나 의견이 있으면 행동 강령 FAQ 또는 [email protected]에 문의하십시오.
중간 표현은 네트워크 아키텍처를 Protobuf 바이너리 및 미리 훈련 된 가중치 로 저장 합니다 .
[참고!] 현재 IR 가중치 데이터는 NHWC (채널 마지막) 형식입니다.
세부 사항은 ops.txt 및 graph.proto에 있습니다. 새로운 운영자와 의견을 환영합니다.
우리는 Pytorch, Coreml 등과 같은 다른 프레임 워크 변환 및 시각화를 연구하고 있습니다. 우리는 더 많은 RNN 관련 연산자를 조사하고 있습니다. 모든 기여와 제안을 환영합니다! 기여 가이드 라인의 세부 사항.
Yu Liu (Peking University) : 프로젝트 개발자 및 관리자
Cheng Chen (Microsoft Research Asia) : Caffe, CNTK, Coreml Emitter, Keras, MXNet, Tensorflow
Jiahao Yao (Peking University) : Coreml, MXnet Emitter, Pytorch Parser; 홈페이지
Ru Zhang (중국 과학 아카데미) : Coreml Emitter, Darknet Parser, Keras, Tensorflow Frozen Graph Parser; Yolo 및 SSD 모델; 테스트
Yuhao Zhou (Shanghai Jiao Tong University) : MXnet
Tingting Qin (Microsoft Research Asia) : Caffe Emitter
Tong Zhan (Microsoft) : Onnx 이미 터
Qianwen Wang (홍콩 과학 기술 대학교) : 시각화
Saumitro Dasgupta 덕분에 Caffe의 초기 코드 -> IR 변환은 그의 프로젝트 Caffe -Tensorflow에 대한 참조입니다.
MIT 라이센스에 따라 라이센스.