dlmzScore
Description
L'action `dlmzScore` permet de scorerAction d'appliquer un modèle statistique à de nouvelles données pour calculer une probabilité ou une valeur prédite. C’est l’étape de déploiement transformant les entrées en prédictions actionnables. (ou d'évaluer) 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). basé sur le framework PyTorchPyTorch est un framework open source d'apprentissage profond (Deep Learning) facilitant la création de graphes de calcul dynamiques et l'entraînement de modèles de réseaux de neurones complexes. en utilisant le Model Zoo de SAS Viya. Imaginez cela comme l'examen final de votre 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. après des heures d'entraînement intensif ! Vous passez vos données dans le paramètre `table`, le 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). dans `modelTable`, et pouf, les prédictions atterrissent dans `tableOut`. Pratique, non ? Retrouvez plus de détails dans la documentation des %%modèles .
Paramètres Clés
| Nom du paramètre | Description |
|---|---|
| table | Spécifie la table en mémoire contenant les données à scorer ou évaluer. |
| modelTable | Spécifie la table en mémoire qui contient les poids et l'architecture du modèle PyTorch. |
| tableOut | Spécifie la table CAS de destination où seront stockées les prédictions générées. |
| inputs | Liste des variables d'entrée (features) de la table à utiliser pour le scoring. |
| batchSize | Définit le nombre d'observations traitées simultanément par chaque worker. Un plus grand lot consomme plus de mémoire mais peut accélérer le calcul. |
| extraOptions | Permet de fournir une chaîne au format YAML pour spécifier des options avancées spécifiques à l'architecture du modèle. |
| gpus | Définit la liste des identifiants de processeurs graphiques (GPU) à utiliser. Idéal pour mettre le turbo sur vos inférences ! |
| nThreads | Spécifie le nombre de threads (processus légers) par nœud de calcul. La valeur par défaut est 1. |
Préparation des données
Génération d'un jeu de données et d'un modèle fictifs
Création d'une table d'images simulée à scorer et d'une table simulant un modèle (nécessaire pour l'exécution d'exemple).
| 1 | PROC CAS; |
| 2 | /* Création de données fictives pour l'exemple */ |
| 3 | DATA mycas.images_a_scorer; |
| 4 | id=1; image_path="img1.jpg"; OUTPUT; |
| 5 | id=2; image_path="img2.jpg"; OUTPUT; |
| 6 | RUN; |
| 7 | /* Simulation d'une table de modèle (normalement issue de dlmzTrain) */ |
| 8 | DATA mycas.mon_modele_dl; |
| 9 | weight_id=1; val=0.5; OUTPUT; |
| 10 | RUN; |
| 11 | QUIT; |
Exemples d'utilisation
Scoring basique
Utilisation de dlmzScore avec les paramètres obligatoires pour obtenir les prédictions d'un modèle entraîné.
| 1 | PROC CAS; |
| 2 | dlmodelzoo.dlmzScore / |
| 3 | TABLE={name="images_a_scorer"} |
| 4 | modelTable={name="mon_modele_dl"} |
| 5 | tableOut={name="predictions", replace=true} |
| 6 | inputs={"image_path"} |
| 7 | batchSize=8 |
| 8 | logLevel="NOTE"; |
| 9 | QUIT; |
Résultat Attendu :
Scoring avancé avec accélération matérielle et options YAML
Un exemple de configuration exhaustive pour des performances maximales : distribution des données, utilisation de 2 GPUs, multi-threading et options YAML personnalisées.
| 1 | PROC CAS; |
| 2 | dlmodelzoo.dlmzScore / |
| 3 | TABLE={name="images_a_scorer"} |
| 4 | modelTable={name="mon_modele_dl"} |
| 5 | tableOut={name="predictions_detail", replace=true} |
| 6 | inputs={"image_path"} |
| 7 | targets={"label"} |
| 8 | batchSize=16 |
| 9 | gpus={0, 1} |
| 10 | nThreads=4 |
| 11 | tableDistribution="DISTRIBUTED" |
| 12 | extraOptions={yaml="use_fp16: true"} |
| 13 | logLevel="DEBUG" |
| 14 | objective="CROSS_ENTROPY"; |
| 15 | QUIT; |