Placeholder Image

Subtitles section Play video

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

Hello, and welcome!

Subtitles and vocabulary

Click the word to look it up Click the word to find further inforamtion about it