Fundamentals of Deep Learning and Computer Vision
eBook - ePub

Fundamentals of Deep Learning and Computer Vision

A Complete Guide to become an Expert in Deep Learning and Computer Vision

  1. English
  2. ePUB (mobile friendly)
  3. Available on iOS & Android
eBook - ePub

Fundamentals of Deep Learning and Computer Vision

A Complete Guide to become an Expert in Deep Learning and Computer Vision

About this book

Master Computer Vision concepts using Deep Learning with easy-to-follow steps Key Features

  • Setting up the Python and TensorFlow environment
  • Learn core Tensorflow concepts with the latest TF version 2.0
  • Learn Deep Learning for computer vision applications
  • Understand different computer vision concepts and use-cases
  • Understand different state-of-the-art CNN architectures
  • Build deep neural networks with transfer Learning using features from pre-trained CNN models
  • Apply computer vision concepts with easy-to-follow code in Jupyter Notebook

  • Description
    This book starts with setting up a Python virtual environment with the deep learning framework TensorFlow and then introduces the fundamental concepts of TensorFlow. Before moving on to Computer Vision, you will learn about neural networks and related aspects such as loss functions, gradient descent optimization, activation functions and how backpropagation works for training multi-layer perceptrons.
    To understand how the Convolutional Neural Network (CNN) is used for computer vision problems, you need to learn about the basic convolution operation. You will learn how CNN is different from a multi-layer perceptron along with a thorough discussion on the different building blocks of the CNN architecture such as kernel size, stride, padding, and pooling and finally learn how to build a small CNN model.
    The book concludes with a chapter on sequential models where you will learn about RNN, GRU, and LSTMs and their architectures and understand their applications in machine translation, image/video captioning and video classification.

Frequently asked questions

Yes, you can cancel anytime from the Subscription tab in your account settings on the Perlego website. Your subscription will stay active until the end of your current billing period. Learn how to cancel your subscription.
No, books cannot be downloaded as external files, such as PDFs, for use outside of Perlego. However, you can download books within the Perlego app for offline reading on mobile or tablet. Learn more here.
Perlego offers two plans: Essential and Complete
  • Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
  • Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Both plans are available with monthly, semester, or annual billing cycles.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Yes! You can use the Perlego app on both iOS or Android devices to read anytime, anywhere — even offline. Perfect for commutes or when you’re on the go.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Yes, you can access Fundamentals of Deep Learning and Computer Vision by Nikhil Singh,Nikhil Singh,Paras Ahuja in PDF and/or ePUB format, as well as other popular books in Computer Science & Computer Vision & Pattern Recognition. We have over one million books available in our catalogue for you to explore.

CHAPTER 1

Introduction to TensorFlow

We live in the information age more precisely the digital age. Technology has been advancing by leaps and bounds over the past few years, and this has led to the creation of various smart devices. In this pervasive world, smart devices like smartphones, vehicles, smartwatches, household appliances or any Internet of Things (IoT) devices are becoming ubiquitous and involve communication with databases maintained in the cloud. These communications create lots of data that gets stored in huge databases. The Internet is exploding with a huge amount of data as every second elapses in the time continuum. Around 2.5 quintillion bytes of data gets created each day at current pace. Images and videos are the major contributors to this huge data source. With the development of cloud and flexible storage capacity, developers are opting for more the merrier approach, and actively working to gather more data. This helps them to enhance their technology.
With proliferation of IoT devices and advent of social media, a huge amount of multimedia data is being generated and most of it are unstructured and multimodal.
Hence, it requires computation of multimedia data which has created huge opportunities in storage, processing, and analysis.

Structure

In this chapter we will be covering:
  • Defining tensors
  • Basic operations using TensorFlow
  • Session logging and variables
  • TensorBoard

Objective

Learn basic manipulations like assigning variables, matrix multiplication, transpose of matrix, resizing vectors and matrices using TensorFlow.

Machine learning and deep learning

It is apt to tell that computer vision is at the frontier of an intersection of computation, storage and the future of deep learning research. Some important applications in computer vision include the following:
  • Self-driving transportation
  • Fraud detection
  • Security system
  • Public administration
  • Content analysis, management, and retrieval
