Apprentissage automatique CAS

Téléchargement d'un Store Astore vers le système de fichiers local

Ce code est également disponible en : Deutsch English Español
ATTENTION : Ce contenu est DÉSACTIVÉ. Il est invisible pour les visiteurs.
Niveau de difficulté
Débutant
Publié le :
Cette fonctionnalité de la procédure ASTORE facilite la gestion du cycle de vie des modèles. Après avoir entraîné un modèle sur CAS (par exemple, avec PROC NNET, PROC FOREST, etc.) et l'avoir sauvegardé en tant que store analytique, il peut être nécessaire de le déplacer du serveur CAS vers un environnement local pour diverses raisons : exécution de scoring sur des données locales sans connexion CAS, archivage, ou intégration dans des applications client. Le téléchargement préserve la structure et les poids du modèle pour une utilisation ultérieure. La commande nécessite l'identification du modèle sur le serveur CAS (caslib et nom du modèle) et la spécification du chemin de destination local. Il est crucial de s'assurer que le chemin local est accessible et que les permissions sont suffisantes pour écrire le fichier.
Analyse des données

Type : CREATION_INTERNE


Les exemples simulent l'existence d'un modèle ASTORE sur le serveur CAS et démontrent les opérations de téléchargement. Les données requises pour les exemples sont générées en interne ou supposées exister dans SASHELP.

