Main Content

assembleNetwork

(No recomendado) Ensamblar una red de deep learning a partir de capas preentrenadas

No se recomienda usar la función assembleNetwork. En su lugar, use los objetos dlnetwork. Para obtener más información, consulte Historial de versiones.

Para entrenar una red desde cero, use la función trainnet.

Descripción

ejemplo

assembledNet = assembleNetwork(layers) ensambla el arreglo de capas o la gráfica de capas layers en una red de deep learning lista para usar en la predicción.

Ejemplos

contraer todo

Ensamble una red neuronal a partir de capas preentrenadas sin entrenamiento.

Defina una red de LSTM simple.

numChannels = 3;
numHiddenUnits = 100;
numClasses = 10;

layers = [
    sequenceInputLayer(numChannels)
    lstmLayer(numHiddenUnits,OutputMode="last")
    fullyConnectedLayer(numClasses)
    softmaxLayer
    classificationLayer];

Para las capas de aprendizaje de la red, ajuste manualmente las propiedades correspondientes a los parámetros que se pueden aprender. Puede importar o cargar los parámetros desde fuentes externas, como archivos MAT. A modo de ejemplo, los parámetros que se pueden aprender se establecen en valores aleatorios.

layers(2).InputWeights = rand(4*numHiddenUnits,numChannels);
layers(2).RecurrentWeights = rand(4*numHiddenUnits,numHiddenUnits);
layers(2).Bias = rand(4*numHiddenUnits,1);

layers(3).Weights = rand(numClasses,numHiddenUnits);
layers(3).Bias = rand(numClasses,1);

Establezca la propiedad Classes de la capa de clasificación de salida.

classNames = string(1:10);
layers(5).Classes = classNames;

Ensamble la red con la función assembleNetwork. La red de salida es un objeto SeriesNetwork que está listo para usarse en la predicción.

net = assembleNetwork(layers)
net = 

  SeriesNetwork with properties:

         Layers: [5×1 nnet.cnn.layer.Layer]
     InputNames: {'sequenceinput'}
    OutputNames: {'classoutput'}

Argumentos de entrada

contraer todo

Capas de red neuronal, especificadas como arreglo Layer u objeto LayerGraph.

Para crear una red neuronal con todas las capas conectadas secuencialmente, puede utilizar un arreglo Layer como argumento de entrada. En ese caso, la red neuronal devuelta es un objeto SeriesNetwork.

Una red neuronal gráfica acíclica dirigida (DAG) presenta una estructura compleja en la que las capas tienen varias entradas y salidas. Para crear una red neuronal DAG, especifique la arquitectura de red neuronal como objeto LayerGraph y utilice esa gráfica de capas como argumento de entrada para assembleNetwork.

La función assembleNetwork admite redes neuronales con al menos una capa de entrada de secuencias.

Para ver una lista de capas integradas, consulte Lista de capas de deep learning.

Argumentos de salida

contraer todo

Red ensamblada, devuelta como objeto SeriesNetwork o DAGNetwork. La red devuelta depende del argumento de entrada layers:

  • Si layers es un arreglo Layer, assembledNet es un objeto SeriesNetwork.

  • Si layers es un objeto LayerGraph, assembledNet es un objeto DAGNetwork.

Historial de versiones

Introducido en R2018b

contraer todo

R2024a: No recomendado

No se recomienda el uso de assembleNetwork. En su lugar, use los objetos dlnetwork.

La función assembleNetwork devuelve los objetos SeriesNetwork y DAGNetwork, que no se recomiendan. No está previsto eliminar el soporte para la función assembleNetwork. Sin embargo, en su lugar se recomiendan los objetos dlnetwork, que tienen estas ventajas:

  • Los objetos dlnetwork son un tipo de datos unificado que admite la creación de redes, la predicción, el entrenamiento integrado, la visualización, la compresión, la verificación y los bucles de entrenamiento personalizados.

  • Los objetos dlnetwork admiten una gama más amplia de arquitecturas de red que puede crear o importar desde plataformas externas.

  • La función trainnet admite objetos dlnetwork, lo que le permite especificar fácilmente funciones de pérdida. Puede seleccionar entre funciones de pérdida integradas o especificar una función de pérdida personalizada.

  • Entrenar y predecir con los objetos dlnetwork suele ser más rápido que los flujos de trabajo LayerGraph y trainNetwork.

Para actualizar su código y usar objetos dlnetwork, utilice una de estas opciones:

No recomendadoRecomendado
Ensamble el objeto SeriesNetwork o DAGNetwork con un arreglo de capas o una gráfica de capas.Cree directamente un objeto dlnetwork y no incluya ninguna capa de salida. La mayoría de las funciones que admiten objetos LayerGraph también admiten objetos dlnetwork. Para inicializar la red, use la función initialize.
Ensamble la red importada que devuelven las funciones importKerasLayers, importTensorFlowLayers o importONNXLayers.Importe la red con las funciones importNetworkFromTensorFlow o importNetworkFromONNX.