CLI
Zur programmatischen Bearbeitung von ML-Beschreibungsdateien, z. B. dem Konvertieren von ONNX zu XML oder BML, steht neben dem GUI und dem Python Package ein Commandline Tool zur Verfügung: mllib_toolbox.exe
Die Executable ist unter <TwinCatInstallDir>\Functions\TF38xx-Machine-Learning\Utilities\ModelManagerAPI zu finden.
Nutzung der Executable
Die Nutzung der mllib_toolbox.exe
kann z. B. aus dem Command Prompt heraus erfolgen. Die eingebaute Hilfe wird durch Ausführung der exe ohne Argument ausgegeben.
Die mllib_toolbox.exe können Sie auf ihrem PC auch an eine beliebige andere Stelle verschieben/kopieren. Die exe verwendet die Path-Umgebungsvariable, welche auf die mllib_um.dll verweist (default <TwinCatInstallDir>\3.1\Components\Base\Addins\TcMLExtension).
Konvertieren von ONNX-Dateien
Das Konvertieren von ONNX-Dateien erfolgt durch die Methode onnximport
mllib_toolbox.exe onnximport ".\decision tree\decisiontree-classifier.onnx" ".\decision tree\decisiontree-classifier.bml"
Alternativ kann auch ein Argument verwendet werden (--xml oder –bml).
Mllib_toolbox onnximport myOnnxFile.onnx --xml
Mllib_toolbox onnximport myOnnxFile.onnx -bml
Der Konvertier-Befehl schreibt automatisch die „required Version“ (Mindestversion des ML-Runtime Treibers) in die generierte XML bzw. BML.
Merge und Extract von Engines
Zum Erstellen von Multi-Engines nutzen Sie den merge
-Befehl. Folgender Befehl führt die beiden genannten XML-Dateien zusammen zu einer Multi-Engine mit 2 Engines. Dabei wird die letzte genannte Datei überschrieben.
mllib_toolbox.exe merge KerasMLPExample_cos.xml KerasMLPExample_sin.xml
Es kann auch eine neue Zieldatei angegeben werden. Diese kann sowohl eine XML- als auch eine BML-Datei sein.
mllib_toolbox.exe merge KerasMLPExample_cos.xml KerasMLPExample_sin.xml MultiEngine.bml
Die Anzahl der mit einem Kommando zu kombinierenden Dateien ist nicht begrenzt.
Um Engines aus einer Beschreibungsdatei mit mehreren Engines zu extrahieren, nutzen Sie die Extract Methode. Prüfen Sie zunächst mit dem Info-Befehl, wie viele Engines in der Datei vorhanden- und wie sie benannt sind.
In obiger Abbildung sehen Sie zwei Engines mit den Bezeichnungen mlp_fp32_engine::merge0 bzw. merge1. Zum Extrahieren der ersten Engine in die Zieldatei Extracted.xml rufen Sie auf:
mllib_toolbox.exe extract MultiEngine.xml?eng='mlp_fp32_engine::merge0' Extract.xml
Informationen einer ML-Modellbeschreibungsdatei anzeigen
Um schnell zu prüfen, was für ein Modell in einer Beschreibungsdatei beschrieben ist, kann der info
-Befehl genutzt werden. Dieser kann sowohl ONNX-Dateien als auch XML- und BML-Dateien analysieren.
mllib_toolbox.exe info decisiontree-classifier.xml
mllib_toolbox.exe info decisiontree-classifier.bml
mllib_toolbox.exe info decisiontree-classifier.onnx
Ausführen einer Anweisungsliste
Sie können im Machine Learning Model Manager Operationen graphisch durchführen. Jeder Operation, die Sie in einer Session durchführen, wird im Tab „Automation Tool“ mitgeschrieben als XML-Kommando.
In obiger Abbildung ist beispielsweise ein Konvertier-Befehl und ein Befehl zum Eintragen von Custom Attributes zu sehen. Markieren Sie die Befehle, die Sie exportieren möchten, und wählen Sie Create XML file. Achten Sie dabei auf die Reihenfolge, in der Sie die Befehle im Machine Learning Model Manager selektieren. Die Selektionsreihenfolge bestimmt die Reihenfolge der Befehle in der exportierten Datei.
Das erzeugte XML-File können Sie zum Reproduzieren der Befehlsfolge nutzen über
mllib_toolbox.exe rawxml AutomationToolExport.xml
Custom Attributes, Scalings und Model description
Diese Eigenschaften sind im CLI nicht verfügbar. Nutzen Sie dafür das Python Package oder den TwinCAT Machine Learning Model Manager. Das CLI beschränkt sich auf Basisfunktionalitäten.