Main Content


Develop custom deep learning functions

For most tasks, you can use built-in layers. If there is not a built-in layer that you need for your task, then you can define your own custom layer. You can specify a custom loss function using a custom output layer and define custom layers with learnable and state parameters. After defining a custom layer, you can check that the layer is valid, GPU compatible, and outputs correctly defined gradients. To learn more, see Define Custom Deep Learning Layers. For a list of supported layers, see List of Deep Learning Layers.

If the trainingOptions function does not provide the training options that you need for your task, or custom output layers do not support the loss functions that you need, then you can define a custom training loop. For models that cannot be specified as networks of layers, you can define the model as a function. To learn more, see Define Custom Training Loops, Loss Functions, and Networks.

Use deep learning operations to develop MATLAB® code for custom layers, training loops, and model functions.


alle erweitern

dlarrayDeep learning array for customization (Seit R2019b)
dimsDimension labels of dlarray (Seit R2019b)
finddimFind dimensions with specified label (Seit R2019b)
stripdimsRemove dlarray data format (Seit R2019b)
extractdataExtract data from dlarray (Seit R2019b)
isdlarrayCheck if object is dlarray (Seit R2020b)
dlconvDeep learning convolution (Seit R2019b)
dltranspconvDeep learning transposed convolution (Seit R2019b)
lstmLong short-term memory (Seit R2019b)
gruGated recurrent unit (Seit R2020a)
attentionDot-product attention (Seit R2022b)
embedEmbed discrete data (Seit R2020b)
fullyconnectSum all weighted input data and apply a bias (Seit R2019b)
dlode45Deep learning solution of nonstiff ordinary differential equation (ODE) (Seit R2021b)
batchnormNormalize data across all observations for each channel independently (Seit R2019b)
crosschannelnormCross channel square-normalize using local responses (Seit R2020a)
groupnormNormalize data across grouped subsets of channels for each observation independently (Seit R2020b)
instancenormNormalize across each channel for each observation independently (Seit R2021a)
layernormNormalize data across all channels for each observation independently (Seit R2021a)
avgpoolPool data to average values over spatial dimensions (Seit R2019b)
maxpoolPool data to maximum value (Seit R2019b)
maxunpoolUnpool the output of a maximum pooling operation (Seit R2019b)
reluApply rectified linear unit activation (Seit R2019b)
leakyreluApply leaky rectified linear unit activation (Seit R2019b)
geluApply Gaussian error linear unit (GELU) activation (Seit R2022b)
softmaxApply softmax activation to channel dimension (Seit R2019b)
sigmoidApply sigmoid activation (Seit R2019b)
crossentropyCross-entropy loss for classification tasks (Seit R2019b)
l1lossL1 loss for regression tasks (Seit R2021b)
l2lossL2 loss for regression tasks (Seit R2021b)
huberHuber loss for regression tasks (Seit R2021a)
mseHalf mean squared error (Seit R2019b)
ctcConnectionist temporal classification (CTC) loss for unaligned sequence classification (Seit R2021a)
dlaccelerateAccelerate deep learning function for custom training loops (Seit R2021a)
AcceleratedFunctionAccelerated deep learning function (Seit R2021a)
clearCacheClear accelerated deep learning function trace cache (Seit R2021a)


Automatic Differentiation

Model Functions

Deep Learning Function Acceleration

Verwandte Informationen