Deep Learning with TensorFlow – Introduction to TensorFlow

Hello, and welcome! In this video, we will provide a brief overview
of the structure and capabilities of the TensorFlow library. TensorFlow is an open source library developed
by the Google Brain Team. It’s an extremely versatile library, but it
was originally created for tasks that require heavy numerical computations. For this reason, TensorFlow was geared towards
the problem of machine learning, and deep neural networks. Due to a C C++ backend, TensorFlow is able
to run faster than pure Python code. The last thing we’ll mention here is that
a TensorFlow application uses a structure known as a data flow graph. We’ll cover this in more detail shortly. TensorFlow offers several advantages for an
application. It provides both a Python and a C++ API. But the Python API is more complete and it’s
generally easier to use. TensorFlow also has great compilation times
in comparison to the alternative deep learning libraries. And it supports CPUs, GPUs, and even distributed
processing in a cluster. TensorFlow’s structure is based on the execution
of a data flow graph. A data flow graph has two basic units. A node represents a mathematical operation,
and an edge represents a multi-dimensional array, known as a tensor. So this high-level abstraction reveals how
the data flows between operations. The standard usage is to build a graph and
then execute after the session is created, by using the ‘run’ and ‘eval’ operations. Since this would be difficult for interactive
environments like IPython and Jupyter notebooks, there’s an option to create interactive sessions
that run on demand. Once the graph is built, an inner loop is
written to drive computation. Inputs are fed into nodes through variables
or placeholders. You can take a look at how that might work
in the sample graph here. In TensorFlow, a graph will only run computations
after the creation of a session. TensorFlow’s flexible architecture allows
you to deploy computation on one or more CPUs, or GPUs, or in a desktop, server, or even
a mobile device. All of this can be done while only using a
single API. As we mentioned before, TensorFlow comes with
an easy to use Python interface to build and execute your computational graphs. It’s easy to play around and learn about machine
learning using the Data Scientist Workbench, or DSWB. The point is that you don’t need any special
hardware. You can scale up and develop models faster
with different implementations. So let’s briefly touch on why TensorFlow is
suited for deep learning applications. TensorFlow has built-in support for deep learning
and neural networks, so it’s easy to assemble a net, assign parameters, and run the training
process. It also has a collection of simple, trainable
mathematical functions that are useful for neural networks. And any gradient-based machine learning algorithm
will benefit from TensorFlow’s auto-differentiation and suite of first-rate optimizers. Due to the large collection of flexible tools,
TensorFlow is compatible with many variants of machine learning. As a quick overview, a neural network is a
machine learning model inspired by the brain. Data comes into an input layer, and flows
across to an output layer. The hidden layers in between are responsible
for running calculations. The simple neural network you see here is
known as a Multi-layer perceptron. By increasing the number of hidden layers,
we move from a shallow neural network, to a deep neural network. Deep neural networks are capable of significantly
more complex behavior than their shallow counterparts. Each node, or neuron as it’s called, processes
input using an activation function. There are many different functions like the
binary step,the Hyperbolic Tangent, And the logistic Function. The choice of activation function has a big
impact on the network’s behavior. TensorFlow provides a lot of flexibility because
it gives you control over the network’s structure and the functions used for processing. But TensorFlow can be used for more than just
neural networks. It can also be used to take a set of points
and apply a linear regression. In its most basic form, this is essentially
a ‘line of best fit’. And if a line isn’t suitable for your data, You can use TensorFlow to build non-linear
models as well. If you need to build a model to perform classification,
with TensorFlow, you can easily implement logistic regression. And these are just a few of the basic models
that can be implemented with TensorFlow. By now, you should have a basic understanding
of TensorFlow’s structure and its capabilities. Thank you for watching this video.

16 thoughts on “Deep Learning with TensorFlow – Introduction to TensorFlow

Leave a Reply

Your email address will not be published. Required fields are marked *