Deep Learning

MATLAB for Deep Learning

Data preparation, design, simulation, and deployment for deep neural networks

With just a few lines of MATLAB® code, you can apply deep learning techniques to your work whether you’re designing algorithms, preparing and labeling data, or generating code and deploying to embedded systems.

With MATLAB, you can:

  • Create, modify, and analyze deep learning architectures using apps and visualization tools.
  • Preprocess data and automate ground-truth labeling of image, video, and audio data using apps.
  • Accelerate algorithms on NVIDIA® GPUs, cloud, and datacenter resources without specialized programming.
  • Collaborate with peers using frameworks like TensorFlow, PyTorch, and MxNet.
  • Simulate and train dynamic system behavior with reinforcement learning.
  • Generate simulation-based training and test data from MATLAB and Simulink® models of physical systems.

See How Others Use MATLAB for Deep Learning

Panel Navigation


Uses semantic segmentation for terrain recognition in hyperspectral satellite data.

Panel Navigation


Labels LIDAR for verification of a radar-based automated driving system.

Panel Navigation

Ritsumeikan University

Trains convolutional neural networks on CT images to reduce radiation exposure risk.

Prepare and Label Image, Time-Series, and Text Data

MATLAB significantly reduces the time required to preprocess and label data sets for signal, image, video, lidar, audio, and text data. Synchronize disparate time series, replace outliers with interpolated values, deblur images, and filter noisy signals. Use interactive apps to label, crop, and identify important features, and built-in algorithms to help automate the process of labeling.

Design, Train, and Evaluate Models

Start with a complete set of algorithms and prebuilt models, then create and modify deep learning models using the Deep Network Designer app. Incorporate deep learning models for domain-specific problems without having to create complex network architectures from scratch.

Use techniques to find the optimal network hyperparameters and Parallel Computing Toolbox™ and high-performance NVIDIA GPUs to accelerate these computationally intensive algorithms. Use visualization tools in MATLAB and techniques like Grad-CAM and occlusion sensitivity to gain insights into your model. Use Simulink to evaluate the impact of your trained deep learning model on system-level performance.

Simulate and Generate Synthetic Data

Data for accurate models is critical, and MATLAB can generate more data when you don’t have enough of the right scenarios. For example, use synthetic images from gaming engines, such as Unreal Engine®, to incorporate more edge cases. Use generative adversarial networks (GANs) to create custom simulated images.

Test algorithms before data is available from sensors by generating synthetic data from Simulink, an approach commonly used in automated driving systems.

Integrate with Python-Based Frameworks

It’s not an either/or choice between MATLAB and open source frameworks. MATLAB allows you to access the latest research from anywhere using ONNX import capabilities, and you can also use a library of prebuilt models, including NASNet, SqueezeNet, Inception-v3, and ResNet-101, to get started quickly. The ability to call Python from MATLAB and MATLAB from Python allows you to easily collaborate with colleagues that are using open source.

Deploy Trained Networks

Deploy your trained model on embedded systems, enterprise systems, FPGA devices, or the cloud. MATLAB supports automatic CUDA® code generation for the trained network as well as for preprocessing and postprocessing to specifically target the latest NVIDIA GPUs.

When performance matters, you can generate code that leverages optimized libraries from Intel®, NVIDIA, and ARM® to create deployable models with high-performance inference speed. For edge deployment you can prototype your network on an FPGA and then generate production-ready HDL to target any device.

Deep Learning Topics

Panel Navigation

Signal Processing

Acquire and analyze signals and time-series data.

Panel Navigation

Computer Vision

Acquire, process, and analyze images and video.

Panel Navigation

Reinforcement Learning

Define, train, and deploy reinforcement learning policies.

Get Started Fast

Deep Learning Onramp

Get started with deep learning techniques in this free, hands-on tutorial.

Explore Getting Started Resources

Watch a demonstration, explore interactive examples, and access free tutorials.

Get a Free Trial

30 days of exploration at your fingertips.

Explore Deep Learning Toolbox

Have Questions?

Talk to a deep learning expert.