dlExportModel
Description
L'action dlExportModel permet d'exporter un modèleReprésentation mathématique entraînée sur des données pour capturer des tendances, prédire des résultats ou classifier des observations via des algorithmes (Régression, Forêt aléatoire, Gradient Boosting). de réseau de neuronesUn réseau de neurones est un modèle d'IA bio-inspiré composé de couches de nœuds interconnectés, capable d'apprendre des relations complexes dans les données pour prédire ou classifier avec précision. (DNNRéseau de neurones profond (Deep Neural Network) comprenant plusieurs couches cachées entre l'entrée et la sortie. Il modélise des relations non linéaires complexes à partir de grands volumes de données., CNNRéseau de neurones profond spécialisé dans le traitement de données structurées en grille (images). Il utilise des couches de convolution pour extraire automatiquement des caractéristiques spatiales., RNNRéseau de neurones récurrent conçu pour les données séquentielles. Il utilise des boucles de rétroaction pour mémoriser l'information passée, idéal pour l'analyse de texte ou de séries temporelles.) avec ses poids sous la forme d'un objet ASTOREFichier binaire compact contenant la logique d'un modèle entraîné (analytique de score). Il permet de déployer et d'exécuter des modèles complexes de manière portable et ultra-rapide dans SAS Viya.. Idéal une fois que votre réseau a bien transpiré à l'entraînement et mérite d'être sauvegardé pour la postérité (ou pour la production en temps réel) ! Vous pouvez également y spécifier des paramètres d'images et de traitement de texte lors de cet export.
Paramètres Clés
| Nom du paramètre | Description |
|---|---|
| casout | Spécifie la table de sortie en mémoire qui contiendra le modèle ASTORE généré. |
| initWeights | Spécifie la table en mémoire contenant les poids d'apprentissage du modèle. Indispensable pour que le modèle serve à quelque chose ! |
| modelTable | Spécifie la table représentant l'architecture de votre modèle de Deep Learning. |
| encodeName | Indique s'il faut encoder les noms des variables dans la table CASout générée. Utile pour éviter les maux de tête avec les caractères spéciaux. |
| layerImageType | Définit le format des images extraites des couches (BASE64 ou WIDE). |
| randomFlip | Permet d'appliquer un retournement aléatoire (horizontal H, vertical V, ou les deux HV) sur les images d'entrée pour augmenter la robustesse du score. |
| randomCrop | Stratégie de recadrage aléatoire pour les données d'image. |
| randomMutation | Mute aléatoirement les images via la netteté, l'éclaircissement ou une instabilité des couleurs. |
Préparation des données
Préparation d'un modèle factice
Bien qu'un export nécessite normalement un apprentissage préalable avec dlTrain, voici comment créer la structure d'attente pour nos exemples. Attention, n'exportez pas un modèle vide en prod, vos prédictions seraient... particulièrement créatives !
| 1 | PROC CAS; |
| 2 | SESSION casauto; |
| 3 | /* Création de l'architecture du modèle */ |
| 4 | DEEPLEARN.buildModel / modelTable={name="mon_modele", replace=TRUE} type="DNN"; |
| 5 | DEEPLEARN.addLayer / modelTable="mon_modele" name="entree" layer={type="input"}; |
| 6 | DEEPLEARN.addLayer / modelTable="mon_modele" name="sortie" layer={type="output"} srcLayers={"entree"}; |
| 7 | /* Simulation d'une table de poids pour l'exemple */ |
| 8 | /* En conditions réelles, cette table 'mes_poids' est générée via deepLearn.dlTrain */ |
| 9 | QUIT; |
Exemples d'utilisation
Export standard d'un modèle
Cet exemple prend un modèle préalablement construit et entraîné, et l'exporte en ASTORE pour le déploiement ou l'inférence.
| 1 | PROC CAS; |
| 2 | DEEPLEARN.dlExportModel / |
| 3 | modelTable="mon_modele" |
| 4 | initWeights="mes_poids" /* Table hypothétique issue d'un entraînement */ |
| 5 | casOut={name="mon_modele_astore", replace=TRUE}; |
| 6 | QUIT; |
Résultat Attendu :
Export d'un modèle d'analyse d'images avec data augmentation
On exporte un réseau de neurones convolutif (CNN) en lui incluant des directives de mutation et de recadrage aléatoire. C'est parfait pour garantir des scores plus résilients aux variations %%importOptions%%.
| 1 | PROC CAS; |
| 2 | DEEPLEARN.dlExportModel / |
| 3 | modelTable={name="mon_modele_image"} |
| 4 | initWeights={name="mes_poids_image"} |
| 5 | casOut={name="mon_modele_astore_complet", replace=TRUE, promote=TRUE} |
| 6 | randomFlip="H" |
| 7 | randomCrop="UNIQUE" |
| 8 | randomMutation="RANDOM" |
| 9 | nThreads=4; |
| 10 | QUIT; |