Alongside the proliferation of data, it requires various computationally efficient techniques to use these data in a meaningful manner. But the growth in CPU speed has not been at par with data creation speed, leading up to the development of many parallel processing architectures. Lately, we have seen a rise in usage of GPUs, to overcome this issue of computation, which have primarily been used for computer games, now it is being used for the computational purpose, and it has helped immensely in the rise of machine learning field.
Machine learning is a technique that uses statistical and mathematical models to extract some desired insights/information by utilizing data. This technique has been used to forecast the value by using previous years data and various other indicators, to classify emails into different categories, as a recommendation system to feed users with choices aligned with their past behavior, among many other things. Recently, a new branch of machine learning called deep learning has become popular among developers.
Deep learning is a powerful technique that provides flexible models to use, by combining the multilayer perceptron algorithm with various mathematical concepts. In deep learning, the model automatically finds the optimum combination of input features when properly tuned, and hence it enhances the accuracy of a decision-making process. We will get to know more about deep learning in further chapters but before that, let’s discuss frameworks and libraries which we will use to learn and implement various deep learning concepts and techniques.
In deep learning literature, several mathematical concepts and techniques have been proposed. It requires dedicated programming tools and frameworks for the implementation of those concepts to train deep models by utilizing a huge amount of data. In recent years, several programming libraries have been developed. But most of the proposed libraries came with trade-offs in terms of flexibility and scalability. In the research field, libraries having flexible structure are widely in demand, but these are often not good for scalability. To overcome this problem, different libraries have been developed, which are fast and scalable but built for specific models and networks, and hence not suitable for research purposes to experiment faster and develop better models.
In November 2015, Google developed TensorFlow, a novel open source library to overcome the above-mentioned problems.

What is TensorFlow?

When we visit TensorFlow website (https://www.tensorflow.org), at the very beginning it is defined as an opensource software library for machine intelligence. But when we start to read its first paragraph, TensorFlow is defined as an open-source software library for numerical computation using data flow graphs. The latter definition seems more cogent and comprehensive explanation of TensorFlow which includes its core structure. Don’t worry, if you are not aware of the term like data flow graph, we will look into all those terms, and will get familiarized with them.
From the website, we can see that TensorFlow is not merely defined as machine learning library rather it uses a more comprehensive term, numerical computation for its definition. TensorFlow contains a high-level wrapper package called Scikit Flow, which performs equally or better than the functionality of Scikit Learn but it is not primarily designed to provide novel Machine Learning solutions. Instead, TensorFlow helps users to design models from basics by providing various functions and classes. Hence, it helps the users to build customized and flexible models. TensorFlow does offer machine learning functionality, so it is equally good to perform complex mathematical computations also.

TensorFlow installation

Before diving deeper into TensorFlow concepts, let’s install TensorFlow library first as it will be better for us to validate our discussions and arguments simultaneously by writing the code. TensorFlow website provides step by step procedure to install TensorFlow for macOS, Ubuntu, and Windows. We have illustrated the complete process below for an Ubuntu environment.
In this section, we will get to know about the importance of other software like pip, virtual environment, notebook, and so on which will be helpful in installing and using TensorFlow.
If you know how to use all this software, then you can install TensorFlow directly from the official guide at TensorFlow website.
Okay, let’s discuss the importance of third-party software.
Jupyter Notebook and Matplotlib are two famous open source software that are widely practiced in data science. Jupyter Notebook helps to check the output of the script in the desired chunk or in step by step also. We can use Jupyter Notebook as a debugger for our script. In case of TensorFlow, which uses a graphical approach to solve a problem, it will be handy to use Jupyter Notebook to check the output at each node while debugging.
Matplotlib is another useful library which is being used for visualization.

Virtual environment

We can directly install software at machine level, but it has some disadvantages.
Let’s understand how. ...

Table of contents

  1. Cover Page
  2. Title Page
  3. Copyright Page
  4. About the Authors
  5. Acknowledgement
  6. Preface
  7. Errata
  8. Table of Contents
  9. 1. Introduction to TensorFlow
  10. 2. Introduction to Neural Networks
  11. 3. Convolutional Neural Network
  12. 4. CNN Architectures
  13. 5. Sequential Models
  14. Bibiliography