deepLearn addLayer

Standardfall: Aufbau eines CNN zur Bildklassifizierung für die Qualitätskontrolle

Scénario de test & Cas d'usage

Geschäftskontext

Ein Fertigungsunternehmen möchte ein neuronales Netzwerk aufbauen, um Produktfehler auf einem Förderband automatisch zu erkennen. Dieses Szenario testet den grundlegenden, sequenziellen Aufbau eines einfachen Convolutional Neural Network (CNN), das die Basis für ein solches Klassifizierungsmodell bildet.
Über das Set : deepLearn

Erstellung und Training tiefer neuronaler Netze.

Entdecken Sie alle Aktionen von deepLearn
Datenaufbereitung

Für den Aufbau der Modellarchitektur sind keine realen Daten erforderlich. Wir beginnen mit der Erstellung eines leeren Modell-Containers mit der Aktion `buildModel`.

Kopiert!
1/* Dieses Szenario erfordert keine Datentabelle, da es sich auf die Definition der Modellarchitektur konzentriert. */

Étapes de réalisation

1
Erstellung eines leeren Modell-Containers namens 'qc_cnn_model'.
Kopiert!
1PROC CAS;
2DEEPLEARN.buildModel /
3 model={name='qc_cnn_model', replace=true};
4RUN;
2
Hinzufügen der Input-Schicht für Bilder der Größe 128x128 mit 1 Farbkanal (Graustufen).
Kopiert!
1PROC CAS;
2DEEPLEARN.addLayer /
3 modelTable={name='qc_cnn_model'},
4 name='InputLayer',
5 layer={type='input', nchannels=1, width=128, height=128, scale=1.0/255.0};
6RUN;
3
Hinzufügen einer ersten Convolutional-Schicht gefolgt von einer Pooling-Schicht, um Merkmale zu extrahieren.
Kopiert!
1PROC CAS;
2DEEPLEARN.addLayer /
3 modelTable={name='qc_cnn_model'},
4 name='Conv1',
5 layer={type='convolution', nFilters=16, width=5, height=5, stride=1, act='relu'},
6 srcLayers={'InputLayer'};
7 
8DEEPLEARN.addLayer /
9 modelTable={name='qc_cnn_model'},
10 name='Pool1',
11 layer={type='pooling', width=2, height=2, stride=2, pool='max'},
12 srcLayers={'Conv1'};
13RUN;
4
Hinzufügen einer Fully-Connected-Schicht und einer Output-Schicht für die binäre Klassifizierung (defekt/nicht defekt).
Kopiert!
1PROC CAS;
2DEEPLEARN.addLayer /
3 modelTable={name='qc_cnn_model'},
4 name='FCLayer',
5 layer={type='fc', n=64, act='relu'},
6 srcLayers={'Pool1'};
7 
8DEEPLEARN.addLayer /
9 modelTable={name='qc_cnn_model'},
10 name='OutputLayer',
11 layer={type='output', n=2, act='softmax'},
12 srcLayers={'FCLayer'};
13RUN;

Erwartetes Ergebnis


Die CAS-Tabelle 'qc_cnn_model' enthält eine gültige CNN-Architektur mit fünf Schichten (Input, Conv, Pool, FC, Output), die korrekt miteinander verbunden sind. Die Aktion `table.fetch` auf der Modelltabelle würde die Konfiguration jeder Schicht und ihre sequenzielle Verknüpfung zeigen, bereit für das Training mit Bilddaten.