Main Content

Layer

Netzschicht für Deep Learning

Beschreibung

Schichten, die die Architektur von neuronalen Netzen für Deep Learning definieren.

Erstellung

Eine Liste der Deep-Learning-Schichten in MATLAB® finden Sie unter List of Deep Learning Layers. Um die Architektur eines neuronalen Netzes zu spezifizieren, bei dem alle Schichten sequentiell verbunden sind, erstellen Sie direkt ein Array von Schichten. Um die Architektur eines Netzes zu spezifizieren, bei dem Schichten mehrere Eingänge oder Ausgänge haben können, verwenden Sie ein dlnetwork-Objekt.

Ansonsten können Sie mithilfe von importCaffeLayers, importKerasLayers und importONNXLayers auch Schichten aus Caffe, Keras und ONNX importieren.

Wie Sie Ihre eigenen benutzerdefinierten Schichten erstellen können, erfahren Sie unter Define Custom Deep Learning Layers.

Beispiele

alle reduzieren

Definieren Sie eine Convolutional Neural Network-Architektur zur Klassifizierung mit einer Faltungsschicht, einer ReLU-Schicht und einer vollständig verbundenen Schicht.

layers = [ ...
    imageInputLayer([28 28 3])
    convolution2dLayer([5 5],10)
    reluLayer
    fullyConnectedLayer(10)
    softmaxLayer
    classificationLayer]
layers = 
  6x1 Layer array with layers:

     1   ''   Image Input             28x28x3 images with 'zerocenter' normalization
     2   ''   2-D Convolution         10 5x5 convolutions with stride [1  1] and padding [0  0  0  0]
     3   ''   ReLU                    ReLU
     4   ''   Fully Connected         10 fully connected layer
     5   ''   Softmax                 softmax
     6   ''   Classification Output   crossentropyex

layers ist ein Layer-Objekt.

Alternativ können Sie die Schichten auch einzeln erstellen und dann verketten.

input = imageInputLayer([28 28 3]);
conv = convolution2dLayer([5 5],10);
relu = reluLayer;
fc = fullyConnectedLayer(10);
sm = softmaxLayer;
co = classificationLayer;

layers = [ ...
    input
    conv
    relu
    fc
    sm
    co]
layers = 
  6x1 Layer array with layers:

     1   ''   Image Input             28x28x3 images with 'zerocenter' normalization
     2   ''   2-D Convolution         10 5x5 convolutions with stride [1  1] and padding [0  0  0  0]
     3   ''   ReLU                    ReLU
     4   ''   Fully Connected         10 fully connected layer
     5   ''   Softmax                 softmax
     6   ''   Classification Output   crossentropyex

Definieren Sie eine Convolutional Neural Network-Architektur zur Klassifizierung mit einer Faltungsschicht, einer ReLU-Schicht und einer vollständig verbundenen Schicht.

layers = [ ...
    imageInputLayer([28 28 3])
    convolution2dLayer([5 5],10)
    reluLayer
    fullyConnectedLayer(10)
    softmaxLayer];

Zeigen Sie die Bildeingabeschicht an, indem Sie die erste Schicht auswählen.

layers(1)
ans = 
  ImageInputLayer with properties:

                      Name: ''
                 InputSize: [28 28 3]
        SplitComplexInputs: 0

   Hyperparameters
          DataAugmentation: 'none'
             Normalization: 'zerocenter'
    NormalizationDimension: 'auto'
                      Mean: []

Zeigen Sie die Eingangsgröße der Bildeingabeschicht an.

layers(1).InputSize
ans = 1×3

    28    28     3

Anzeige der Schrittweite für die Faltungsschicht.

layers(2).Stride
ans = 1×2

     1     1

Zugriff auf den Bias-Learning-Rate-Faktor für die vollständig verbundene Schicht.

layers(4).BiasLearnRateFactor
ans = 1

Versionsverlauf

Eingeführt in R2016a