This course shows you how to install and use TensorFlow, a leading machine learning library from Google. You'll see how TensorFlow can create a range of machine learning models, from simple linear regression to complex deep neural networks.
Developing sophisticated machine learning solutions is a difficult task. There are many processing steps that must be performed, and how this processing is performed is a function of not only the code you write, but also the data you use. In this course, TensorFlow: Getting Started, you'll see how TensorFlow easily addresses these concerns by learning TensorFlow from the bottom up. First, you'll be introduced to the installation process, building simple and advanced models, and utilizing additional libraries that make development even easier. Along the way, you'll learn how the unique architecture in TensorFlow lets you perform your computing on systems as small as a Raspberry Pi, and as large as a data farm. Finally, you'll explore using TensorFlow with neural networks in general, and specifically with powerful deep neural networks. By the end of this course, you'll have a solid foundation on using TensorFlow, and have the knowledge to apply TensorFlow to create your own machine learning solutions.
Course Overview Hi my name is Jerry Kurata and welcome to my course TensorFlow: Getting Started. Every day, we see solutions utilizing machine learning based applications, from automatically adding the names of everyone in pictures posted online to diagnosing medical conditions. These systems utilize the power of machine learning and neural networks to perform tasks with amazing speed and accuracy. And TensorFlow is the premier framework for building these solutions. In this course, you'll learn how to build neural networks and other machine learning solutions with TensorFlow. This course will introduce you to TensorFlow's special architecture that lets you easily develop your solution on your laptop and scale your solution to large server farms. We start by creating simple models, then go on to learn about neural networks in TensorFlow and apply their features to creating complex solutions which identify items and pictures. Once we have a solution, we show how to deploy it and learn about the unique monitoring and debugging features provided with TensorFlow. And all of this will be easy to do with TensorFlow's expressive syntax and structures. By the end of this course, you will have a solid foundation in using TensorFlow and know how to apply TensorFlow to create your world-class machine learning solution. I look forward to you joining me on this journey of TensorFlow: Getting Started from Pluralsight.
Introducing TensorFlow Hello. This is going to be a fun module because in this module, we get hands-on with TensorFlow. We have three tasks we are going to accomplish in this module. First, we will start by getting TensorFlow installed. There are a number of options and we need to select the proper ones for our usage and configuration. Once TensorFlow is installed, we will use it to create a simple model. This will give us some hands-on familiarity with TensorFlow's syntax and structures without having to concentrate on the complexities of the model. And as part of our coding, we will discuss in more detail the architecture of TensorFlow. We will find that there are patterns which repeat in most TensorFlow applications. Sound good? In the next clip, we'll get TensorFlow installed. Feel free to skip this clip if you've already installed TensorFlow and have it operating, or maybe watch the clip and see if there are any options you might like to try.
Debugging and Monitoring As we have seen, TensorFlow can be used to create some complex models that are performing hundreds of operations on thousands of tensors. And these can be accomplished on CPUs, GPUs, or even different systems simultaneously. As a result, it can be difficult to tell when things are not going as planned. So before we continue using TensorFlow, let's look at some of the techniques and tools to make our TensorFlow development lives easier and more importantly, produce higher quality solutions. In this module, we will cover why debugging and monitoring in TensorFlow is different than in a more traditional programming environment and why this requires special features and tools. Two of these features are name and name scope. They let us easily identify elements in our models. Name and name scope work together with a tool called TensorBoard that makes it easier to understand our model and monitor its progress. We will see all of this in action when we update our earlier models to make them easier to debug and monitor. Let's get started by understanding why debugging and monitoring in TensorFlow is different than in a traditional application.
Transfer Learning with TensorFlow We humans are masters at applying our previous experience to guide our behaviors in new situations. For example, we can smell bad milk and inherently know we should not use because it'll make us sick. And we can do this even if we've never previously experienced bad milk. We recognize via smell or sight that the milk is bad in known from previous knowledge that we should not use bad food. Our ability to transfer this experience to something quite different is an example of transfer learning. In this module, we'll see how TensorFlow makes it easy to implement transfer learning. We'll be able to apply our knowledge captured by a model that took giga bytes of data and weeks to train on a compute farm to our problem and we'll be able to train our solution to use this knowledge in just a few minutes on a basic computer.
Extending TensorFlow with Add-ons In previous modules, we created our models with only TensorFlow. We create models that were powerful and produced great results even on complex tasks like image recognition. And we had great flexibility in creating our models by using TensorFlow's graph creation and graph execution concepts. But as easy as it was to develop directly in TensorFlow, there are times where it can be a bit cumbersome. In a big model, you can have a lot of layers to keep track of, and there can be a lot of plumbing to connect before you reach your goal of a perfect solution. To make creating and working with neural network models easier, you should consider using libraries that can handle many of the tasks related to constructing, experimenting with, and maintaining these networks. In this module, we'll reveal two such libraries, Keras and TFLearn, which extend TensorFlow and make it even easier to create and manage neural network-based models. Both libraries provide higher level abstractions like arrangements of layers while hiding the details of moving data between layers and let you concentrate on creating great solutions. Both libraries are from groups closely associated with TensorFlow. But each library has a unique design and feature set. Join me in the next clip, where we'll get started by looking at Keras.