Operations
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 define custom layers with learnable and state parameters. After you define 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 you have a loss
function that the trainnet
function does not support, 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.
Functions
Topics
Automatic Differentiation
- List of Functions with dlarray Support
View the list of functions that supportdlarray
objects. - Automatic Differentiation Background
Learn how automatic differentiation works. - Use Automatic Differentiation In Deep Learning Toolbox
How to use automatic differentiation in deep learning. - Define Custom Deep Learning Operations
Learn how to define custom deep learning operation. - Specify Custom Operation Backward Function
This example shows how to define the SReLU operation as a differentiable function and specify a custom backward function. - Train Model Using Custom Backward Function
This example shows how to train a deep learning model that contains an operation with a custom backward function.
Model Functions
- Train Network Using Model Function
This example shows how to create and train a deep learning network by using functions rather than a layer graph or adlnetwork
. - Update Batch Normalization Statistics Using Model Function
This example shows how to update the network state in a network defined as a function. - Make Predictions Using Model Function
This example shows how to make predictions using a model function by splitting data into mini-batches. - Initialize Learnable Parameters for Model Function
Learn how to initialize learnable parameters for custom training loops using a model function.
Deep Learning Function Acceleration
- Deep Learning Function Acceleration for Custom Training Loops
Accelerate model functions and model loss functions for custom training loops by caching and reusing traces. - Accelerate Custom Training Loop Functions
This example shows how to accelerate deep learning custom training loop and prediction functions. - Check Accelerated Deep Learning Function Outputs
This example shows how to check that the outputs of accelerated functions match the outputs of the underlying function. - Evaluate Performance of Accelerated Deep Learning Function
This example shows how to evaluate the performance gains of using an accelerated function.