"Delve into neural networks, implement deep learning algorithms, and explore layers of data abstraction with the help of this comprehensive TensorFlow guide About This Book * Learn how to implement advanced techniques in deep learning with Google`s brainchild, TensorFlow * Explore deep neural networks and layers of data abstraction with the help of this comprehensive guide * Real-world contextualization through some deep learning problems concerning research and application Who This Book Is For The book is intended for a general audience of people interested in machine learning and machine intelligence. A rudimentary level of programming in one language is assumed, as is a basic familiarity with computer science techniques and technologies, including a basic awareness of computer hardware and algorithms. Some competence in mathematics is needed to the level of elementary linear algebra and calculus. What You Will Learn * Learn about machine learning landscapes along with the historical development and progress of deep learning * Learn about deep machine intelligence and GPU computing with the latest TensorFlow 1.x * Access public datasets and utilize them using TensorFlow to load, process, and transform data * Use TensorFlow on real-world datasets, including images, text, and more * Learn how to evaluate the performance of your deep learning models * Using deep learning for scalable object detection and mobile computing * Train machines quickly to learn from data by exploring reinforcement learning techniques * Explore active areas of deep learning research and applications In Detail Deep learning is the step that comes after machine learning, and has more advanced implementations. Machine learning is not just for academics anymore, but is becoming a mainstream practice through wide adoption, and deep learning has taken the front seat. As a data scientist, if you want to explore data abstraction layers, this book will be your guide. This book shows how this can be exploited in the real world with complex raw data using TensorFlow 1.x. Throughout the book, you`ll learn how to implement deep learning algorithms for machine learning systems and integrate them into your product offerings, including search, image recognition, and language processing. Additionally, you`ll learn how to analyze and improve the performance of deep learning models. This can be done by comparing algorithms against benchmarks, along with machine intelligence, to learn from the information and determine ideal behaviors within a specific context. After finishing the book, you will be familiar with machine learning techniques, in particular the use of TensorFlow for deep learning, and will be ready to apply your knowledge to research or commercial projects. Style and approach This step-by-step guide will explore common, and not so common, deep neural networks and show how these can be exploited in the real world with complex raw data. With the help of practical examples, you will learn how to implement different types of neural nets to build smart applications related to text, speech, and image data processing" -- Dawsonera Cover Copyright Credits About the Authors About the Reviewers www.PacktPub.com Customer Feedback Table of Contents Preface Chapter 1: Getting Started with Deep Learning Introducing machine learning Supervised learning Unsupervised learning Reinforcement learning What is deep learning? How the human brain works Deep learning history Problems addressed Neural networks The biological neuron An artificial neuron How does an artificial neural network learn? The backpropagation algorithm Weights optimization Stochastic gradient descent Neural network architectures Multilayer perceptron DNNs architectures Convolutional Neural Networks Restricted Boltzmann Machines Autoencoders Recurrent Neural Networks Deep learning framework comparisons Summary Chapter 2: First Look at TensorFlow General overview What's new with TensorFlow 1.x? How does it change the way people use it? Installing and getting started with TensorFlow Installing TensorFlow on Linux Which TensorFlow to install on your platform? Requirements for running TensorFlow with GPU from NVIDIA Step 1: Install NVIDIA CUDA Step 2: Installing NVIDIA cuDNN v5.1+ Step 3: GPU card with CUDA compute capability 3.0+ Step 4: Installing the libcupti-dev library Step 5: Installing Python (or Python3) Step 6: Installing and upgrading PIP (or PIP3) Step 7: Installing TensorFlow How to install TensorFlow Installing TensorFlow with native pip Installing with virtualenv Installing TensorFlow on Windows Installation from source Install on Windows Test your TensorFlow installation Computational graphs Why a computational graph? Neural networks as computational graphs The programming model Data model Rank Shape Data types Variables Fetches Feeds TensorBoard How does TensorBoard work? Implementing a single input neuron Source code for the single input neuron Migrating to TensorFlow 1.x How to upgrade using the script Limitations Upgrading code manually Variables Summary functions Simplified mathematical variants Miscellaneous changes Summary Chapter 3: Using TensorFlow on a Feed-Forward Neural Network Introducing feed-forward neural networks Feed-forward and backpropagation Weights and biases Transfer functions Classification of handwritten digits Exploring the MNIST dataset Softmax classifier Visualization How to save and restore a TensorFlow model Saving a model Restoring a model Softmax source code Softmax loader source code Implementing a five-layer neural network Visualization Five-layer neural network source code ReLU classifier Visualization Source code for the ReLU classifier Dropout optimization Visualization Source code for dropout optimization Summary Chapter 4: TensorFlow on a Convolutional Neural Network Introducing CNNs CNN architecture A model for CNNs - LeNet Building your first CNN Source code for a handwritten classifier Emotion recognition with CNNs Source code for emotion classifier Testing the model on your own image Source code Summary Chapter 5: Optimizing TensorFlow Autoencoders Introducing autoencoders Implementing an autoencoder Source code for the autoencoder Improving autoencoder robustness Building a denoising autoencoder Source code for the denoising autoencoder Convolutional autoencoders Encoder Decoder Source code for convolutional autoencoder Summary Chapter 6: Recurrent Neural Networks RNNs basic concepts RNNs at work Unfolding an RNN The vanishing gradient problem LSTM networks An image classifier with RNNs Source code for RNN image classifier Bidirectional RNNs Source code for the bidirectional RNN Text prediction Dataset Perplexity PTB model Running the example Summary Chapter 7: GPU Computing GPGPU computing GPGPU history The CUDA architecture GPU programming model TensorFlow GPU set up Update TensorFlow TensorFlow GPU management Programming example Source code for GPU computation GPU memory management Assigning a single GPU on a multi-GPU system Source code for GPU with soft placement Using multiple GPUs Source code for multiple GPUs management Summary Chapter 8: Advanced TensorFlow Programming Introducing Keras Installation Building deep learning models Sentiment classification of movie reviews Source code for the Keras movie classifier Adding a convolutional layer Source code for movie classifier with convolutional layer Pretty Tensor Chaining layers Normal mode Sequential mode Branch and join Digit classifier Source code for digit classifier TFLearn TFLearn installation Titanic survival predictor Source code for titanic classifier Summary Chapter 9: Advanced Multimedia Programming with TensorFlow Introduction to multimedia analysis Deep learning for Scalable Object Detection Bottlenecks Using the retrained model Accelerated Linear Algebra Key strengths of TensorFlow Just-in-time compilation via XLA JIT compilation Existence and advantages of XLA Under the hood working of XLA Still experimental Supported platforms More experimental material TensorFlow and Keras What is Keras? Effects of having Keras on board Video question answering system Not runnable code! Deep learning on Android TensorFlow demo examples Getting started with Android Architecture requirements Prebuilt APK Running the demo Building with Android studio Going deeper - Building with Bazel Summary Chapter 10: Reinforcement Learning Basic concepts of Reinforcement Learning Q-learning algorithm Introducing the OpenAI Gym framework FrozenLake-v0 implementation problem Source code for the FrozenLake-v0 problem Q-learning with TensorFlow Source code for the Q-learning neural network Summary Index Delve into neural networks, implement deep learning algorithms, and explore layers of data abstraction with the help of this comprehensive TensorFlow guideKey Features[•] Learn how to implement advanced techniques in deep learning with Google's brainchild, TensorFlow[•] Explore deep neural networks and layers of data abstraction with the help of this comprehensive guide[•] Real-world contextualization through some deep learning problems concerning research and applicationBook DescriptionDeep learning is the step that comes after machine learning, and has more advanced implementations. Machine learning is not just for academics anymore, but is becoming a mainstream practice through wide adoption, and deep learning has taken the front seat. As a data scientist, if you want to explore data abstraction layers, this book will be your guide. This book shows how this can be exploited in the real world with complex raw data using TensorFlow 1.x. Throughout the book, you'll learn how to implement deep learning algorithms for machine learning systems and integrate them into your product offerings, including search, image recognition, and language processing. Additionally, you'll learn how to analyze and improve the performance of deep learning models. This can be done by comparing algorithms against benchmarks, along with machine intelligence, to learn from the information and determine ideal behaviors within a specific context. After finishing the book, you will be familiar with machine learning techniques, in particular the use of TensorFlow for deep learning, and will be ready to apply your knowledge to research or commercial projects.What you will learn[•]Learn about machine learning landscapes along with the historical development and progress of deep learning[•]Learn about deep machine intelligence and GPU computing with the latest TensorFlow 1.x[•] Access public datasets and utilize them using TensorFlow to load, process, and transform data[•] Use TensorFlow on real-world datasets, including images, text, and more[•] Learn how to evaluate the performance of your deep learning models[•] Using deep learning for scalable object detection and mobile computing[•]Train machines quickly to learn from data by exploring reinforcementlearning techniques[•]Explore active areas of deep learning research and applicationsWho this book is forThe book is intended for a general audience of people interested in machine learning and machine intelligence. A rudimentary level of programming in one language is assumed, as is a basic familiarity with computer science techniques and technologies, including a basic awareness of computer hardware and algorithms. Some competence in mathematics is needed to the level of elementary linear algebra and calculus.