프로젝트는 지속적으로 업데이트됩니다 ...
풀 요청을 환영합니다!
참고 : 이것은 모든 프레임 워크를위한 하나의 변환기가 아니라 다른 변환기 모음입니다. Github는 오픈 소스 플랫폼이기 때문에 여기서 서로를 도울 수 있고 모든 사람의 힘을 모을 수 있기를 바랍니다.
이러한 다른 프레임 워크로 인해 다양한 프레임 워크를위한 딥 러닝 모델의 멋진 컨버터가 발생합니다. 모든 변환기를 테스트하지 않았으므로 각각을 사용할 수 있음을 보장 할 수 없었습니다. 그러나이 컨버터 컬렉션이 도움이되기를 바랍니다.
아래 시트는 GitHub의 모든 컨버터에 대한 개요입니다 (공식 제공뿐만 아니라 더 많은 사람들이 사용자가 제공하는 구현). 이 컨버터를 수집하기 위해 약간의 작업을합니다. 또한 모든 사람 이이 프로젝트를 지원하여 다양한 프레임 워크 때문에 더 미친 사람들을 돕기 위해이 프로젝트를 지원할 수 있기를 바랍니다.
| 변환기 | mxnet | 카페 | caffe2 | cntk | 티아노/라자네 | 네온 | Pytorch | 토치 | 케라 | 다크 넷 | 텐서 플로 | 체인 | Coreml/iOS | 외륜 | onx |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| mxnet | - | mmdnn mxnet2caffe mxnet2caffe | MMDNN (ONNX를 통해) | mmdnn | 없음 | 없음 | mmdnn gluon2pytorch | 없음 | mmdnn | 없음 | mmdnn | 없음 | mxnet-to-coreml mmdnn | 없음 | 없음 |
| 카페 | mxnet/도구/caffe_converter resnet_caffe2mxnet mmdnn | - | caffetocaffe2 mmdnn (onnx를 통해) | crosstalkcaffe/caffeconverter mmdnn | caffe_theano_conversion caffe-model-convert caffe-to-theano | Caffe2neon | MMDNN PYTORCH-CAFFE PYTORCH-RESNET | Googlenet-Caffe2Torch Mocha Loadcaffe | keras-caffe-converter caffe_weight_converter caffe2keras nn_tools keras caffe2keras deep_learning_model_converter mmdnn | Pytorch-caffe-darknet-convert | mmdnn nn_tools 카페-텐서 플로우 | 없음 | Coremlzoo Apple/CoremlTools mmdnn | x2paddle | caffe2onnx |
| caffe2 | 없음 | 없음 | - | onx | 없음 | 없음 | onx | 없음 | 없음 | 없음 | 없음 | 없음 | 없음 | 없음 | 없음 |
| cntk | mmdnn | mmdnn | onnx mmdnn (onnx를 통해) | - | 없음 | 없음 | Onnx mmdnn | 없음 | mmdnn | 없음 | mmdnn | 없음 | mmdnn | 없음 | 없음 |
| 티아노/라자네 | 없음 | 없음 | 없음 | 없음 | - | 없음 | 없음 | 없음 | 없음 | 없음 | 없음 | 없음 | 없음 | 없음 | 없음 |
| 네온 | 없음 | 없음 | 없음 | 없음 | 없음 | - | 없음 | 없음 | 없음 | 없음 | 없음 | 없음 | 없음 | 없음 | 없음 |
| Pytorch | mmdnn | Brocolli pytorchtocaffe mmdnn pytorch2caffe pytorch-caffe-darknet-convert | onnx-caffe2 mmdnn (onnx를 통해) | Onnx mmdnn | 없음 | 없음 | - | 없음 | mmdnn pytorch2keras nn-transfer | Pytorch-caffe-darknet-convert | mmdnn pytorch2keras (keras) pytorch-tf | 없음 | mmdnn onnx-coreml | 없음 | 없음 |
| 토치 | 없음 | FB-caffe-exts/torch2caffe mocha trans-torch th2caffe | Torch2caffe2 | 없음 | 없음 | 없음 | convert_torch_to_pytorch | - | 없음 | 없음 | 없음 | 없음 | Torch2coreml Torch2ios | 없음 | 없음 |
| 케라 | mmdnn | Keras-caffe-converter mmdnn nn_tools keras2caffe | MMDNN (ONNX를 통해) | mmdnn | 없음 | 없음 | mmdnn nn-transfer | 없음 | - | 없음 | nn_tools convert-to-tensorflow keras_to_tensorflow keras_to_tensorflow mmdnn | 없음 | Apple/CoremlTools 모델 컨버터 keras_models mmdnn | 없음 | 없음 |
| 다크 넷 | 없음 | Pytorch-caffe-darknet-convert | 없음 | mmdnn | 없음 | 없음 | Pytorch-caffe-darknet-convert | 없음 | mmdnn | - | DW2TF Darkflow LEGO_YOLO | 없음 | 없음 | 없음 | 없음 |
| 텐서 플로 | mmdnn | mmdnn nn_tools | MMDNN (ONNX를 통해) | Crosstalk mmdnn | 없음 | 없음 | pytorch-tf mmdnn | 없음 | Model-Converters nn_tools convert-to-tensorflow mmdnn | 없음 | - | 없음 | tfcoreml mmdnn | x2paddle | 없음 |
| 체인 | 없음 | 없음 | 없음 | 없음 | 없음 | 없음 | Chainer2pytorch | 없음 | 없음 | 없음 | 없음 | - | 없음 | 없음 | 없음 |
| Coreml/iOS | mmdnn | mmdnn | MMDNN (ONNX를 통해) | mmdnn | 없음 | 없음 | mmdnn | 없음 | mmdnn | 없음 | mmdnn | 없음 | - | 없음 | |
| 외륜 | 없음 | 없음 | 없음 | 없음 | 없음 | 없음 | 없음 | 없음 | 없음 | 없음 | 없음 | 없음 | 없음 | - | 없음 |
| onx | 없음 | 없음 | 없음 | 없음 | 없음 | 없음 | onnx2Torch onnx2Torch | 없음 | 없음 | 없음 | 없음 | 없음 | 없음 | x2paddle | - |
모든 종류의 신경망 간 변환을위한 일반적인 프레임 워크
Onnx는 NN 세계에 정신을 가져 오기 위해 신경망을위한 변환기를 통합하려는 노력입니다. Facebook 및 Microsoft가 출시했습니다. 더 많은 정보는 여기에 있습니다.
MMDNN은 사용자가 다양한 딥 러닝 프레임 워크간에 상호 작용하는 데 도움이되는 일련의 도구입니다. 예를 들어 모델 변환 및 시각화. Caffeemit, CNTK, Coreml, Keras, MXnet, Onnx, Pytorch 및 Tensorflow 사이의 모델을 변환합니다.

