proc cas;
/* 1. Initialisation de la coquille vide du modèle */
deepLearn.buildModel /
modelTable={name="MonReseau", replace=true},
type="DNN"; /* Deep Neural Network */
/* 2. Ajout de la Couche d'Entrée (Input) */
deepLearn.addLayer /
modelTable="MonReseau",
name="Entree_Donnees", /* Nom unique de la couche */
layer={type="INPUT", nChannels=1, width=28, height=28};
/* Note : srcLayers est omis ici car c'est le début */
/* 3. Ajout d'une Couche Cachée (Fully Connected) */
deepLearn.addLayer /
modelTable="MonReseau",
name="Couche_Cachee_1",
layer={type="FULLCONNECT", n=50, act="RELU"}, /* 50 neurones, activation ReLU */
srcLayers={"Entree_Donnees"}; /* <--- Connexion au noeud précédent */
/* 4. Ajout de la Couche de Sortie (Output) */
deepLearn.addLayer /
modelTable="MonReseau",
name="Sortie_Finale",
layer={type="OUTPUT", act="SOFTMAX"}, /* Classification */
srcLayers={"Couche_Cachee_1"}; /* <--- Connexion à la couche cachée */
/* Vérification de l'architecture */
deepLearn.modelInfo / modelTable="MonReseau";
quit;
deepLearn