dlImportModelWeights
Description
L'action permet de transférer les poids pré-entraînés depuis 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). externe (Keras ou Caffe) vers une table en mémoireGemini said
Espace de stockage temporaire (RAM) utilisé par le moteur CAS pour charger et traiter les données à haute vitesse, minimisant les accès disque pour optimiser les performances de SAS Viya. de SAS Viya (). Fini de soulever de la fonte pour entraîner vos modèles depuis zéro, importez directement la connaissance ! Cette action est indispensable pour le transfert d'apprentissage (Transfer Learning) et le fine-tuning. Elle requiert qu'une table contenant l'architecture du 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). cible () soit déjà définie sur le serveur.
Paramètres Clés
| Nom du paramètre | Description |
|---|---|
| modelTable | Spécifie la table en mémoire contenant l'architecture du réseau de neurones cible. Ce modèle vide ou existant doit être défini au préalable (par ex. via l'action ). |
| modelWeights | Spécifie le nom de la table de sortie en mémoire SAS qui stockera les poids du modèle importés et prêts à l'emploi. |
| formatType | Spécifie le format du modèle externe d'origine. Les valeurs possibles sont ou (le format de poids Keras est généralement au format de fichier HDF5). |
| weightFileCaslib | Spécifie le nom de la CASLIB (la librairie virtuelle de destination) qui abrite physiquement le fichier de poids externe à importer. |
| weightFilePath | Spécifie le chemin relatif et le nom du fichier des poids à importer (par ex. 'model_weights.h5'). Le serveur contrôleur CAS doit impérativement avoir un accès en lecture à ce chemin. |
| dataSpecs | Option avancée qui permet de lier et de configurer précisément le type de données (, , etc.) en ciblant le nom de la couche () pour un mappage parfait des tenseurs lors de l'import. |
Préparation des données
Préparation de l'architecture du modèle
Avant d'importer les poids, nous devons générer l'architecture vide du réseau de neurones qui les accueillera, en appelant préalablement l'action %%buildModel%%.
| 1 | PROC CAS; |
| 2 | DEEPLEARN.buildModel / |
| 3 | modelTable={name="MonModeleKeras", replace=TRUE} |
| 4 | type="CNN"; |
| 5 | RUN; |
Exemples d'utilisation
Importation classique de poids Keras
Ce code charge les poids stockés dans un fichier `.h5` issu de Keras dans la table CAS %%Poids_Importes%%, pour l'appliquer à l'architecture %%MonModeleKeras%%.
| 1 | PROC CAS; |
| 2 | DEEPLEARN.dlImportModelWeights / |
| 3 | modelTable={name="MonModeleKeras"} |
| 4 | modelWeights={name="Poids_Importes", replace=TRUE} |
| 5 | formatType="KERAS" |
| 6 | weightFileCaslib="Public" |
| 7 | weightFilePath="vgg16_weights.h5"; |
| 8 | RUN; |
Résultat Attendu :
Importation de poids pour la reconnaissance d'images (ResNet50)
Lorsque la complexité du réseau le requiert, l'option %%dataSpecs%% permet d'indiquer à la couche d'entrée du modèle (ici `input_1`) qu'elle doit se binder correctement avec des tenseurs de type %%IMAGE%%. Idéal pour faire correspondre l'architecture Keras d'origine aux couches construites dans SAS Viya.
| 1 | PROC CAS; |
| 2 | DEEPLEARN.dlImportModelWeights / |
| 3 | modelTable={name="ResNet50_SAS"} |
| 4 | modelWeights={name="Poids_ResNet50", replace=TRUE} |
| 5 | formatType="KERAS" |
| 6 | weightFileCaslib="Public" |
| 7 | weightFilePath="resnet50_weights_tf_dim_ordering_tf_kernels.h5" |
| 8 | dataSpecs={{ |
| 9 | type="IMAGE", |
| 10 | layer="input_1" |
| 11 | }}; |
| 12 | RUN; |