Dr. Ravi Chityala is a Senior Engineer at Elekta Inc. He has more than 12 years of experience in image processing and scientific computing. He is also a part-time instructor at University of California Santa Cruz, Silicon Valley Extension, Santa Clara, CA, where he teaches advanced Python to programmers. He uses Python for web development, scientific prototyping and computing and as a glue to automate process.
A significant work in deep learning technique such as Convolution Neural Network (CNN) is in preparation and augmentation of image data. The data is then fed to the network for classification. In this talk, we will discuss an example where we will solve a CNN after preparing the data using appropriate computer vision and image processing algorithms using modules such as numpy, scipy, OpenCV etc.
Deep learning solves some of the most complex problems in computer vision. Deep learning is primarily a data problem (i.e.,) the more data we can provide to the learning algorithm, the better would be the outcome. In that regards, data preparation is a pre-requisite for solving deep learning problems.
Python is one of the most popular language for solving these deep learning problems. Python libraries such as Tensorflow, Theanos, Keras have made programming deep learning relatively easy. However, we still need to perform image augmentation and image preparation before feeding the data to deep learning. In this talk, we will learn about preparing large dataset of images for solving Convolution Neural Network (CNN) based classification.
We will read images using OpenCV and store them as numpy arrays. We will then filter and pre-process the images using scipy and OpenCV, so that the resulting tensor can be fed to the CNN. Along the way, we will discuss the philosophy behind each of these modules.
We will use Anaconda Python distribution along with the latest version of Tensorflow for this talk.
TensorFlow is a popular Python module that has made programming machine and deep learning fun and efficient.
In this workshop, we will start with TensorFlow philosophy, graph based processing, its data types and some operations. We will then build simple examples to understand how TensorFlow graphs and operations work. We will then discuss a few machine and deep learning algorithms and write the corresponding Tensorflow code. There will be plenty of hands-on activities. If you are already a Pythonista, then by taking this workshop you will be on your way to becoming a Tensorista.
The attendees must have intermediate knowledge of Python
Tensorflow is a very popular Python module for deep learning that has revolutionized the way we program deep learning. It uses simple building blocks to create deep learning architecture and solve problems irrespective of its size. At its heart, Tensorflow is a numerical computing library like Numpy and Scipy. Unlike Numpy and Scipy that perform immediate computation, Tensorflow follows a graph processing approach. Tensorflow allows creation of deep learning architectures with ease. A Tensorflow code can be run on CPU or GPU with no code change.
The content of the course:
Fundamentals of Tensorflow and its philosophy
Graph based processing
Mathematical operation on Tensor
Simple examples such as calculating value of pi, power-ball number etc.
Ops and op inspections
Convolutional neural network (LeNet)
Convolutional neural network (VGG16)
Running Tensorflow on AWS
There will be plenty of in-class activities so that you will get an opportunity to try the material taught in the class. We strongly believe that practice is the way to perfection and we conduct in-class activities for 1-2 hours of instruction.
You will be supplied with presentations and Jupyter notebooks. You will have the opportunity to ask questions and there will be Teaching Assistants to help answer individual student’s questions.
Bring your laptop and install Anaconda Python distribution. Please install the latest Anaconda for Python 3+, and then install Tensorflow using the instruction here. Please choose to install the CPU or GPU version of Tensorflow.