Ravi Chityala

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.

Speaker home page

Before deep learning

Dealing with data, Intermediate
8/13/2017 | 3:45 PM-4:45 PM | Fisher East


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.

Introduction to Tensorflow

Dealing with data, Intermediate
8/11/2017 | 9:30a-5:00p | Galvanize - Speakeasy @ 44 Tehama St, SF


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.


Who should attend?

The attendees must have intermediate knowledge of Python

Workshop Description

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:

  1. Fundamentals of Tensorflow and its philosophy

  2. Graph based processing

  3. Basic datatypes

  4. Mathematical operation on Tensor

  5. Tensor transformation

  6. Simple examples such as calculating value of pi, power-ball number etc.

  7. Ops and op inspections

  8. Tensor-board

  9. Linear regression

  10. Logistic regression

  11. Convolutional neural network (LeNet)

  12. Convolutional neural network (VGG16)

  13. 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.