MXNET 모델로 변환하십시오 .
몇 가지 딥 러닝 모델이 다양한 형식에서 Coremls 형식으로 변환되었습니다. 현재 사용 가능한 모델 :
다루는 주요 주제에는 다음이 포함됩니다.
이는 깊은 반복적 인 네트워크를 카페 모델에서 MXNET 모델로 변환하는 도구입니다. 가중치는 Caffe Network Blobs에서 직접 복사됩니다.
카페 모델로 변환하십시오 .
그것은 두 가지 방법으로 Keras와 Caffe 사이의 변환기입니다. Keras 모델 만 사용하여 Caffemodel 및 ProtoTxt 파일을 생성하지만 모델의 설명과 함께 프로토 텍스트 파일을 전달할 수도 있습니다.
1.9.0 이상의 Pytorch를 지원합니다
Pytorch 모델을 Caffemodel로 변환하십시오.
mxnet 모델을 카페 모델로 변환하십시오.
mxnet 모델을 카페 모델로 변환하십시오.
토치 모델을 Caffe 모델로 쉽게 변환하십시오.
이 도구는 Caffe 1.0, Keras 2.1.2 및 Tensorflow 1.4.0으로 테스트되었습니다.
작업 전환 예제 :
문제 레이어 :
Caffe 딥 러닝 프레임 워크를위한 편리한 유틸리티 라이브러리 및 도구는 미리 훈련 된 토치 모델을 동등한 카페 모델로 변환하기위한 라이브러리가 있습니다. **
Pytorch, Caffe 및 Darknet 모델을 변환하십시오. Caffe Darknet 모델은 Pytorch에 의해 직접로드 될 수 있습니다.
토치 모델을 Caffe, MXnet과 같은 다른 프레임 워크로 변환 ...
특정 층에 대한 토치 -NN 대 카페 변환기.
Caffe Tensorflow Keras의 모델을위한 신경망 변환기
Pytorch 및 Caffe를위한 신경망 프레임 워크를위한 도구 제공.
NN_Tools는 MIT 라이센스에 따라 릴리스됩니다 (자세한 내용은 라이센스 파일 참조).
특징:
요구 사항
CAFFE2 모델로 변환합니다 .
이것은 공식 변환기로, 다음과 같이 ipython 노트북을 대본으로 제공 할뿐만 아니라 다음과 같습니다.
Pytorch를 Caffe2로 변환합니다 (모바일 장치에 특히 쉽게 배포 할 수 있음)
CNTK 모델로 변환하십시오 .
이 도구는 숙련 된 모델을 카페에서 CNTK로 변환하는 데 도움이됩니다.
훈련 된 모델 변환 : 모델 스크립트 및 가중치 파일 제공, CNTK 모델로 내보내십시오.
Crosstalk는 CNTK Contrib입니다.
Theano/Lasagne 모델로 변환하십시오 .
이것은 스탠포드 대학교 (Stanford University)의 CS231N 프로젝트의 일부이며, 2015 년 수학 전공 Ankit Kumar가 작성했습니다.
이 저장소는 사전에 사전 카페 모델을 Theano 주변의 얇은 래퍼 인 Lasagne의 모델로 변환 할 수있는 저장소입니다. 카페 모델의 아키텍처를 라자냐의 아키텍처를 동등한 모델로 변환 할 수도 있습니다. 이 모듈을 사용하기 위해 카페를 설치할 필요가 없습니다.
현재 다음 카페 계층이 지원됩니다.
* Convolution
* LRN
* Pooling
* Inner Product
* Relu
* Softmax
모델을 카페에서 theano 형식으로 변환하십시오.
카페 모델을 Theano 모델로 변환하십시오. 이것은 현재 Alexnet에서 작동하지만 충격을받은 레이어 만 포함하는 모든 Caffe 모델에서 작동해야합니다.
네온 모델로 변환 .
카페 모델을 네온의 직렬화 형식으로 변환하는 도구.
이 repo에는 카페 모델을 네온 딥 러닝 라이브러리와 호환되는 형식으로 변환하는 도구가 포함되어 있습니다. 기본 스크립트 인 "Decafeinate.py"는 Caffe 모델 정의 파일과 해당 모델 가중치 파일을 입력하고 네온 직렬화 된 모델 파일을 반환합니다. 이 출력 파일은 네온 모델 객체를 인스턴스화하는 데 사용될 수 있으며, 이는 카페 모델의 동작을 복제 해야하는 네온에서 모델을 생성합니다.
Pytorch 모델로 변환하십시오 .
mxnet / gluon 그래프를 Pytorch 소스 + 가중치로 변환하십시오.
카페로 훈련 된 RESNET을 Pytorch 모델로 변환합니다.
Torch T7 모델을 Pytorch 모델 및 소스로 변환하십시오.
chainer2pytorch Chainer 모듈에서 Pytorch 모듈로의 변환을 구현하여 각 모듈의 매개 변수를 설정하여 모듈을 기반으로 모델을 통해 포트 할 수 있습니다.
카페에서 pytorch로 모델을 명시 적으로 변환하지 않고 Caffe prototxt 및 weights를 Pytorch에 직접로드하십시오.
Keras와 Pytorch 모델을 변환하십시오.
토치 모델로 변환하십시오 .
BVLC_GOOGLENET.CAFFEMODEL을 Torch NN 모델로 변환합니다.
Torch의 BVLC 모델 동물원에서 미리 훈련 된 Googlenet을 사용하고 싶습니까? Caffe를 Torch 내부의 추가 의존성으로 사용하고 싶지 않습니까? 이 두 스크립트를 사용하여 Torch에서 네트워크 정의를 구축하고 Caffe 모델에서 배운 가중치를 복사하십시오.
토치 모델을 Caffe 모델로 쉽게 변환하십시오.
카페 모델을 Torch NN.edequential 모델로 변환하십시오.
Keras 모델로 변환하십시오 .
Keras와 Caffe 사이의 양방향 변환기입니다. caffe_weight_converter를 사용하여 .caffemodel 의 가중치를 취하고 동등한 Keras 모델을 생성합니다. 또한 해당 Keras 모델을 생성하는 데 사용되는 Python 소스 코드를 출력합니다.
이 프로젝트는이 목록의 이전 프로젝트의 일부로 사용됩니다. Alexpasqua/Keras-Caffe-Converter는보다 완전하고 문서화되며 사용하기 쉽습니다. 대신 사용하는 것이 좋습니다.
이것은 카페에서 -keras 무게 변환기, 즉 keras-2와 호환 HDF5 가중치 파일로 변환 .caffemodel . 또한 추가 처리를 위해 .caffemodel 가중치를 Numpy Array로 내보낼 수도 있습니다.
이 컨버터는 모델 정의가 아닌 모델의 가중치 만 변환합니다. 이는 모델 정의와 같은 다른 컨버터 유형을 만날 때마다 깨지지 않을 것이라는 큰 이점이 있습니다. 물론 단점은 모델 정의를 직접 작성해야한다는 것입니다.
이 저장소는 또한 일부 인기있는 모델에 대한 변환 가중치를 제공합니다.
참고 :이 변환기는 Caffe의 Marc Bolaños 포크의 코드에서 조정되었습니다. 코드 출처에 대한 ACK를 참조하십시오.
이는 카페 모델에 대한 전환 모듈로서 Keras 모델로의 전환 모듈로 사용됩니다.
이 모듈은 정기적으로 유지 관리되지 않습니다. 따라서 Keras 또는 Caffe의 최신 버전으로 도입 된 일부 레이어 또는 매개 변수 정의는 변환기와 호환되지 않을 수 있습니다. 요청을 당기는 것을 환영합니다!
Caffe Tensorflow Keras의 모델을위한 신경망 변환기
몇 가지 새로운 기능을 갖춘 Keras의 포크. Caffe2keras 컨버터, 멀티 모달 층 등 https://github.com/marcbs/keras
Keras 의이 포크는 다음과 같은 기여를 제공합니다.
카페에서 keras 전환 모듈 계층 별 학습 속도 멀티 모달 데이터를위한 새로운 계층 연락 이메일 : [email protected]
github 페이지 : https://github.com/marcbs
Marcbs/Keras는 Python 2.7 및 Theano 만 호환됩니다.
카페 모델을 Keras 모델로 변환하는 간단한 도구.
Keras와 Pytorch 모델을 변환하십시오.
Pytorch 모델을 Keras로 변환하십시오.
DarkNet 모델로 변환하십시오 .
Pytorch, Caffe 및 Darknet 모델을 변환하십시오. Caffe Darknet 모델은 Pytorch에 의해 직접로드 될 수 있습니다.
Tensorflow 모델로 변환하십시오 .
Crosstalk는 CNTK 출신입니다.
다른 ML 프레임 워크 (Coreml, Tensorflow)와 함께 사용하기위한 Keras 모델을 변환하기위한 도구.
Caffe Tensorflow Keras의 모델을위한 신경망 변환기
카페 모델을 Tensorflow로 변환하십시오.
C ++ 텐서 플로우 API와 함께 사용하기 위해 다양한 훈련 된 모델을 동결 된 텐서 플로 프로토콜 버퍼 파일로 변환합니다. 냉동 모델을 사용하기 위해 C ++ 코드가 포함되어 있습니다.
DarkNet을 Tensorflow로 번역하십시오. 텐서 플로우를 사용하여 훈련 된 무게, 재교육/미세 조정, 모바일 장치로 일정한 그래프 데프를 내보내십시오.
Darknet의 가중치를 사용하여 새 데이터 세트에서 Yolo를 재교육하기 위해 Tensorflow 코드
이 저장소에는 새로운 합성 레고 데이터 세트에서 Yolo를 사용한 전송 학습 실험이 포함되어 있습니다.
케라 모델을 휴대폰 등에 사용하기 위해 keras 모델을 냉동 냉동 그래프로 변환하십시오.
훈련 된 케라 모델을 추론 텐서 플로우 모델로 변환하는 일반 코드.
사전에 사전 처리 된 pytorch 모델을 텐서 플로로 변환합니다
Pytorch 모델을 Tensorflow로 변환 (Keras를 통해)
이것은 DarkNet Weights 파일 (.weights)을 TensorFlow Weights 파일 (.CKPT)으로 변환하는 간단한 대회입니다.
readme.
Chainer 모델로 변환하십시오 .
Coreml 모델로 변환하십시오 .
타사 기계 학습 도구로 생성 된 숙련 된 모델을 핵심 ML 모델 형식으로 변환합니다.
지원되는 타사 기계 학습 도구를 사용하여 모델이 만들어지고 훈련 된 경우 핵심 ML 도구를 사용하여 핵심 ML 모델 형식으로 변환 할 수 있습니다. 표 1에는 지원되는 모델 및 타사 도구가 나와 있습니다.
| 모델 유형 | 지원되는 모델 | 지원되는 도구 |
|---|---|---|
| 신경망 | 피드 포워드, 컨볼 루션, 재발 | 카페 v1 케라 1.2.2+ |
| 나무 앙상블 | 임의의 숲, 부스트 된 나무, 의사 결정 트리 | Scikit-Learn 0.18 xgboost 0.6 |
| 벡터 머신을 지원합니다 | 스칼라 회귀, 멀티 클래스 분류 | Scikit-Learn 0.18 LiBSVM 3.22 |
| 일반화 된 선형 모델 | 선형 회귀, 로지스틱 회귀 | Scikit-Learn 0.18 |
| 기능 엔지니어링 | 드문 벡터화, 조밀 한 벡터화, 범주 형 처리 | Scikit-Learn 0.18 |
| 파이프 라인 모델 | 순차적으로 묶인 모델 | Scikit-Learn 0.18 |
MXNET 모델을 Apple Coreml 형식으로 변환하십시오. 이 도구는 MXNET 모델을 Apple Coreml 형식으로 변환하여 Apple 장치에서 실행할 수 있습니다.
이 도구는 Torch7 모델을 Apple Coreml 형식으로 변환하여 Apple 장치에서 실행할 수 있습니다.
Torch7 라이브러리 - NN 모델을 iOS 형식으로 변환합니다.
iOS 용 Torch7 네트워크를 시리얼링하는 작은 lib. 지지되는 층에는 현재 완전히 연결된 풀링, 풀링 및 컨볼 루션 층이 포함됩니다. 라이브러리는 iOS 장치에서 추론을 위해 각 층 Necesarry의 가중치 및 바이어스 (있는 경우)를 저장합니다.
Keras는 Python 기반 변환기가 장착되어 iOS 플랫폼에 포함시킵니다.
다른 ML 프레임 워크 (Coreml, Tensorflow)와 함께 사용하기위한 Keras 모델을 변환하기위한 도구.
Google은 Apple과 협력하여 Coreml Converter 발표에 대한 텐서 플로우를 만듭니다.
코어 ML에 대한 지원은 텐서 플로 모델을 사용하여 코어 ML 모델 형식 (.mlmodel)으로 변환하는 도구를 통해 제공됩니다.
패들 모델로 변환하십시오 .
x2paddle은 숙련 된 모델을 다른 딥 러닝 프레임 워크에서 패들들로 변환하기위한 툴킷입니다.
보다 자세한 모델 : x2paddle/x2paddle_model_zoo.md at develop · paddlepaddle/x2paddle