Contenido principal

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

Predict

Predecir respuestas usando una red neuronal de deep learning entrenada

  • Predict block

Bibliotecas:
Deep Learning Toolbox / Deep Neural Networks

Descripción

El bloque Predict predice las respuestas de los datos de la entrada utilizando la red entrenada especificada mediante el parámetro de bloque. Este bloque permite cargar una red preentrenada en el modelo de Simulink® desde un archivo MAT o una función de MATLAB®.

Nota

Use el bloque Predict para realizar predicciones en Simulink. Para realizar predicciones de forma programática con código de MATLAB, use la función minibatchpredict o predict.

Ejemplos

Puertos

Entrada

expandir todo

Los puertos de entrada del bloque Predict toman los nombres de las capas de entrada de la red cargada. Por ejemplo, si especifica imagePretrainedNetwork para MATLAB function, el puerto de entrada del bloque Predict tiene la etiqueta data. En función de la red cargada, la entrada al bloque predict puede ser una imagen, una secuencia o datos de series de tiempo.

La distribución de la entrada depende del tipo de datos.

DatosDistribución de los predictores
Imágenes 2DUn arreglo numérico de h por w por c por N, en el que h, w y c son la altura, la anchura y el número de canales de las imágenes, respectivamente, y N es el número de imágenes.
Secuencias de vectoresMatrices de s por c, donde s es la longitud de secuencia y c es el número de características de las secuencias.
Secuencias de imágenes 2DArreglos de h por w por c por s, donde h, w y c corresponden a la altura, la anchura y el número de canales de las imágenes, respectivamente, y s es la longitud de la secuencia.
CaracterísticasUn arreglo numérico de N por numFeatures, en el que N es el número de observaciones y numFeatures es el número de características de los datos de entrada.

Si el arreglo contiene valores NaN, estos se propagan a lo largo de la red.

Salida

expandir todo

El puerto de salida del bloque Predict toma los nombres de las capas de salida de la red cargada. Por ejemplo, si especifica imagePretrainedNetwork para MATLAB function, el puerto de salida del bloque Predict se etiqueta como prob_flatten. En función de la red cargada, la salida del bloque Predict puede representar puntuaciones o respuestas predichas.

Puntuaciones o respuestas predichas, devueltas como un arreglo de K por N, donde K es el número de clases y N es el número de observaciones.

Si habilita Activations para una capa de red, el bloque Predict crea un nuevo puerto de salida con el nombre de la capa de red seleccionada. Este puerto produce como salida las activaciones de la capa de red seleccionada.

Las activaciones de la capa de red se devuelven como un arreglo numérico. El formato de la salida depende del tipo de datos de entrada y del tipo de salida de la capa.

Para salida de imágenes 2D, las activaciones son un arreglo de h por w por c por n, donde h, w y c son la altura, la anchura y el número de canales para la salida de la capa escogida, respectivamente, y n es el número de imágenes.

Para una unidad de tiempo única que contiene datos de vector, las activaciones son una matriz de c por n, donde c es el número de características y n es el número de secuencias.

Para una unidad de tiempo única que contiene datos de vector, las activaciones son una matriz de c por n por s, donde c es el número de características de la secuencia, n es el número de secuencias y s es la longitud de la secuencia.

Para una sola unidad de tiempo que contiene datos de imágenes 2D, las activaciones son un arreglo de h por w por c por n, en el que n es el número de secuencias y h, w, y c son la altura, la anchura y el número de canales de las imágenes, respectivamente.

Parámetros

expandir todo

Especifique el origen de la red entrenada. Seleccione una de las siguientes opciones:

  • Network from MAT-file: importar una red entrenada desde un archivo MAT que contenga un objeto dlnetwork.

  • Network from MATLAB function: importar una red preentrenada desde una función de MATLAB. Por ejemplo, para usar una red GoogLeNet preentrenada, cree una función pretrainedGoogLeNet en un archivo M de MATLAB y, a continuación, importe esta función.

    function net = pretrainedGoogLeNet
      net = imagePretrainedNetwork("googlenet");
    end

Uso programático

