dlmodelzoo

dlmzExport

##backup ##deeplearning ##set_dlmodelzoo

Description

Exporte 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 Deep LearningSous-ensemble du Machine Learning basé sur des réseaux de neurones artificiels profonds. Il excelle dans l'extraction automatique de motifs complexes depuis des données brutes (images, texte, son). (apprentissage profondL'apprentissage profond (Deep Learning) est une branche de l'IA utilisant des réseaux de neurones multicouches pour modéliser des données complexes et automatiser l'extraction de caractéristiques.) vers une table de sauvegarde. C'est l'étape ultime pour immortaliser vos poids 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. avant qu'une coupure de courant ne vienne gâcher des heures de calcul ! Consultez la documentation pour plus de détails.

Syntaxe Officielle
proc cas;
dlmodelzoo.dlmzExport /
basePath="chaîne",
deterministic=VRAI | FAUX,
extraOptions={label="chaîne", yaml="chaîne"},
gpus={entier, ...},
indexVariables={"variable-1", ...},
inputIndexMap={caslib="chaîne", name="nom_table", ...},
inputs={"variable-1", ...},
IoUType="CIOU" | "DIOU" | "GIOU" | "IOU",
logLevel="DEBUG" | "ERROR" | "INFO" | "NOTE" | "TRACE" | "TRACEMODEL" | "WARNING",
maxTargetLength=entier,
modelTable={caslib="chaîne", name="nom_table_modele", ...},
objective="CROSS_ENTROPY" | "MSE" | "NLL",
runMultiple=VRAI | FAUX,
saveState={caslib="chaîne", name="nom_table_sortie", replace=VRAI | FAUX, ...},
table={caslib="chaîne", name="nom_table", ...},
useSasGpud=VRAI | FAUX;
run;

Paramètres Clés

Nom du paramètre Description
basePath Chemin de base utilisé par le modèle.
deterministic Spécifie si les calculs des tenseurs et la séquence de données doivent avoir un comportement déterministe. Très utile pour les maniaques de la reproductibilité, au prix d'une légère baisse de performance.
extraOptions Spécifie des options supplémentaires pour l'analyse via une chaîne au format YAML (requiert le sous-paramètre 'yaml').
gpus Spécifie la liste des identifiants des périphériques GPU à utiliser pour l'exportation.
indexVariables Variables à convertir en index numériques.
inputIndexMap Spécifie la table lue pour définir un mappage des données nominales vers un encodage numérique.
inputs Spécifie les variables d'entrée à utiliser dans l'analyse.
IoUType Option utilisateur IoU (Intersection over Union) spécifique à Yolov5 (CIOU, DIOU, GIOU, IOU).
logLevel Niveau de journalisation pour les messages de progression envoyés au client (par défaut: ERROR).
maxTargetLength Spécifie la longueur cible maximale autorisée.
modelTable Spécifie la table en mémoire contenant le modèle et les poids du modèle à exporter.
objective Spécifie la fonction de perte pour la méthode d'optimisation (CROSS_ENTROPY, MSE, NLL).
runMultiple Maintient sastorch initialisé si plusieurs actions doivent s'exécuter dans cette session.
saveState Spécifie la table de données de sortie (souvent un Astore) dans laquelle sauvegarder l'état du modèle, y compris ses poids, son objectif d'entraînement et la forme attendue des données.
table Spécifie une table en mémoire utilisée pour stocker les données d'entraînement ou de scoring associées.
useSasGpud Indique s'il faut utiliser le service de réservation SASGPUD.

Préparation des données

Chargement d'une table de modèle factice

Avant de pouvoir exporter un modèle, il faut en charger un en mémoire. Voici un exemple pour simuler le chargement d'un modèle précédemment entraîné.

1PROC CAS;
2 SESSION casauto;
3 TABLE.loadTable /
4 path="mon_modele_dlmz.sashdat",
5 casout={name="mon_modele_memoire", replace=TRUE};
6RUN;

Exemples d'utilisation

Exportation basique d'un modèle en mémoire

Ce code exporte un modèle existant en mémoire vers une table d'état final (souvent appelée Astore) de manière simple.

1PROC CAS;
2 dlmodelzoo.dlmzExport /
3 modelTable={name="mon_modele_memoire"},
4 saveState={name="modele_exporte", replace=TRUE};
5RUN;
Résultat Attendu :
Une table CAS nommée 'modele_exporte' est générée. Elle contient l'état compilé du modèle, prête pour du scoring en temps réel ou par lots.
Exportation complète avec options YAML et allocation GPU

Une exportation plus poussée où l'on configure spécifiquement le GPU à utiliser, la fonction de perte ('CROSS_ENTROPY'), un niveau de journalisation affiné ('DEBUG') et des métadonnées supplémentaires en YAML.

1PROC CAS;
2 dlmodelzoo.dlmzExport /
3 modelTable={name="mon_modele_memoire", caslib="casuser"},
4 saveState={name="modele_exporte_gpu", replace=TRUE, caslib="public"},
5 gpus={0},
6 objective="CROSS_ENTROPY",
7 logLevel="DEBUG",
8 extraOptions={
9 label="config_export",
10 yaml="
11 export_format: ONNX
12 precision: FP16
13 "
14 };
15RUN;
Résultat Attendu :
Le processus s'exécute sur le GPU 0, enregistre des traces détaillées grâce au mode DEBUG et produit une table 'modele_exporte_gpu' dans la caslib 'public' tenant compte des spécifications YAML fournies.