Crear una red de clasificación de imágenes sencilla utilizando Deep Network Designer
Este ejemplo muestra cómo crear y entrenar una red neuronal convolucional sencilla para la clasificación mediante deep learning utilizando Deep Network Designer. Las redes neuronales convolucionales son herramientas fundamentales en deep learning y resultan especialmente adecuadas para reconocer imágenes.
En este ejemplo, puede hacer lo siguiente:
Importar datos de imágenes.
Definir la arquitectura de la red.
Especificar las opciones de entrenamiento.
Entrenar la red.
Cargar datos
Cargue los datos de dígitos de muestra como un almacén de datos de imágenes. La función imageDatastore
etiqueta automáticamente las imágenes en función de los nombres de carpeta. El conjunto de datos tiene 10 clases y cada imagen del conjunto de datos tiene un tamaño de 28 por 28 por 1 píxeles.
digitDatasetPath = fullfile(matlabroot,'toolbox','nnet','nndemos', ... 'nndatasets','DigitDataset'); imds = imageDatastore(digitDatasetPath, ... 'IncludeSubfolders',true, ... 'LabelSource','foldernames');
Abra Deep Network Designer. Cree una red, importe y visualice datos, y entrene la red con Deep Network Designer.
deepNetworkDesigner
Si desea crear una red en blanco, deténgase en Blank Network y haga clic en New.
Para importar el almacén de datos de imágenes, seleccione la pestaña Data y haga clic en Import Data > Import Image Data. Seleccione imds
como el origen de los datos. Reserve el 30% de los datos de entrenamiento para utilizarlos como datos de validación. Asigne observaciones de forma aleatoria a los conjuntos de entrenamiento y validación seleccionando Randomize.
Importe los datos haciendo clic en Import.
Definir la arquitectura de red
En el panel Designer, defina la arquitectura de la red neuronal convolucional. Arrastre capas de la Layer Library y conéctelas. Para buscar capas con rapidez, utilice el recuadro de búsqueda Filter layers del panel Layer Library. Para editar las propiedades de una capa, haga clic en la capa y edite los valores en el panel Properties.
Conecte las capas en este orden:
imageInputLayer
con la propiedadInputSize
establecida en28,28,1
convolution2dLayer
batchNormalizationLayer
reluLayer
fullyConnectedLayer
con la propiedadOutputSize
establecida en10
softmaxLayer
classificationLayer
Para obtener más información sobre las capas de deep learning, consulte List of Deep Learning Layers.
Entrenar la red
Especifique las opciones de entrenamiento y entrene la red.
En la pestaña Training, haga clic en Training Options. Para este ejemplo, establezca el número máximo de épocas en cinco y conserve el resto de valores predeterminados. Establezca las opciones de entrenamiento haciendo clic en Close. Para obtener más información sobre las opciones de entrenamiento, consulte Set Up Parameters and Train Convolutional Neural Network.
Entrene la red haciendo clic en Train.
La precisión es la fracción de etiquetas que la red predice correctamente. En este caso, más del 97% de las etiquetas predichas coincide con las etiquetas verdaderas del conjunto de validación.
Para exportar la red entrenada al espacio de trabajo, en la pestaña Training, haga clic en Export.
Para seguir avanzando en deep learning, puede probar a usar las redes preentrenadas para otras tareas. Resuelva nuevos problemas de clasificación en los datos de imágenes mediante la transferencia del aprendizaje. Por ejemplo, consulte Introducción a la transferencia del aprendizaje. Para obtener más información sobre las redes preentrenadas, consulte Redes neuronales profundas preentrenadas.
Consulte también
trainingOptions
| Deep Network Designer
Temas relacionados
- Crear una red de clasificación de imágenes sencilla
- Start Deep Learning Faster Using Transfer Learning
- Pruebe deep learning en 10 líneas de código de MATLAB
- Clasificar una imagen con una red preentrenada
- Introducción a la transferencia del aprendizaje
- Create Simple Sequence Classification Network Using Deep Network Designer