Automatic Differentiation
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 defining a custom layer, you can check that the layer is valid, GPU compatible, and outputs correctly defined gradients. 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.
Categories
- Custom Layers
Define custom layers for deep learning
- Custom Training Loops
Customize deep learning training loops and loss functions
- Operations
Develop custom deep learning functions