Before we can start building deep
learning networks, we will spend some
time learning about the different deep
learning libraries and frameworks that
are out there. In this video, I will
briefly cover the libraries that we'll
be teaching in this specialization. The
most popular library is in descending
order are TensorFlow, Keras, and PyTorch.
There is also Theano, a library developed
by the Montreal Institute for Learning
Algorithms, and was the major library for
deep learning development even before
TensorFlow and PyTorch.
However, the founders can't afford to
continuously support it and maintain it,
and therefore, the library lost its
popularity. Because of that, in this
specialization, we will focus on the
three other popular libraries. Among the
three libraries. TensorFlow is the most
popular one. It is the library that is
mostly used in production of deep
learning models. It has a very large
community. Just a quick look at the
number of forks on the library's Github
repository as well as the number of
commits and pull requests should suffice
in giving you an idea of how popular the
library is. Tensorflow was developed by
Google and released to the public in
2015, and is still being actively used at
Google for both research and production
needs. PyTorch on the other hand, is the
cousin of the Torch framework, which is
in Lua, and supports machine learning
algorithms running on GPUs in particular.
However being derived from the Torch
framework, PyTorch isn't just a set of
wrappers to support a popular language
like Python. Tt was actually rewritten
and tailored to be fast and feel native.
PyTorch was released in 2016 and has
gained immense interest lately and is
becoming the preferred language over
TensorFlow,
especially in academic research settings
and applications of deep learning
requiring optimizing custom expressions.
PyTorch is supported and being actively
used at Facebook. However, despite their
popularity, both
PyTorch and TensorFlow are not easy to
use, and have a steep learning curve. So
for people who are just starting to
learn deep learning, there is no better
library to use other than the Keras
library.
Keras is a high level API for building
deep learning models. It has gained favor
for its ease of use and syntactic
simplicity facilitating fast development.
As you'll see in the next couple of
videos, building a very complex deep
learning network can be achieved with
Keras with only few lines of code.
Keras normally runs on top of a
low-level library such as TensorFlow.
This means that to be able to use the
Kares library, you will have to install
TensorFlow first, and when you import
Keras, it will be explicitly displayed
what backend was used to install the
Keras library. Keras is also supported
by Google. I won't go into more details
about the different libraries,
but the take home message here is if
you're interested in building something
quickly go with the Keras library; you
won't be disappointed. However, if you
want to have more control over the
different nodes and layers in the
network, and want to watch closely what
happens with the network over time, then
PyTorch or TensorFlow would be the
right library. It will really boil
down to your personal preference.
With that, in the next videos, we will start
learning how to use the Keras library
to build models for regression and
classification problems.