connectLayers
Conectar capas en una red neuronal
Descripción
conecta la capa de origen netUpdated
= connectLayers(net
,s
,d
)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
Crear y conectar una capa de suma
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)
Crear una red neuronal desde cero
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)
Argumentos de entrada
net
— Red neuronal
objeto dlnetwork
Red neuronal, especificada como un objeto dlnetwork
.
s
— Origen de la conexión
escalar de cadena | vector de caracteres
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"
d
— Destino de la conexión
escalar de cadena | vector de caracteres
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
netUpdated
— Red actualizada
objeto dlnetwork
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 R2017bR2024a: No se recomienda usar objetos LayerGraph
A partir de la versión R2024a, no se recomienda usar objetos LayerGraph
. En su lugar, use los objetos dlnetwork
. Esta recomendación significa que tampoco se recomienda usar estas sintaxis para la entrada de LayerGraph
:
lgraphUpdated = connectLayers(lgraph,s,d)
La mayoría de las funciones que admiten objetos LayerGraph
también admiten objetos dlnetwork
. Esta tabla muestra algunos usos habituales de los objetos LayerGraph
y cómo actualizar el código para usar funciones de objeto dlnetwork
en su lugar.
No recomendado | Recomendado |
---|---|
lgraph = layerGraph; | net = dlnetwork; |
lgraph = layerGraph(layers); | net = dlnetwork(layers,Initialize=false); |
lgraph = layerGraph(net); | net = dag2dlnetwork(net); |
lgraph = addLayers(lgraph,layers); | net = addLayers(net,layers); |
lgraph = removeLayers(lgraph,layerNames); | net = removeLayers(net,layerNames); |
lgraph = replaceLayer(lgraph,layerName,layers); | net = replaceLayer(net,layerName,layers); |
lgraph = connectLayers(lgraph,s,d); | net = connectLayers(net,s,d); |
lgraph = disconnectLayers(lgraph,s,d); | net = disconnectLayers(net,s,d); |
plot(lgraph); | plot(net); |
Para entrenar una red neuronal especificada como un objeto dlnetwork
, utilice la función trainnet
.
Comando de MATLAB
Ha hecho clic en un enlace que corresponde a este comando de MATLAB:
Ejecute el comando introduciéndolo en la ventana de comandos de MATLAB. Los navegadores web no admiten comandos de MATLAB.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)