XML-Exporter

Einordnung der XML-Exporter

Die von Beckhoff bereitgestellten XML-Exporter können frei genutzt und verändert werden. Sie sind quelloffen und unter MIT-Lizenz. Dies bietet Kunden die Möglichkeit, die XML-Exporter entsprechend ihren Bedürfnissen anzupassen, bspw. durch Einfügen unternehmens- oder projektspezifisicher CustomAttributes, vgl. Abschnitt XML Tag CustomAttributes.

Die XML-Exporter werden nach Installation des Produkts im Ordner
<TwinCATPath>\Functions\TF38xx-Machine-Learning\Utilities\exporter bereitgestellt.

XML-Exporter 1:

Die XML-Exporter basieren auf speziellen Versionen der Bibliotheken

Empfohlen wird das Exportieren von erstellen ML-Modellen über das ONNX-Format sowie entsprechender Konvertierung in XML oder BML. Die XML-Exporter waren in der frühen Phase von TwinCAT Machine Learning als Übergangslösung gedacht, bis alle einschlägigen Bibliotheken einen umfänglichen ONNX Support anbieten. Dies ist heute der Fall, sodass die XML-Exporter nicht mehr mit neueren Bibliotheken getestet und geupdatet werden.

Direkter XML-Export eines MLP

Es werden nur Netzarchitekturen unterstützt, die eine sequenzielle Struktur im folgenden Sinne aufweisen: Jedes Neuron einer Schicht ist ausschließlich mit jedem Neuron der darauffolgenden Schicht verknüpft. Es ist möglich, Layer ohne Bias zu exportieren.

Export aus Keras/Tensor Flow

from tensorflow.keras.models import Sequential
model = Sequential()
from keras.layers import Activation, Dense
# this will not work !!!
model.add(Dense(64))
model.add(Activation(‘tanh’))
# this will work
model.add(Dense(64,activation=’tanh’))

Export aus MATLAB®

Direkter XML-Export einer SVM

Export aus Scikit-learn