Main Content

connectLayers

Conectar capas en una red neuronal

Descripción

ejemplo

netUpdated = connectLayers(net,s,d) conecta la capa de origen s con la capa de destino d del argumento net del objeto dlnetwork. La red actualizada, netUpdated, contiene las mismas capas que net e incluye la nueva conexión.

Ejemplos

contraer todo

Cree un objeto dlnetwork de red neuronal vacío y añada una capa de suma con dos entradas y el nombre 'add'.

net = dlnetwork;
layer = additionLayer(2,'Name','add');
net = addLayers(net,layer);

Añada dos capas ReLU a la red neuronal y conéctelas con la capa de suma. La capa de suma añade la suma de las salidas de las capas ReLU.

layer = reluLayer('Name','relu1');
net = addLayers(net,layer);
net = connectLayers(net,'relu1','add/in1');

layer = reluLayer('Name','relu2');
net = addLayers(net,layer);
net = connectLayers(net,'relu2','add/in2');

Visualice la red actualizada en una gráfica.

plot(net)

Figure contains an axes object. The axes object contains an object of type graphplot.

Defina una red neuronal de dos salidas que prediga tanto etiquetas categóricas como valores numéricos a partir de imágenes 2D.

Especifique el número de clases y respuestas.

numClasses = 10;
numResponses = 1;

Cree una red neuronal vacía.

net = dlnetwork;

Defina las capas de la rama principal de la red y la salida softmax.

layers = [
    imageInputLayer([28 28 1],Normalization="none")

    convolution2dLayer(5,16,Padding="same")
    batchNormalizationLayer
    reluLayer(Name="relu_1")

    convolution2dLayer(3,32,Padding="same",Stride=2)
    batchNormalizationLayer
    reluLayer
    convolution2dLayer(3,32,Padding="same")
    batchNormalizationLayer
    reluLayer

    additionLayer(2,Name="add")

    fullyConnectedLayer(numClasses)
    softmaxLayer(Name="softmax")];

net = addLayers(net,layers);

Añada la conexión de omisión.

layers = [
    convolution2dLayer(1,32,Stride=2,Name="conv_skip")
    batchNormalizationLayer
    reluLayer(Name="relu_skip")];

net = addLayers(net,layers);
net = connectLayers(net,"relu_1","conv_skip");
net = connectLayers(net,"relu_skip","add/in2");

Añada la capa totalmente conectada para la salida de regresión.

layers = fullyConnectedLayer(numResponses,Name="fc_2");
net = addLayers(net,layers);
net = connectLayers(net,"add","fc_2");

Visualice la red neuronal en una gráfica.

figure
plot(net)

Figure contains an axes object. The axes object contains an object of type graphplot.

Argumentos de entrada

contraer todo

Red neuronal, especificada como un objeto dlnetwork.

Origen de la conexión, especificado como un vector de caracteres o un escalar de cadena.

  • Si la capa de origen tiene una única salida, s es el nombre de la capa.

  • Si la capa tiene varias salidas, s es el nombre de la capa seguido por el carácter "/" y el nombre de la salida de la capa: "layerName/outputName".

Ejemplo: "conv"

Ejemplo: "mpool/indices"

Destino de la conexión, especificado como escalar de cadena o vector de caracteres.

  • Si la capa de destino tiene una única entrada, d es el nombre de la capa.

  • Si la capa de destino tiene varias entradas, d es el nombre de la capa seguido por el carácter "/" y el nombre de la entrada de la capa: "layerName/inputName".

Ejemplo: "fc"

Ejemplo: "add/in1"

Argumentos de salida

contraer todo

Red actualizada, devuelta como un objeto dlnetwork sin inicializar.

Para inicializar los parámetros que se pueden aprender de un objeto dlnetwork, utilice la función initialize.

La función connectLayers no conserva la información de cuantificación. Si la red de entrada es una red cuantificada, la red de salida no contiene información de cuantificación.

Historial de versiones

Introducido en R2017b

expandir todo