Main Content

Layer

Couche de réseau pour le Deep Learning

Description

Couches qui définissent l’architecture des réseaux de neurones pour le Deep Learning.

Création

Pour une liste des couches de Deep Learning dans MATLAB®, veuillez consulter List of Deep Learning Layers. Pour spécifier l’architecture d’un réseau de neurones avec toutes les couches connectées de manière séquentielle, créez directement un tableau de couches. Pour spécifier l’architecture d’un réseau dont les couches peuvent avoir plusieurs entrées ou sorties, utilisez un objet dlnetwork.

Vous pouvez également importer des couches à partir de Caffe, Keras et ONNX en utilisant respectivement importCaffeLayers, importKerasLayers et importONNXLayers.

Pour découvrir comment créer vos propres couches personnalisées, veuillez consulter Define Custom Deep Learning Layers.

Exemples

réduire tout

Définissez l’architecture d’un réseau de neurones à convolution pour la classification avec une couche de convolution, une couche ReLU et une couche entièrement connectée.

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 est un objet Layer.

Vous pouvez également créer les couches individuellement puis les concaténer.

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

Définissez l’architecture d’un réseau de neurones à convolution pour la classification avec une couche de convolution, une couche ReLU et une couche entièrement connectée.

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

Affichez la couche d’entrée des images en sélectionnant la première couche.

layers(1)
ans = 
  ImageInputLayer with properties:

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

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

Consultez la taille en entrée de la couche d’entrée des images.

layers(1).InputSize
ans = 1×3

    28    28     3

Affichez le pas de la couche de convolution.

layers(2).Stride
ans = 1×2

     1     1

Accédez au facteur de taux d’apprentissage du biais pour la couche entièrement connectée.

layers(4).BiasLearnRateFactor
ans = 1

Historique des versions

Introduit dans R2016a