1 Bloc de code
PROC ASTORE Data
Explication :
Cet exemple illustre le téléchargement le plus simple d'un modèle ASTORE. Il crée d'abord un modèle ASTORE factice sur le serveur CAS (dans la caslib 'mycaslib'). Ensuite, la procédure PROC ASTORE avec l'instruction DOWNLOAD est utilisée pour transférer ce modèle vers le système de fichiers local, spécifié par 'casfile'. Le chemin './' indique le répertoire de travail actuel de la session SAS.
Copié !
1/* Étape 1: Préparation - S'assurer qu'un modèle ASTORE existe sur CAS */
2/* Cette étape est à des fins de démonstration. En pratique, un modèle serait déjà entraîné. */
3/* Créons une table CAS simple, puis un store bidon */
4PROC CAS;
5 SESSION casauto;
6 TABLE.addCaslib / caslib='mycaslib' path='/tmp' datasource={srctype='path'};
7 DATA _null_;
8 file caslib='mycaslib' '/tmp/my_simple_model.sashdat';
9 put 'MODEL_HEADER_INFO';
10 put 'MODEL_BINARY_CONTENT';
11 RUN;
12 SESSION.upload / caslib='mycaslib' path='/tmp/my_simple_model.sashdat' casout={name='mySimpleModel', replace=TRUE};
13QUIT;
14 
15/* Étape 2: Téléchargement du modèle ASTORE vers le système de fichiers local */
16/* Le fichier sera sauvegardé dans le répertoire de travail actuel de SAS. */
17PROC ASTORE;
18 download caslib="mycaslib" name="mySimpleModel" casfile="./mySimpleModel.astore";
19RUN;
2 Bloc de code
PROC ASTORE Data
Explication :
Cet exemple démontre l'utilisation de l'option 'REPLACE' dans l'instruction DOWNLOAD, qui permet de remplacer un fichier existant sur le système de fichiers local sans générer d'erreur. Il réutilise le concept de modèle factice et spécifie le chemin de destination local avec l'option de remplacement.
Copié !
1/* Étape 1: Préparation - Assurer l'existence d'un modèle ASTORE sur CAS */
2/* Réutilisons le modèle de l'exemple précédent ou créons-en un nouveau */
3PROC CAS;
4 SESSION casauto;
5 TABLE.addCaslib / caslib='mycaslib' path='/tmp' datasource={srctype='path'};
6 DATA _null_;
7 file caslib='mycaslib' '/tmp/another_model.sashdat';
8 put 'MODEL_HEADER_INFO_V2';
9 put 'MODEL_BINARY_CONTENT_V2';
10 RUN;
11 SESSION.upload / caslib='mycaslib' path='/tmp/another_model.sashdat' casout={name='anotherModel', replace=TRUE};
12QUIT;
13 
14/* Étape 2: Téléchargement du modèle ASTORE, en écrasant un fichier local existant */
15/* L'option REPLACE assure que le fichier local sera mis à jour. */
16PROC ASTORE;
17 download caslib="mycaslib" name="anotherModel" casfile="./anotherModel.astore" replace;
18RUN;
3 Bloc de code
PROC LOGISTIC / PROC ASTORE Data
Explication :
Cet exemple montre un scénario plus réaliste où un modèle est d'abord entraîné (ici, une régression logistique avec PROC LOGISTIC) et sauvegardé directement en tant que store analytique sur le serveur CAS. Ensuite, l'instruction DOWNLOAD de PROC ASTORE est utilisée pour récupérer ce modèle entraîné et le sauvegarder localement. Cela est utile pour inspecter le modèle ou le déployer dans un environnement hors ligne.
Copié !
1/* Étape 1: Connexion au serveur CAS et chargement de données */
2options casopts=(timeout=3600);
3cas casauto;
4caslib _all_ assign;
5 
6/* Chargement de données SASHELP dans CAS pour l'entraînement */
7DATA casuser.hmeq_data;
8 SET sashelp.hmeq;
9 where loan ne . and bad ne .;
10RUN;
11 
12/* Étape 2: Entraînement d'un modèle simple (régression logistique) et sauvegarde en ASTORE */
13PROC LOGISTIC DATA=casuser.hmeq_data;
14 model bad = loan mortdue yoq;
15 OUTPUT out=casuser.predicted_hmeq p=phat;
16 astore caslib='CASUSER' name='hmeq_logistic_model' label='HMEQ Logistic Model' replace;
17RUN;
18 
19/* Étape 3: Téléchargement du modèle ASTORE vers le système de fichiers local */
20PROC ASTORE;
21 download caslib="CASUSER" name="hmeq_logistic_model" casfile="./hmeq_logistic_model.astore" replace;
22RUN;
4 Bloc de code
PROC ASTORE Data
Explication :
Cet exemple met en évidence le comportement de l'instruction DOWNLOAD lorsqu'un fichier local avec le même nom existe déjà. La première tentative sans l'option 'REPLACE' illustre la nécessité de cette option pour écraser des fichiers existants. La deuxième tentative, avec 'REPLACE', démontre comment forcer le téléchargement et la mise à jour du fichier local. Cet exemple est pertinent dans un environnement Viya où la gestion des fichiers locaux et CAS est fréquente.
Copié !
1/* Étape 1: S'assurer de l'existence d'un modèle sur CAS pour le test */
2PROC CAS;
3 SESSION casauto;
4 TABLE.addCaslib / caslib='mycaslib' path='/tmp' datasource={srctype='path'};
5 DATA _null_;
6 file caslib='mycaslib' '/tmp/conditional_model.sashdat';
7 put 'MODEL_CONTENT_V_COND';
8 RUN;
9 SESSION.upload / caslib='mycaslib' path='/tmp/conditional_model.sashdat' casout={name='conditionalModel', replace=TRUE};
10QUIT;
11 
12/* Étape 2: Tentative de téléchargement - simule un fichier existant déjà */
13/* Crée un fichier bidon local pour simuler un fichier existant */
14DATA _null_;
15 file './conditionalModel.astore';
16 put 'OLD_LOCAL_MODEL_CONTENT';
17RUN;
18 
19/* Tente de télécharger sans l'option REPLACE (devrait échouer ou avertir) */
20PROC ASTORE;
21 download caslib="mycaslib" name="conditionalModel" casfile="./conditionalModel.astore";
22RUN;
23 
24/* Étape 3: Téléchargement forcé avec REPLACE */
25/* Cette étape réussira, écrasant le fichier local existant. */
26PROC ASTORE;
27 download caslib="mycaslib" name="conditionalModel" casfile="./conditionalModel.astore" replace;
28RUN;
29 
30/* Nettoyage : Suppression du fichier local et du modèle CAS */
31/* x 'rm ./conditionalModel.astore'; */ /* Décommenter si l'exécution en ligne de commande est autorisée */
32PROC CASUTIL;
33 delete casdata="conditionalModel" incaslib="mycaslib";
34 dropcaslib 'mycaslib';
35QUIT;
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.

Documentation liée

Aucune documentation spécifique pour cette catégorie.