Main Content

Layer

Livello di rete per il Deep Learning

Descrizione

Livelli che definiscono l'architettura delle reti neurali per il Deep Learning.

Creazione

Per un elenco dei livelli di Deep Learning in MATLAB®, vedere List of Deep Learning Layers. Per specificare l'architettura di una rete neurale con tutti i livelli collegati in sequenza, creare direttamente un array di livelli. Per specificare l'architettura di una rete in cui i livelli possono avere più input o più output, utilizzare un oggetto dlnetwork.

In alternativa, è possibile importare i livelli da Caffe, Keras e ONNX utilizzando rispettivamente importCaffeLayers, importKerasLayers e importONNXLayers.

Per apprendere come creare livelli personalizzati, vedere Define Custom Deep Learning Layers.

Esempi

comprimi tutto

Definire un'architettura di rete neurale convoluzionale per la classificazione con un livello convoluzionale, un livello ReLU e un livello completamente connesso.

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 è un oggetto Layer.

In alternativa, è possibile creare i livelli singolarmente e poi concatenarli.

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

Definire un'architettura di rete neurale convoluzionale per la classificazione con un livello convoluzionale, un livello ReLU e un livello completamente connesso.

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

Visualizzare il livello di input dell'immagine selezionando il primo livello.

layers(1)
ans = 
  ImageInputLayer with properties:

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

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

Visualizzare le dimensioni di input del livello di input dell'immagine.

layers(1).InputSize
ans = 1×3

    28    28     3

Visualizzare il passo per il livello convoluzionale.

layers(2).Stride
ans = 1×2

     1     1

Accedere al fattore della velocità di apprendimento del livello completamente connesso.

layers(4).BiasLearnRateFactor
ans = 1

Cronologia versioni

Introdotto in R2016a