ONNX-Export einer PCA
Download Python Samples Ein Zip-Archiv mit allen Samples finden Sie hier: Beispiele zum ONNX-Export |
PCA mit Scikit-learn
import numpy as np
from sklearn.decomposition import PCA
from skl2onnx import convert_sklearn
from skl2onnx.common.data_types import FloatTensorType, Int64TensorType
#Generate imput data_types
rng = np.random.RandomState(1)
X = np.dot(rng.rand(4, 3), rng.randn(3, 300)).T
# Dimensionality reduction with PCA
pca = PCA(n_components=2)
pca.fit(X)
X_pca = pca.transform(X)
print("original shape: ", X.shape)
print("transformed shape:", X_pca.shape)
#Convert model to ONNX
initial_type = [('float_input', FloatTensorType([None, X.shape[1]]))]
model_onnx = convert_sklearn(pca, initial_types=initial_type)
meta = model_onnx.metadata_props.add()
with open("pca.onnx", "wb") as f:
f.write( model_onnx.SerializeToString())
Nach unserem Kenntnisstand ist aktuell nur Scikit-learn mit skl2onnx in der Lage eine PCA in ONNX zu konvertieren. Aus diesem Grund beschränkt sich die Beschreibung darauf.