Parámetro de bloque: Network
Tipo: vector de caracteres, cadena
Valores: 'Network from MAT-file' | 'Network from MATLAB function'
Valor predeterminado: 'Network from MAT-file'

Este parámetro especifica el nombre del archivo MAT que contiene la red de deep learning entrenada que desea cargar. Si el archivo no está en la ruta de MATLAB, utilice el botón Browse para localizar el archivo.

Dependencias

Para habilitar este parámetro, establezca el parámetro Network en Network from MAT-file.

Uso programático

Parámetro de bloque: NetworkFilePath
Tipo: vector de caracteres, cadena
Valores: Nombre o ruta del archivo MAT
Valor predeterminado: 'untitled.mat'

Este parámetro especifica el nombre de la función de MATLAB para la red de deep learning preentrenada. Por ejemplo, para usar una red GoogLeNet preentrenada, cree una función pretrainedGoogLeNet en un archivo M de MATLAB y, a continuación, importe esta función.

function net = pretrainedGoogLeNet
  net = imagePretrainedNetwork("googlenet");
end

Dependencias

Para habilitar este parámetro, establezca el parámetro Network en Network from MATLAB function.

Uso programático

Parámetro de bloque: NetworkFunction
Tipo: vector de caracteres, cadena
Valores: Nombre de la función de MATLAB
Valor predeterminado: 'squeezenet'

Tamaño de los minilotes utilizados durante la predicción, especificado como un entero positivo. Un tamaño de minilote mayor requiere más memoria, pero puede proporcionar predicciones más rápidas.

Uso programático

Parámetro de bloque: MiniBatchSize
Tipo: vector de caracteres, cadena
Valores: entero positivo
Valor predeterminado: '128'

Habilite puertos de salida que devuelvan puntuaciones o respuestas predichas.

Uso programático

Parámetro de bloque: Predictions
Tipo: vector de caracteres, cadena
Valores: 'off' | 'on'
Valor predeterminado: 'on'

Este parámetro especifica el formato de los datos de entrada que espera el objeto dlnetwork entrenado.

Formato de los datos, especificado como escalar de cadena o vector de caracteres. Cada carácter de la cadena debe ser una de las etiquetas de dimensión siguientes:

  • "S": espacial

  • "C": canal

  • "B": lote

  • "T": tiempo

  • "U": sin especificar

Por ejemplo, en un arreglo que contiene un lote de secuencias, donde la primera, la segunda y la tercera dimensión corresponden a canales, observaciones y unidades de tiempo respectivamente, puede especificar que tiene el formato "CBT".

Puede especificar varias dimensiones etiquetadas "S" o "U". Puede utilizar las etiquetas "C", "B" y "T" como mucho una vez cada una. El software ignora las dimensiones únicas "U" restantes tras la segunda dimensión.

Para obtener más información, consulte Deep Learning Data Formats.

De forma predeterminada, el parámetro usa el formato de datos que espera la red.

Dependencias

Para habilitar este parámetro, establezca Network en Network from MAT-file e importe un objeto dlnetwork entrenado desde un archivo MAT.

Uso programático

Parámetro de bloque: InputDataFormats
Tipo: vector de caracteres, cadena
Valores: Para una red con una o más entradas, especifique el texto en forma de: "{'inputlayerName1', 'SSC'; 'inputlayerName2', 'SSCB'; ...}". Para una red sin capa de entrada y con varios puertos de entrada, especifique el texto en forma de: "{'inputportName1/inport1, 'SSC'; 'inputportName2/inport2, 'SSCB'; ...}".
Valor predeterminado: Formato de los datos que espera la red. Para obtener más información, consulte Deep Learning Data Formats.

Use la lista Activations para seleccionar la capa de la que extraer características. Las capas seleccionadas aparecen como un puerto de salida del bloque Predict.

Uso programático

Parámetro de bloque: Activations
Tipo: vector de caracteres, cadena
Valores: vector de caracteres en forma de '{'layerName1',layerName2',...}'
Valor predeterminado: ''

Sugerencias

Capacidades ampliadas

expandir todo

Historial de versiones

Introducido en R2020b

expandir todo