‫Throughout the practical part of this course, you will find repeated mentioned of Keras and TensorFlow
‫.
‫In this video, we will try to understand what Keras and Tensorflow are
‫So let's see.
‫Keras is a deep learning framework that provides a convenient way to define and train almost any kind
‫of deep learning model.
‫Basically, Keras works at the model level.
‫It will help you define the model.
‫That is how many layers.
‫How many hidden layers.
‫What does the error function?
‫What is the optimizer, etc..
‫But it does not handle the lower level operations.
‫If you remember in the previous theory lectures, we learned that while training a neural network, we
‫need a lot of differentiation, matrix manipulation, etc., all these are not done by Keras.
‫Instead, this low level manipulation and differentiation of data is done by certain specialized and
‫well optimized libraries.
‫Good thing about Keras is that it can work seamlessly with several such lower-level libraries.
‫Currently, there are three main backend libraries. TensorFlow, which is developed by Google. CNTK
‫which stands for Cognitive Toolkit and is developed by Microsoft and Theano, which is developed by Mila
‫Lab at University of Montreal.
‫Any piece of code written in Keras can be run with any of these backends without having to change
‫anything in the code.
‫But as of now, Tensorflow is the most widely adopted, more scalable and most production ready.
‫So we will be using Tensorflow in this course.
‫Now, Tensorflow or any other such low level library.
‫These libraries need processing power from our system to do all this data manipulation.
‫This processing power can be provided by either C.P.U or GPU, which stands for Central Processing
‫Unit or the Graphical processing Unit. By default
‫we do a C.P.U based installation of Keras and TensorFlow
‫But if you are running on a system with Nvidia GPU and a properly configured libraries of Nvidia
‫such as CUDA and cuDNN which are for deep learning
‫Then you can install the GPU based version of the TensorFlow backend engine as well.
‫So that's all we need to know about.
‫Keras and TensorFlow
‫No need to be overwhelmed by these terms now.
‫You will see how using Keras will define our neural network model.
‫And then we will tell Keras to use Tensor Flow backend to train the model. In the next video
‫We will learn how to install Keras and tensorflow in our system.