← Back to the training program

Lucas García



Deep Learning in the Cloud for Image Classification and Object Recognition with Convolutional Neural Networks using MATLAB

Afternoon | 14:30 - 18:30


Deep learning is a machine learning technique that teaches computers to do what comes naturally to humans: learn by example. Deep learning is a key technology behind driverless cars, enabling them to recognize a stop sign, or to distinguish a pedestrian from a lamppost. It is the key to voice control in consumer devices like phones, tablets, TVs, and hands-free speakers.

Most deep learning methods use neural network architectures, which is why deep learning models are often referred to as deep neural networks. One of the most popular types of deep neural networks is known as Convolutional Neural Networks (CNNs or ConvNets). A CNN convolves learned features with input data, and uses 2D convolutional layers, making this architecture well suited to processing 2D data, such as images.

CNNs eliminate the need for manual feature extraction, so you do not need to identify features used to classify images. The CNN works by extracting features directly from images. The relevant features are not pretrained; they are learned while the network trains on a collection of images. This automated feature extraction makes deep learning models highly accurate for computer vision tasks such as object classification.

During the workshop, you will learn how to develop deep learning applications for computer vision using practical examples (though the learnings can be applied to other applications such as signal processing, speech recognition, etc.) that run either in your computer, your GPU, a cluster or in the cloud. Moreover, you will learn how to auto-generate portable and optimized CUDA code from the MATLAB algorithm, which can then be cross-compiled and deployed to an embedded GPU.


·Short intro to deep learning

·Understanding Convolutional Neural Networks

·Examples and exercises include:
·Importing and managing large data sets
·Image Classification Using pre-trained Networks
·Training Deep Neural Networks from scratch
.Transfer Learning to classify new objects
·Importing models from 3p software (i.e. Caffe)
·Solving regression problems with Convolutional Neural Networks
·Locating and classifying objects in images and video
·Generating portable and optimized CUDA code


·Laptop with the following requirements (Windows, Linux or Mac):
·Internet Ethernet connection required
·MATLAB and Toolboxes will be provided so that you can download and install them prior to the workshop
·Some MATLAB experience is good to have. Going through this free 2-hour MATLAB On-Ramp training is highly recommended: (requires creating a free MathWorks Account).
·Source code will be made available during the workshop
·During the workshop, you will be using GPUs available in Amazon P2 instances. However, you are required to bring your own laptop.


MathWorks will provide by email a certificate of attendance the week after the event.


Data Scientists, Data Analysts, Engineers, or anyone interested in developing deep learning applications.
Some exposure, or basic understanding of neural networks is ideal, but not required.
Prior experience with or familiarity with MATLAB is preferred or good to have, as MATLAB is used for all examples and exercises. However, a 2-hour free online training course is available to get you started or refresh the most important concepts (see requirements section).

Bio of the instructor:

Lucas García is a Senior Application Engineer at MathWorks specialized in Machine Learning and Big Data Analytics. A mathematician with more than 10 years of experience in the computer software industry and research, he works with MATLAB users across industries (aerospace, energy and utilities, oil and gas, industrial automation, robotics, etc.) to help them tackle problems in areas such as data analytics and predictive maintenance. His research is focused on how neural networks can be used to solve combinatorial optimization problems.