dlarray
Descripción
Un arreglo de deep learning almacena datos con etiquetas de formato opcionales de datos para bucles de entrenamiento personalizados y permite que las funciones calculen y usen derivadas a través de la diferenciación automática.
Sugerencia
Para la mayor parte de las tareas de deep learning, puede utilizar una red neuronal preentrenada y adaptarla a sus propios datos. Para ver un ejemplo de cómo usar la transferencia del aprendizaje para volver a entrenar una red neuronal convolucional para clasificar un nuevo conjunto de imágenes, consulte Entrenar redes de deep learning para clasificar nuevas imágenes. Como alternativa, puede crear y entrenar redes neuronales desde cero usando objetos layerGraph
con las funciones trainNetwork
y trainingOptions
.
Si la función trainingOptions
no proporciona las opciones de entrenamiento que necesita para la tarea, puede crear un bucle de entrenamiento personalizado mediante diferenciación automática. Para obtener más información, consulte Define Deep Learning Network for Custom Training Loops.
Creación
Descripción
formatea los datos de dlX
= dlarray(X
,fmt
)dlX
con etiquetas de dimensión según el formato de los datos en fmt
. Las etiquetas de dimensión ayudan a pasar datos de deep learning entre funciones. Para obtener más información sobre las etiquetas de dimensión, consulte Uso. Si X
es un dlarray
con formato, fmt
reemplaza el formato existente.
Argumentos de entrada
Argumentos de salida
Uso
Los formatos de datos dlarray
permiten ejecutar las funciones en la tabla siguiente con la seguridad de que los datos tienen la forma adecuada.
Función | Operación | Valida la dimensión de entrada | Afecta al tamaño de la dimensión de entrada |
---|---|---|---|
avgpool | Calcula el promedio de los datos de entrada sobre regiones espaciales rectangulares (o cúbicas) ('S' ) móviles definidas por un parámetro de tamaño de grupo. | 'S' | 'S' |
batchnorm | Permite normalizar los valores contenidos en cada canal ('C' ) de los datos de entrada. | 'C' | |
crossentropy | Permite calcular la entropía cruzada entre las estimaciones y los valores objetivo, promediada por el tamaño de la dimensión del lote ('B' ). | 'S' , 'C' , 'B' , 'T' , 'U' (Las estimaciones y los arreglos objetivo deben tener el mismo tamaño). | 'S' , 'C' , 'B' , 'T' , 'U' (La salida es un escalar sin formato). |
dlconv | Permite calcular la convolución de deep learning de los datos de entrada utilizando un arreglo de filtros, coincidiendo con el número de dimensiones espaciales ('S' ) y (una función de las) dimensiones del canal ('C' ) de entrada y añadiendo un sesgo constante. | 'S' , 'C' | 'S' , 'C' |
dltranspconv | Permite calcular la convolución traspuesta de deep learning de los datos de entrada utilizando un arreglo de filtros, coincidiendo con el número de dimensiones espaciales ('S' ) y (una función de las) dimensiones del canal ('C' ) de entrada y añadiendo un sesgo constante. | 'S' , 'C' | 'S' , 'C' |
fullyconnect | Permite calcular una suma ponderada de los datos de entrada y aplicar un sesgo para la dimensión de cada lote ('B' ) y tiempo ('T' ). | 'S' , 'C' , 'U' | 'S' , 'C' , 'B' , 'T' , 'U' (La salida siempre tiene el formato de datos 'CB' , 'CT' o 'CTB' ). |
gru | Permite aplicar un cálculo de unidad recurrente cerrada a los datos de entrada. | 'S' , 'C' , 'T' | 'C' |
lstm | Permite aplicar un cálculo de memoria de corto-largo plazo a los datos de entrada. | 'S' , 'C' , 'T' | 'C' |
maxpool | Permite calcular el máximo de los datos de entrada sobre regiones espaciales ('S' ) rectangulares en movimiento definidas por un parámetro de tamaño de grupo. | 'S' | 'S' |
maxunpool | Permite calcular la operación de desagrupar las dimensiones espaciales ('S' ). | 'S' | 'S' |
mse | Permite calcular el error cuadrático medio a la mitad entre las estimaciones y los valores objetivo, promediado por el tamaño de la dimensión del lote ('B' ). | 'S' , 'C' , 'B' , 'T' , 'U' (Las estimaciones y los arreglos objetivo deben tener el mismo tamaño). | 'S' , 'C' , 'B' , 'T' , 'U' (La salida es un escalar sin formato). |
softmax | Permite aplicar la activación softmax a cada canal ('C' ) de los datos de entrada. | 'C' |
Estas dimensiones requieren que cada dimensión tenga una etiqueta. Puede especificar el formato de etiqueta de dimensión proporcionando la primera entrada como un dlarray
con formato o utilizando el argumento de nombre-valor 'DataFormat'
de la función.
dlarray
aplica el orden de la etiqueta de dimensión de 'SCBTU'
. Esta operación elimina la semántica ambigua en las operaciones que emparejan implícitamente las etiquetas entre entradas. dlarray
también hace que las etiquetas de dimensión 'C'
, 'B'
y 'T'
solo puedan aparecer como máximo una vez cada una. Las funciones que usan estas etiquetas de dimensión aceptan como máximo una dimensión para cada etiqueta.
dlarray
proporciona funciones para obtener el formato de datos asociado con un dlarray
(dims
), eliminar el formato de datos (stripdims
) y obtener las dimensiones asociadas con etiquetas de dimensión concretas (finddim
).
Para obtener más información sobre cómo funciona dlarray
con formatos, consulte Notable dlarray Behaviors.
Funciones del objeto
avgpool | Pool data to average values over spatial dimensions |
batchnorm | Normalize data across all observations for each channel independently |
crossentropy | Cross-entropy loss for classification tasks |
dims | Etiquetas de dimensión de dlarray |
dlconv | Deep learning convolution |
dlgradient | Compute gradients for custom training loops using automatic differentiation |
dltranspconv | Deep learning transposed convolution |
extractdata | Extraer datos de dlarray |
finddim | Find dimensions with specified label |
fullyconnect | Sum all weighted input data and apply a bias |
gru | Gated recurrent unit |
leakyrelu | Apply leaky rectified linear unit activation |
lstm | Memoria de corto-largo plazo |
maxpool | Pool data to maximum value |
maxunpool | Unpool the output of a maximum pooling operation |
mse | Half mean squared error |
relu | Aplicar la activación de unidad lineal rectificada |
sigmoid | Aplicar la activación sigmoide |
softmax | Apply softmax activation to channel dimension |
stripdims | Remove dlarray data format |
Un dlarray
también permite funciones para operaciones numéricas, de matrices y de otros tipos. Puede consultar la lista completa en List of Functions with dlarray Support.
Ejemplos
Sugerencias
Una llamada de
dlgradient
debe estar dentro de una función. Para obtener un valor numérico de un gradiente, debe evaluar la función utilizandodlfeval
y el argumento de la función debe ser undlarray
. Consulte Use Automatic Differentiation In Deep Learning Toolbox.Para permitir la evaluación correcta de los gradientes,
dlfeval
debe llamar a funciones que solo usen funciones compatibles condlarray
. Consulte List of Functions with dlarray Support.