proc cas;
/* 1. Création du conteneur de modèle */
deepLearn.buildModel / modelTable={name="ModeleEvolutif", replace=true} type="DNN";
/* 2. Ajout de l'Input */
deepLearn.addLayer /
modelTable="ModeleEvolutif", name="Input",
layer={type="INPUT", nChannels=1, width=28, height=28};
/* 3. Ajout initial : Couche 'OldSchool' (Tanh, 50 neurones) */
deepLearn.addLayer /
modelTable="ModeleEvolutif",
name="Couche_Intermediaire",
srcLayers={"Input"},
layer={type="FULLCONNECT", n=50, act="TANH"};
/* ... On se rend compte qu'on préfère une architecture plus moderne ... */
/* 4. REMPLACEMENT (Hot Swap) : Couche 'Moderne' (Relu, 100 neurones) */
deepLearn.addLayer /
modelTable="ModeleEvolutif",
name="Couche_Intermediaire", /* Même nom = Cible pour remplacement */
srcLayers={"Input"},
replace=true, /* <--- L'instruction clé */
layer={type="FULLCONNECT", n=100, act="RELU"}; /* Nouveaux hyperparamètres */
/* Vérification : Le résumé montrera 100 neurones et non 50 */
deepLearn.modelInfo / modelTable="ModeleEvolutif";
quit;
deepLearn