Build Deep Neural Networks
Create new deep networks for tasks such as image classification and regression by defining the network architecture from scratch. Build networks using MATLAB or interactively using Deep Network Designer.
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. For a list of supported layers, see List of Deep Learning Layers.
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.
Apps
Deep Network Designer | Design, visualize, and train deep learning networks |
Functions
Topics
Built-In Layers
- Specify Layers of Convolutional Neural Network
Learn about the layers of a convolutional neural network (ConvNet), and the order they appear in a ConvNet. - Create Simple Deep Learning Neural Network for Classification
This example shows how to create and train a simple convolutional neural network for deep learning classification. - Train Convolutional Neural Network for Regression
This example shows how to fit a regression model using convolutional neural networks to predict the angles of rotation of handwritten digits. - List of Deep Learning Layers
Discover all the deep learning layers in MATLAB. - Build Networks with Deep Network Designer
Interactively build and edit deep learning networks in Deep Network Designer. - Deep Learning in MATLAB
Discover deep learning capabilities in MATLAB using convolutional neural networks for classification and regression, including pretrained networks and transfer learning, and training on GPUs, CPUs, clusters, and clouds. - Deep Learning Tips and Tricks
Learn how to improve the accuracy of deep learning networks. - Data Sets for Deep Learning
Discover data sets for various deep learning tasks. - Multiple-Input and Multiple-Output Networks
Learn how to define and train deep learning networks with multiple inputs or multiple outputs. - Example Deep Learning Networks Architectures
This example shows how to define simple deep learning neural networks for classification and regression tasks.
Custom Layers
- Define Custom Deep Learning Layers
Learn how to define custom deep learning layers. - Define Custom Deep Learning Intermediate Layers
Learn how to define custom deep learning intermediate layers. - Define Custom Deep Learning Output Layers
Learn how to define custom deep learning output layers. - Check Custom Layer Validity
Learn how to check the validity of custom deep learning layers. - Replace Unsupported Keras Layer with Function Layer
This example shows how to import the layers from a pretrained Keras network, replace the unsupported layers with function layers, and assemble the layers into a network ready for prediction.