?>Array ( [lang] => fr [id] => 116 ) Scénario Cas Limite : Remplacement de Couche et Gestion d'Erreurs - WeAreCAS
deepLearn addLayer

Scénario Cas Limite : Remplacement de Couche et Gestion d'Erreurs

Scénario de test & Cas d'usage

Contexte Métier

Une équipe de Data Scientists expérimente sur une architecture de modèle. Ils doivent remplacer une couche pour améliorer les performances et veulent s'assurer que le système gère correctement les modifications et les erreurs de configuration (connexion à une couche inexistante, nom de couche dupliqué).
Préparation des Données

Ce scénario ne nécessite pas de données. Il se concentre sur la manipulation de la structure d'un modèle et la validation des garde-fous de l'action.

Copié !
1/* Pas de données requises. Le test porte sur la logique de construction du modèle. */

Étapes de réalisation

1
Construction d'un modèle de base simple avec une couche de convolution initiale ('conv_initiale').
Copié !
1PROC CAS;
2DEEPLEARN.buildModel / model={name='modele_test_refonte', replace=true}, type='CNN';
3DEEPLEARN.addLayer / modelTable={name='modele_test_refonte'}, name='entree', layer={type='input', nchannels=1, width=28, height=28};
4DEEPLEARN.addLayer / modelTable={name='modele_test_refonte'}, name='conv_initiale', layer={type='convolution', nFilters=16, width=5, act='relu'}, srcLayers={'entree'};
5QUIT;
2
Test de remplacement : Remplacer la couche 'conv_initiale' par une nouvelle version avec plus de filtres (32) en utilisant le paramètre `replace=true`.
Copié !
1PROC CAS;
2DEEPLEARN.addLayer / modelTable={name='modele_test_refonte'}, name='conv_initiale', layer={type='convolution', nFilters=32, width=5, act='relu'}, srcLayers={'entree'}, replace=true;
3QUIT;
3
Test d'erreur (nom dupliqué) : Tenter d'ajouter une autre couche nommée 'conv_initiale' sans `replace=true`. L'action doit échouer.
Copié !
1PROC CAS;
2DEEPLEARN.addLayer / modelTable={name='modele_test_refonte'}, name='conv_initiale', layer={type='convolution', nFilters=64, width=5, act='relu'}, srcLayers={'entree'};
3QUIT;
4
Test d'erreur (source inexistante) : Tenter d'ajouter une couche en la connectant à une `srcLayers` qui n'existe pas ('source_fantome'). L'action doit échouer.
Copié !
1PROC CAS;
2DEEPLEARN.addLayer / modelTable={name='modele_test_refonte'}, name='nouvelle_couche', layer={type='pooling', width=2, pool='max'}, srcLayers={'source_fantome'};
3QUIT;

Résultat Attendu


L'étape 2 doit réussir, et la structure du modèle doit montrer que 'conv_initiale' a maintenant 32 filtres. Les étapes 3 et 4 doivent échouer et générer des messages d'erreur explicites dans le log CAS, indiquant respectivement que le nom de la couche existe déjà et que la couche source est introuvable. Cela valide la robustesse de l'action.