Predict
Predecir respuestas usando una red neuronal de deep learning entrenada
Desde R2020b
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®.
Ejemplos
Lane and Vehicle Detection in Simulink Using Deep Learning
Use deep convolutional neural networks inside a Simulink® model to perform lane and vehicle detection. This example takes the frames from a traffic video as an input, outputs two lane boundaries that correspond to the left and right lanes of the ego vehicle, and detects vehicles in the frame.
Puertos
Entrada
input — Imagen, característica, secuencia o datos de series de tiempo
Arreglo numérico
El puerto de entrada del bloque Predict toma los nombres de las capas de entrada de la red cargada. Por ejemplo, si especifica googlenet
para MATLAB function
, el puerto de entrada del bloque Predict se etiqueta como 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.
El formato de la entrada depende del tipo de datos.
Datos | Formato de los predictores |
---|---|
Imágenes 2D | Un 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. |
Secuencia de vector | Matrices de c por s, donde c es el número de características de las secuencias y s es la longitud de la secuencia. |
Secuencias de imágenes 2D | Arreglos 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ísticas | Un 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
output — Puntuaciones, respuestas o activaciones predichas
Arreglo numérico
El puerto de salida del bloque Predict toma los nombres de las capas de salida de la red cargada. Por ejemplo, si especifica googlenet
para MATLAB function
, el puerto de salida del bloque Predict se etiqueta como output. 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 N por K, donde N es el número de observaciones y K es el número de clases.
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 n es el número de secuencias y c es el número de características 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
Network — Origen de la red entrenada
Network from MAT-file
(predeterminado) | Network from MATLAB function
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 objetoSeriesNetwork
,DAGNetwork
odlnetwork
.Network from MATLAB function
: importar una red preentrenada desde una función de MATLAB. Por ejemplo, utilizando la funcióngooglenet
.
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' |
File path — El archivo MAT que contiene la red entrenada
untitled.mat
(predeterminado) | Nombre o ruta del archivo MAT
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' |
MATLAB function — Nombre de la función de MATLAB
squeezenet
(predeterminado) | Nombre de la función de MATLAB
Este parámetro especifica el nombre de la función de MATLAB para la red de deep learning preentrenada. Por ejemplo, utilice la función googlenet
para importar el modelo preentrenado GoogLeNet.
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' |
Mini-batch size — Tamaño de los minilotes
128 (predeterminado) | entero positivo
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' |
Predictions — La salida ha predicho puntuaciones o respuestas
on
(predeterminado) | off
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' |
Formatos de los datos de entrada — Formato de los datos de entrada de dlnetwork
''
(predeterminado) | vector de caracteres | Cadena
Este parámetro especifica el formato de los datos de entrada que espera el objeto dlnetwork
entrenado.
Un formato de datos es una cadena de caracteres, en la que cada carácter describe el tipo de la dimensión correspondiente de los datos. 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"
. Para obtener más información, consulte Deep Learning Data Formats.
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, utilice un vector de caracteres en forma de: {'inputlayerName1', 'SSC'; 'inputlayerName2', 'SSCB'; ...}' . Para una red sin capa de entrada y con varios puertos de entrada, utilice un vector de caracteres en forma de: '{'inputportName1/inport1, 'SSC'; 'inputportName2/inport2, 'SSCB'; ...}' . |
Valor predeterminado: '' |
Activaciones — Activaciones de red de salida para una capa específica
capas de la red
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: '' |
Capacidades ampliadas
Generación de código C/C++
Genere código C y C++ mediante Simulink® Coder™.
Notas y limitaciones de uso:
Para generar código C genérico que no dependa de bibliotecas de terceros, vaya a Configuration Parameters, seleccione la categoría general Code Generation y establezca el parámetro Language en
C
.Para generar código C++, vaya a Configuration Parameters, seleccione la categoría general Code Generation y establezca el parámetro Language en
C++
. Para especificar la biblioteca para la generación de código, vaya a Code Generation, seleccione la categoría general Interface y establezca el parámetro Target Library. Establezca este parámetro enNone
para generar código C++ genérico que no dependa de bibliotecas de terceros.Para objetivos basados en ERT, debe habilitar el parámetro Support: variable-size signals. Para ello, vaya a Code Generation > panel Interface.
Para ver la lista de redes y capas compatibles con la generación de código, consulte Networks and Layers Supported for Code Generation (MATLAB Coder).
Generación de código de GPU
Genere código CUDA® para GPU NVIDIA® mediante GPU Coder™.
Notas y limitaciones de uso:
Debe establecer el parámetro Language que aparece en Configuration Parameters > categoría general Code Generation en
C++
.Para ver la lista de las redes y las capas compatibles con la generación de código CUDA®, consulte Supported Networks, Layers, and Classes (GPU Coder).
Para obtener más información sobre la generación de código para los modelos de Simulink que contienen el bloque Predict, consulte Code Generation for a Deep Learning Simulink Model That Performs Lane and Vehicle Detection (GPU Coder).
Historial de versiones
Introducido en R2020b
Consulte también
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)