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 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 layer graphs do not support, you can
define a custom 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.
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.