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.
|Deep Network Designer||Design, visualize, and train deep learning networks|
|Image input layer|
|3-D image input layer|
Convolution and Fully Connected Layers
|2-D convolutional layer|
|3-D convolutional layer|
|2-D grouped convolutional layer|
|Transposed 2-D convolution layer|
|Transposed 3-D convolution layer|
|Fully connected layer|
|Rectified Linear Unit (ReLU) layer|
|Leaky Rectified Linear Unit (ReLU) layer|
|Clipped Rectified Linear Unit (ReLU) layer|
|Exponential linear unit (ELU) layer|
|Hyperbolic tangent (tanh) layer|
|Gaussian error linear unit (GELU) layer|
|Batch normalization layer|
|Group normalization layer|
|Instance normalization layer|
|Layer normalization layer|
|Channel-wise local response normalization layer|
|2-D crop layer|
|3-D crop layer|
Pooling and Unpooling Layers
|Average pooling layer|
|3-D average pooling layer|
|2-D global average pooling layer|
|3-D global average pooling layer|
|Global max pooling layer|
|3-D global max pooling layer|
|Max pooling layer|
|3-D max pooling layer|
|Max unpooling layer|
|Depth concatenation layer|
|Classification output layer|
|Regression output layer|
|Graph of network layers for deep learning|
|Plot neural network architecture|
|Add layers to layer graph or network|
|Remove layers from layer graph or network|
|Replace layer in layer graph or network|
|Connect layers in layer graph or network|
|Disconnect layers in layer graph or network|
|Directed acyclic graph (DAG) network for deep learning|
|Create 2-D residual network|
|Create 3-D residual network|
|Check equality of deep learning layer graphs or networks|
|Check equality of deep learning layer graphs or networks ignoring
|Analyze deep learning network architecture|
|Deep learning network for custom training loops|
|Add input layer to network|
|Print network summary|
|Initialize learnable and state parameters of a
|Deep learning network data layout for learnable parameter initialization|
|Check validity of custom or function layer|
- 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.
- 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.