Die Aktion `aStore.check` überprüft, ob ein bereitgestelltes ONNX-Modell (Open Neural Network Exchange) gültig ist. ONNX ist ein offenes Format, das entwickelt wurde, um Modelle zwischen verschiedenen Frameworks für maschinelles Lernen darzustellen. Diese Aktion ist ein entscheidender Validierungsschritt, bevor ein externes Modell für Scoring-Aufgaben in SAS Viya verwendet wird, um sicherzustellen, dass das Modell korrekt formatiert ist und von der CAS-Engine interpretiert werden kann.
| Parameter | Beschreibung |
|---|---|
| onnx | Gibt das zu überprüfende ONNX-Modell als BLOB (Binary Large Object) an. |
Die Aktion `check` benötigt ein ONNX-Modell als BLOB (Binary Large Object). Bevor Sie die Aktion verwenden können, müssen Sie ein trainiertes ONNX-Modell (eine .onnx-Datei) in eine CAS-Tabelle laden. Dieses Beispiel zeigt, wie Sie eine Modelldatei vom Client in eine CAS-Tabelle hochladen. Da wir kein echtes ONNX-Modell zur Verfügung haben, erstellen wir eine temporäre Textdatei als Platzhalter.
| 1 | /* Schritt 1: Erstellen Sie eine temporäre Platzhalterdatei auf dem Client. */ |
| 2 | filename myonnx temp; |
| 3 | DATA _null_; |
| 4 | file myonnx; |
| 5 | put 'Dies ist ein Platzhalter für ein ONNX-Modell.'; |
| 6 | RUN; |
| 7 | |
| 8 | /* Schritt 2: Laden Sie die Datei als BLOB in eine CAS-Tabelle hoch. */ |
| 9 | PROC CAS; |
| 10 | upload path=fileref(myonnx) |
| 11 | casout={name="onnx_model_table", caslib="casuser", replace=true} |
| 12 | importOptions={fileType="binary"}; |
| 13 | RUN; |
| 14 | QUIT; |
Dies ist die grundlegendste Verwendung der `check`-Aktion. Sie benötigen eine CASL-Variable, die das ONNX-Modell als BLOB enthält. Der Code wird fehlschlagen, wenn die Variable `mein_onnx_modell_blob` nicht korrekt mit einem gültigen Modell gefüllt ist.
| 1 | |
| 2 | PROC CAS; |
| 3 | aStore.check / onnx=mein_onnx_modell_blob; |
| 4 | |
| 5 | RUN; |
| 6 | |
| 7 | QUIT; |
| 8 |
Dieses Beispiel zeigt den vollständigen Prozess vom Hochladen einer lokalen Datei in eine CAS-Tabelle, über das Einlesen des BLOBs in eine Variable bis hin zur Überprüfung des Modells mit der `check`-Aktion. Da wir eine ungültige Textdatei anstelle eines echten ONNX-Modells verwenden, wird erwartet, dass die Aktion einen Fehler meldet, der die Ungültigkeit des Modells bestätigt.
| 1 | /* Erstellen Sie eine temporäre ungültige Modelldatei */ |
| 2 | filename myonnx temp; |
| 3 | DATA _null_; |
| 4 | file myonnx; |
| 5 | put 'Dies ist kein gültiges ONNX-Modell.'; |
| 6 | RUN; |
| 7 | |
| 8 | PROC CAS; |
| 9 | /* Laden Sie die Datei als BLOB in eine CAS-Tabelle hoch */ |
| 10 | upload path=fileref(myonnx) |
| 11 | casout={name="onnx_model_table", caslib="casuser", replace=true} |
| 12 | importOptions={fileType="binary"}; |
| 13 | RUN; |
| 14 | |
| 15 | /* Laden Sie das Modell-BLOB aus der CAS-Tabelle in eine CASL-Variable */ |
| 16 | TABLE.fetch / TABLE={caslib="casuser", name="onnx_model_table"} to=1 fetchVars={"_blob_"} RESULT=r; |
| 17 | onnx_blob = r.Fetch.Rows[1][1]; |
| 18 | |
| 19 | /* Führen Sie die astore.check-Aktion aus */ |
| 20 | aStore.check / onnx=onnx_blob; |
| 21 | RUN; |
| 22 | QUIT; |
Ein Automobilhersteller hat ein Machine-Learning-Modell (PyTorch) zur Vorhersage von Maschinenausfällen entwickelt und als ONNX exportiert. Bevor dieses Modell in die SAS Viya P...
Eine Bank setzt ein komplexes neuronales Netzwerk zur Echtzeit-Betrugserkennung ein. Die Modellgröße ist erheblich (> 200 MB). Der Test soll verifizieren, dass die 'check'-Aktio...
Im Marketing-Team wurde versehentlich eine CSV-Textdatei statt der erwarteten ONNX-Modelldatei für die Churn-Vorhersage in das System geladen. Die Pipeline muss diesen Fehler ro...