TL;DR
――En gros, procédez au travail après avoir créé un environnement virtuel
Un exemple chez Anaconda
conda create -n mmdnn python=3.6
1.1. Version
(enquête ...)
1.2. Opset
(enquête ...)
ONNX versioning https://github.com/onnx/onnx/blob/master/docs/Versioning.md ONNX Version Converter https://github.com/onnx/onnx/blob/master/docs/VersionConverter.md Documentation sur la compatibilité de la version ONNX Runtime https://github.com/microsoft/onnxruntime/blob/master/docs/Versioning.md Version ONNX et version Windows https://docs.microsoft.com/ja-jp/windows/ai/windows-ml/onnx-versions
2.1. MMdnn
https://github.com/Microsoft/MMdnn
MMdnn est un outil cross-framework complet pour la transformation, la visualisation et le diagnostic de modèles d'apprentissage profond (DL). "MM" est une abréviation pour la gestion de modèle et "dnn" est un acronyme pour Deep Neural Network.
Référence: https://github.com/Microsoft/MMdnn
Réimprimé à partir du (à partir du 7 juillet 2020): https://github.com/Microsoft/MMdnn
pip install mmdnn
mmconvert -sf keras -iw <fichier keras HDF5(*.h5)> -df onnx -om <Fichier ONNX de sortie(*.onnx)>
Référence: https://arakan-pgm-ai.hatenablog.com/entry/2019/03/01/090000
2.1.6. Tips
rise ValueError ('No model found in config file.')
Est affiché dans la méthode load_model_from_hdf5 **Il semble s'afficher lorsque le format de keras enregistré ne fait que pondérer.
Il y a des informations que la solution de contournement a été améliorée en utilisant model.save ()
au lieu de model.save_weights ()
lors de l'enregistrement.
référence: - AssertionError · Issue #324 · microsoft/MMdnn
2.2. ONNXMLTools
https://github.com/onnx/onnxmltools https://pypi.org/project/onnxmltools/
ONNXMLTools vous permet de convertir des modèles de diverses boîtes à outils d'apprentissage automatique vers ONNX.
Source: https://github.com/onnx/onnxmltools
--Keras (wrapper du convertisseur keras2onnx) --Tensorflow (wrapper du convertisseur tf2onnx) --scikit-learn (enveloppe du convertisseur skl2onnx)
Réimprimé à partir du (à partir du 7 juillet 2020): https://github.com/onnx/onnxmltools
2.3. keras2onnx
https://github.com/onnx/keras-onnx
Le convertisseur de modèle keras2onnx vous permet de convertir votre modèle Keras au format de modèle ONNX. Au départ, le convertisseur Keras a été développé dans le projet onnxmltools, mais le développement du convertisseur Keras2onnx a été déplacé vers un référentiel distinct pour prendre en charge plus de types de modèles Keras et réduire la complexité du mélange de plusieurs convertisseurs. ..
Source: https://github.com/onnx/keras-onnx
De plus, [WinMLTool](# 12-winmltools) encapsule l'appel à keras2onnx.
2.4. WinMLTools
Convertissez divers modèles d'apprentissage automatique en ONNX et utilisez-les dans Windows ML (environnement d'inférence rapide pour Windows) Un outil pour vous permettre.
https://docs.microsoft.com/ja-jp/windows/ai/windows-ml/convert-model-winmltools
WinMLTools vous permet de convertir des modèles d'apprentissage automatique créés par divers frameworks de formation vers ONNX. Il s'agit d'une extension d'ONNXMLTools et de TF2ONNX pour convertir un modèle en ONNX pour une utilisation dans Windows ML.
Source: https://docs.microsoft.com/ja-jp/windows/ai/windows-ml/convert-model-winmltools
Réimprimé à partir du (à partir du 7 juillet 2020): https://docs.microsoft.com/ja-jp/windows/ai/windows-ml/convert-model-winmltools
3.1. ONNX Version Converter
https://github.com/onnx/onnx/blob/master/docs/VersionConverter.md
Un tutoriel montrant un exemple de mise à niveau et de rétrogradation d'un modèle ONNX vers un nouvel opset cible https://github.com/onnx/tutorials/blob/master/tutorials/ExportModelFromPyTorchForWinML.md
L'API ONNX fournit une bibliothèque pour convertir les modèles ONNX entre différentes versions d'opset. Cela permet aux développeurs et aux scientifiques des données de mettre à niveau leurs modèles ONNX existants vers des versions plus récentes ou de rétrograder leurs modèles vers des versions plus anciennes des spécifications ONNX. Les convertisseurs de version peuvent être appelés à l'aide des API C ++ ou Python. Un didacticiel est également fourni qui montre un exemple de mise à niveau et de rétrogradation d'un modèle ONNX vers un nouvel opset cible.
Source: https://docs.microsoft.com/ja-jp/windows/ai/windows-ml/onnx-versions
4.1. Netron
https://github.com/lutzroeder/netron
Installer avec Winget
winget install -e --id LutzRoeder.Netron
Vous pouvez vérifier la version ONNX à partir du bouton Propriétés du modèle en haut à gauche.
** Exemple de confirmation 1 **
La version du format de fichier -ONNX est v6 --Deux entrées, trois sorties
** Exemple de confirmation 2 **
La version du format de fichier -ONNX est v7 --Deux ENTRÉES et trois SORTIES (aucune différence par rapport à l'exemple de confirmation 1)