Cognitive Class

Deep Learning with TensorFlow

The majority of data in the world is unlabeled and unstructured. Shallow neural networks cannot easily capture relevant structure in, for instance, images, sound, and textual data. Deep networks are capable of discovering hidden structures within this type of data. In this TensorFlow course you'll use Google's library to apply deep learning to different data types in order to solve real world problems.

Start the Free Course

This Deep Learning with TensorFlow course focuses on TensorFlow. If you are new to the subject of deep learning, consider taking our Deep Learning 101 course first.

Traditional neural networks rely on shallow nets, composed of one input, one hidden layer and one output layer. Deep-learning networks are distinguished from these ordinary neural networks having more hidden layers, or so-called more depth. These kind of nets are capable of discovering hidden structures within unlabeled and unstructured data (i.e. images, sound, and text), which consitutes the vast majority of data in the world.

TensorFlow is one of the best libraries to implement deep learning. TensorFlow is a software library for numerical computation of mathematical expressional, using data flow graphs. Nodes in the graph represent mathematical operations, while the edges represent the multidimensional data arrays (tensors) that flow between them. It was created by Google and tailored for Machine Learning. In fact, it is being widely used to develop solutions with Deep Learning.

In this TensorFlow course, you will be able to learn the basic concepts of TensorFlow, the main functions, operations and the execution pipeline. Starting with a simple “Hello Word” example, throughout the course you will be able to see how TensorFlow can be used in curve fitting, regression, classification and minimization of error functions. This concept is then explored in the Deep Learning world. You will learn how to apply TensorFlow for backpropagation to tune the weights and biases while the Neural Networks are being trained. Finally, the course covers different types of Deep Architectures, such as Convolutional Networks, Recurrent Networks and Autoencoders.

Notice: All the labs in this course are run through CC Labs, however, running deep learning programs usually needs a high performance platform. PowerAI speeds up deep learning and AI using GPU. Built on IBM's Power Systems, PowerAI is a scalable software platform that accelerates deep learning and AI with blazing performance for individual users or enterprises. The PowerAI platform supports popular machine learning libraries and dependencies including Tensorflow, Caffe, Torch, and Theano. You can download a free version of PowerAI here.


Course Syllabus

Module 1 – Introduction to TensorFlow

  • HelloWorld with TensorFlow
  • Linear Regression
  • Nonlinear Regression
  • Logistic Regression
  • Activation Functions

Module 2 – Convolutional Neural Networks (CNN)

  • CNN History
  • Understanding CNNs
  • CNN Application

Module 3 – Recurrent Neural Networks (RNN)

  • Intro to RNN Model
  • Long Short-Term memory (LSTM)
  • Recursive Neural Tensor Network Theory
  • Recurrent Neural Network Model

Module 4 - Unsupervised Learning

  • Applications of Unsupervised Learning
  • Restricted Boltzmann Machine
  • Collaborative Filtering with RBM

Module 5 - Autoencoders

  • Introduction to Autoencoders and Applications
  • Autoencoders
  • Deep Belief Network

General Information

  • This TensorFlow course is free.
  • This course if with Python language.
  • It is self-paced.
  • It can be taken at any time.
  • It can be audited as many times as you wish.

Recommended skills prior to taking this course

  • Neural Network


  • Python programming

Course Staff

Dr. Saeed Aghabozorgi, TensorFlow Course Instructor

Saeed Aghabozorgi, PhD is a Data Scientist in IBM with a track record of developing enterprise level applications that substantially increases clients’ ability to turn data into actionable knowledge. He is a researcher in data mining field and expert in developing advanced analytic methods like deep learning, machine learning and statistical modelling on large datasets.

Course Development Team

Thanks to course developement team, interns and all individuals contributed to the development of this course: Kiran Mantri, Shashibushan Yenkanchi, Jag Rangrej, Naresh Vempala, Walter Gomes, Anita Vincent, Gabriel Sousa, Francisco Magioli, Victor Costa, Erich Sato, Luis Otavio and Rafael Belo.