Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Python Deep Learning Projects
Python Deep Learning Projects

Python Deep Learning Projects: 9 projects demystifying neural network and deep learning models for building intelligent systems

Arrow left icon
Profile Icon Lamons Profile Icon Nagaraja Profile Icon Kumar
Arrow right icon
€8.99 €29.99
Full star icon Full star icon Full star icon Empty star icon Empty star icon 3 (4 Ratings)
eBook Oct 2018 472 pages 1st Edition
eBook
€8.99 €29.99
Paperback
€36.99
Subscription
Free Trial
Renews at €18.99p/m
Arrow left icon
Profile Icon Lamons Profile Icon Nagaraja Profile Icon Kumar
Arrow right icon
€8.99 €29.99
Full star icon Full star icon Full star icon Empty star icon Empty star icon 3 (4 Ratings)
eBook Oct 2018 472 pages 1st Edition
eBook
€8.99 €29.99
Paperback
€36.99
Subscription
Free Trial
Renews at €18.99p/m
eBook
€8.99 €29.99
Paperback
€36.99
Subscription
Free Trial
Renews at €18.99p/m

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
OR
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Table of content icon View table of contents Preview book icon Preview Book

Python Deep Learning Projects

Building Deep Learning Environments

Welcome to the applied AI deep-learning team, and to our first project—Building a Common Deep Learning Environment! We're excited about the projects we've assembled in this book. The foundation of a common working environment will help us work together and learn very cool and powerful deep learning (DL) technologies, such as computer vision (CV) and natural language processing (NLP), that you will be able to use in your professional career as a data scientist.

The following topics will be covered in this chapter:

  • Components in building a common DL environment
  • Setting up a local DL environment
  • Setting up a DL environment in the cloud
  • Using the cloud for deployment for DL applications
  • Automating the setup process to reduce errors and get started quickly

Building a common DL environment

Our main goal to achieve by the end of this chapter is to standardize the toolsets to work together and achieve consistently accurate results.

In the process of building applications using DL algorithms that can also scale for production, it's very important to have the right kind of setup, whether local or on the cloud, to make things work end to end. So, in this chapter, we will learn how to set up a DL environment that we will be using to run all the experiments and finally take the AI models into production.

First, we will discuss the major components required to code, build, and deploy the DL models, then various ways to do this, and finally, look at a few code snippets that will help to automate the whole process.

The following is the list of required components that we need to build DL applications:

  • Ubuntu 16.04 or greater
  • Anaconda Package
  • Python 2.x/3.x
  • TensorFlow/Keras DL packages
  • CUDA for GPU support
  • Gunicorn for deployment at scale

Get focused and into the code!

We'll start by setting up your local DL environment. Much of the work that you'll do can be done on local machines. But with large datasets and complex model architectures, processing time slows down dramatically. This is why we are also setting up a DL environment in the cloud, because the processing time for these complex and repetitive calculations just becomes too long to be able to efficiently get things done otherwise.

We will work straight through the preceding list, and by the end (and with the help of a bit of automated script), you'll have everything set up!

DL environment setup locally

Throughout this book, we will be using Ubuntu OS to run all the experiments, because there is great community support for Linux and mostly any DL application can be set up easily on Linux. For any assistance on installation and setup related to Ubuntu, please refer to the tutorials at https://tutorials.ubuntu.com/. On top of that, this book will use the Anaconda package with Python 2.7+ to write our code, train, and test. Anaconda comes with a huge list of pre-installed Python packages, such as numpy, pandas, sklearn, and so on, which are commonly used in all kinds of data science projects.

Why do we need Anaconda? Can't we use Vanilla Python?
Anaconda is a generic bundle that contains iPython Notebook, editor, and lots of Python libraries preinstalled, which saves a lot of time on setting up everything. With Anaconda, we can quickly get started on solving the data science problem, instead of configuring the environment.
But, yes, you can use the default Python—it's totally the reader's choice, and we will learn at the end of this chapter how to configure python env using script.

Downloading and installing Anaconda

Anaconda is a very popular data science platform for people using Python to build machine learning and DL models, and deployable applications. The Anaconda marketing team put it best on their What is Anaconda? page, available at https://www.anaconda.com/what-is-anaconda/. To install Anaconda, perform the following steps:

  1. Click Anaconda on the menu, then click Downloads to go to the download page at https://www.anaconda.com/download/#linux
  2. Choose the download suitable for your platform (Linux, OS X, or Windows):
    1. Choose Python 3.6 version*
    2. Choose the Graphical Installer
  3. Follow the instructions on the wizard, and in 10 to 20 minutes, your Anaconda environment (Python) setup will be ready

Once the installation process is completed, you can use following command to check the Python version on your Terminal:

python -V

You should see the following output:

Python 3.6 :: Anaconda,Inc.

If the command does not work, or returns an error, please check the documentation for help for your platform.

Installing DL libraries

Now, let's install the Python libraries used for DL, specifically, TensorFlow and Keras.

What is TensorFlow?
TensorFlow is a Python library developed and maintained by Google. You can implement many powerful machine learning and DL architectures in custom models and applications using TensorFlow. To find out more, visit https://www.tensorflow.org/.

Install the TensorFlow DL library (for all OS except Windows) by typing the following command:

conda install -c conda-forge tensorflow

Alternatively, you may choose to install using pip and a specific version of TensorFlow for your platform, using the following command:

pip install tensorflow==1.6

You can find the installation instructions for TensorFlow at https://www.tensorflow.org/get_started/os_setup#anaconda_installation.

Now we will install keras using the following command:

pip install keras

To validate the environment and the version of the packages, let's write the following script, which will print the version numbers of each library:

# Import the tensorflow library
import tensorflow
# Import the keras library
import keras

print('tensorflow: %s' % tensorflow.__version__)
print('keras: %s' % keras.__version__)

Save the script as dl_versions.py. Run the script by typing the following command:

python dl_version.py

You should see the following output:

tensorflow: 1.6.0
Using TensorFlow backend.
keras: 2.1.5

Voila! Now our Python development environment is ready for us to write some awesome DL applications in our local.

Setting up a DL environment in the cloud

All the steps we performed up to now remain the same for the cloud as well, but there are a few additional modules required to configure the cloud virtual machines to make your DL applications servable and scalable. So, before setting up your server, follow the instructions from the preceding section.

To deploy your DL applications in the cloud, you will need a server good enough to train your models and serve at the same time. With huge development in the sphere of DL, the need for cloud servers to practice and deploy projects has increased drastically, and so have the options on the market. The following is a list of some of the best options on offer:

All of these options have their own pro and cons, and the final choice totally depends on your use case and preferences, so feel free to explore more. In this book, we will build and deploy our models mostly on Google Compute Engine (GCE), which is a part of Google Cloud Platform (GCP). Follow the steps mentioned in this chapter to spin up a VM server and get started.

Google has released an internal notebook platform, Google Colab (https://colab.research.google.com/), which is pre-installed with all the DL packages and other Python libraries. You can write all of your ML/DL applications on the Google Cloud, leveraging free GPUs for 10 hours.

Cloud platforms for deployment

The main idea behind this book is to empower you to build and deploy DL applications. In this section, we will discuss some critical components required to make your applications accessible to millions of users.

The best way to make your application accessible is to expose it as a web service, using REST or SOAP APIs. To do so, we have many Python web frameworks to choose from, such as web.py, Flask, Bottle, and many more. These frameworks allow us to easily build web services and deploy them.

Prerequisites

You should have a Google Cloud (https://cloud.google.com/) account. Google is promoting the usage of its platform right now, and is giving away $300 dollars of credit and 12 months as a free tier user.

Setting up the GCP

Follow these instructions to set up your GCP:

  1. Creating a new project: Click on the three dots, as shown in the following screenshot, and then click on the + sign to create a new project:

  1. Spinning a VM instance: Click on the three lines on the upper-left corner of the screen, select the compute option, and click on Compute Engine. Now choose Create new instance. Name the VM instance, and select your zone as us-west2b. Choose the machine type size.

    Choose your boot disk as Ubuntu 16.04 LTS. In firewall options, choose both the http and https option (it's important to make it accessible from the outer world). To opt for GPU options, you can click on customize button, and find the GPU options. You can choose between two NVIDIA GPUs. Check both Allow HTTP traffic and Allow HTTPS traffic.

    Now click on Create. Boom! your new VM is getting ready.

  2. Modify the firewall settings: Now click on the Firewall rules setting under Networking. Under Protocols and Ports, we need to select the port that we will use to export our APIs. We have chosen tcp:8080 as our port number. Now click on the Save button. This will assign a rule in the firewall of your VM to access the applications from the external world.

  3. Boot your VM: Now start your VM instance. When you see the green tick, click on SSH—this will open a command window, and you are now inside the VM. You can also use gcloud cli to log in and access your VMs.

  4. Then follow the same steps as we performed to set up the local environment, or read further to learn how to create an automation script that will perform all the setup automatically.

Now we need a web framework to write our DL applications as web services—again, there are lots of options, but to make it simple, we will be using a combination of web.py and Gunicorn.

If you want to know which web framework to choose based on memory consumption, CPU utilization, and so on, you can have a look at the comprehensive list of benchmarks at http://klen.github.io/py-frameworks-bench.

Let's install them using following commands:

pip install web.py
pip install gunicorn

Now we are ready to deploy our DL solution as a web service, and scale it to production level.

Automating the setup process

Installing of Python packages and DL libraries can be a tedious process, requiring lots of time and repetitive effort. So, to ease the job, we will create a bash script that can be used to install everything using a single command.

The following is a list of components that will get installed and configured:

  • Java 8
  • Bazel for building
  • Python and associated dependencies
  • TensorFlow
  • Keras
  • Git
  • Unzip
  • Dependencies for all of the aforementioned services (see the script for exact details)

You can simply download the automation script to your server or locally, execute it, and you're done. Here are the steps to follow:

  1. Save the script to your home directory, by cloning the code from the repository:
git clone https://github.com/PacktPublishing/Python-Deep-Learning-Projects
  1. Once you have the copy of the complete repository, move to the Chapter01 folder, which will contain a script file named setupDeepLearning.sh. This is the script that we will execute to start the setup process, but, before execution, we will have to make it executable using the chmod command:
cd Python-Deep-Learning-Projects/Chapter01/
chmod +x setupDeepLearning.sh
    1. Once this is done, we are ready to execute it as follows:
    ./setupDeepLearning.sh

    Follow any instructions that appear (basically, say yes to everything and accept Java's license). It should take about 10 to 15 minutes to install everything. Once it has finished, you will see the list of Python packages being installed, as shown in the following screenshot:

    Listed packages with TensorFlow and other Python dependencies

    There are a couple of other options, too, such as getting Docker images from TensorFlow and other DL packages, which can set up fully functional DL machines for large-scale and production-ready environments. You can find out more about Docker at https://www.docker.com/what-docker. Also, for a quick-start guide, follow the instructions on this repository for an all-in-one Docker image for DL at https://github.com/floydhub/dl-docker.

    Summary

    In this chapter, we worked to get the team set up in a common environment with a standardized toolset. We are looking to deploy our project applications by utilizing Gunicorn and CUDA. Those projects will rely on highly advanced and effective DL libraries, such as TensorFlow and Keras running in Python 2.x/3.x. We'll write our code using the resources in the Anaconda package, and all of this will be running on Ubuntu 16.04 or greater.

    Now we are all set to perform experiments and deploy our DL models in production!

    Left arrow icon Right arrow icon
    Download code icon Download Code

    Key benefits

    • Explore deep learning across computer vision, natural language processing (NLP), and image processing
    • Discover best practices for the training of deep neural networks and their deployment
    • Access popular deep learning models as well as widely used neural network architectures

    Description

    Deep learning has been gradually revolutionizing every field of artificial intelligence, making application development easier. Python Deep Learning Projects imparts all the knowledge needed to implement complex deep learning projects in the field of computational linguistics and computer vision. Each of these projects is unique, helping you progressively master the subject. You’ll learn how to implement a text classifier system using a recurrent neural network (RNN) model and optimize it to understand the shortcomings you might experience while implementing a simple deep learning system. Similarly, you’ll discover how to develop various projects, including word vector representation, open domain question answering, and building chatbots using seq-to-seq models and language modeling. In addition to this, you’ll cover advanced concepts, such as regularization, gradient clipping, gradient normalization, and bidirectional RNNs, through a series of engaging projects. By the end of this book, you will have gained knowledge to develop your own deep learning systems in a straightforward way and in an efficient way

    Who is this book for?

    Python Deep Learning Projects is for you if you want to get insights into deep learning, data science, and artificial intelligence. This book is also for those who want to break into deep learning and develop their own AI projects. It is assumed that you have sound knowledge of Python programming

    What you will learn

    • Set up a deep learning development environment on Amazon Web Services (AWS)
    • Apply GPU-powered instances as well as the deep learning AMI
    • Implement seq-to-seq networks for modeling natural language processing (NLP)
    • Develop an end-to-end speech recognition system
    • Build a system for pixel-wise semantic labeling of an image
    • Create a system that generates images and their regions

    Product Details

    Country selected
    Publication date, Length, Edition, Language, ISBN-13
    Publication date : Oct 31, 2018
    Length: 472 pages
    Edition : 1st
    Language : English
    ISBN-13 : 9781789134759
    Category :
    Languages :
    Concepts :

    What do you get with eBook?

    Product feature icon Instant access to your Digital eBook purchase
    Product feature icon Download this book in EPUB and PDF formats
    Product feature icon Access this title in our online reader with advanced features
    Product feature icon DRM FREE - Read whenever, wherever and however you want
    OR
    Modal Close icon
    Payment Processing...
    tick Completed

    Billing Address

    Product Details

    Publication date : Oct 31, 2018
    Length: 472 pages
    Edition : 1st
    Language : English
    ISBN-13 : 9781789134759
    Category :
    Languages :
    Concepts :

    Packt Subscriptions

    See our plans and pricing
    Modal Close icon
    €18.99 billed monthly
    Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
    Feature tick icon Constantly refreshed with 50+ new titles a month
    Feature tick icon Exclusive Early access to books as they're written
    Feature tick icon Solve problems while you work with advanced search and reference features
    Feature tick icon Offline reading on the mobile app
    Feature tick icon Simple pricing, no contract
    €189.99 billed annually
    Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
    Feature tick icon Constantly refreshed with 50+ new titles a month
    Feature tick icon Exclusive Early access to books as they're written
    Feature tick icon Solve problems while you work with advanced search and reference features
    Feature tick icon Offline reading on the mobile app
    Feature tick icon Choose a DRM-free eBook or Video every month to keep
    Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
    Feature tick icon Exclusive print discounts
    €264.99 billed in 18 months
    Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
    Feature tick icon Constantly refreshed with 50+ new titles a month
    Feature tick icon Exclusive Early access to books as they're written
    Feature tick icon Solve problems while you work with advanced search and reference features
    Feature tick icon Offline reading on the mobile app
    Feature tick icon Choose a DRM-free eBook or Video every month to keep
    Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
    Feature tick icon Exclusive print discounts

    Frequently bought together


    Stars icon
    Total 99.97
    Advanced Deep Learning with Keras
    €32.99
    Python Deep Learning Projects
    €36.99
    Keras Deep Learning Cookbook
    €29.99
    Total 99.97 Stars icon
    Banner background image

    Table of Contents

    16 Chapters
    Building Deep Learning Environments Chevron down icon Chevron up icon
    Training NN for Prediction Using Regression Chevron down icon Chevron up icon
    Word Representation Using word2vec Chevron down icon Chevron up icon
    Building an NLP Pipeline for Building Chatbots Chevron down icon Chevron up icon
    Sequence-to-Sequence Models for Building Chatbots Chevron down icon Chevron up icon
    Generative Language Model for Content Creation Chevron down icon Chevron up icon
    Building Speech Recognition with DeepSpeech2 Chevron down icon Chevron up icon
    Handwritten Digits Classification Using ConvNets Chevron down icon Chevron up icon
    Object Detection Using OpenCV and TensorFlow Chevron down icon Chevron up icon
    Building Face Recognition Using FaceNet Chevron down icon Chevron up icon
    Automated Image Captioning Chevron down icon Chevron up icon
    Pose Estimation on 3D models Using ConvNets Chevron down icon Chevron up icon
    Image Translation Using GANs for Style Transfer Chevron down icon Chevron up icon
    Develop an Autonomous Agent with Deep R Learning Chevron down icon Chevron up icon
    Summary and Next Steps in Your Deep Learning Career Chevron down icon Chevron up icon
    Other Books You May Enjoy Chevron down icon Chevron up icon

    Customer reviews

    Rating distribution
    Full star icon Full star icon Full star icon Empty star icon Empty star icon 3
    (4 Ratings)
    5 star 25%
    4 star 0%
    3 star 50%
    2 star 0%
    1 star 25%
    beryl sirmacek Jan 08, 2019
    Full star icon Full star icon Full star icon Full star icon Full star icon 5
    Great book for strengthening deep learning skills following the well described examples. You can benefit from this book for your education, teaching activities, as well as for your company and business development in this field.
    Amazon Verified review Amazon
    bptsj Jan 06, 2019
    Full star icon Full star icon Full star icon Empty star icon Empty star icon 3
    I plan to spend the next 4mo studying this material and executing the 9 projects. I've had the book for two weeks and so far am not impressed. The first project uses a MLP NN for solving the MNIST handwritten digit problem and concludes the MLP model is not accurate enough (85%). I would have skipped the MLP and just started with the CNN NN. I have done this based on online tutorials and the accuracy was greater than 97%. The book is light on content. On each subject it has a few introductory words then a link to other sources for content and a walk-through on the project code. I think I would have been better off searching the web for the best tutorials on the topics of the 9 projects.To be fair I will update my review when I finish the first 3 projects.
    Amazon Verified review Amazon
    ABHIJIT Jan 20, 2019
    Full star icon Full star icon Full star icon Empty star icon Empty star icon 3
    Bad print . Very difficult to read.
    Amazon Verified review Amazon
    FutureDoc Aug 31, 2023
    Full star icon Empty star icon Empty star icon Empty star icon Empty star icon 1
    I had such high hopes for this book. It is 5 years old, but I assumed the code on GitHub would have been kept updated, like it implies in the book. But the GitHub files haven't been updated in 5 years. And when I try to run these on my local machine as well as Google Colab, I keep getting version errors. I'm not willing to do all the behind the scenes work to get these to run before I can even use them.
    Amazon Verified review Amazon
    Get free access to Packt library with over 7500+ books and video courses for 7 days!
    Start Free Trial

    FAQs

    How do I buy and download an eBook? Chevron down icon Chevron up icon

    Where there is an eBook version of a title available, you can buy it from the book details for that title. Add either the standalone eBook or the eBook and print book bundle to your shopping cart. Your eBook will show in your cart as a product on its own. After completing checkout and payment in the normal way, you will receive your receipt on the screen containing a link to a personalised PDF download file. This link will remain active for 30 days. You can download backup copies of the file by logging in to your account at any time.

    If you already have Adobe reader installed, then clicking on the link will download and open the PDF file directly. If you don't, then save the PDF file on your machine and download the Reader to view it.

    Please Note: Packt eBooks are non-returnable and non-refundable.

    Packt eBook and Licensing When you buy an eBook from Packt Publishing, completing your purchase means you accept the terms of our licence agreement. Please read the full text of the agreement. In it we have tried to balance the need for the ebook to be usable for you the reader with our needs to protect the rights of us as Publishers and of our authors. In summary, the agreement says:

    • You may make copies of your eBook for your own use onto any machine
    • You may not pass copies of the eBook on to anyone else
    How can I make a purchase on your website? Chevron down icon Chevron up icon

    If you want to purchase a video course, eBook or Bundle (Print+eBook) please follow below steps:

    1. Register on our website using your email address and the password.
    2. Search for the title by name or ISBN using the search option.
    3. Select the title you want to purchase.
    4. Choose the format you wish to purchase the title in; if you order the Print Book, you get a free eBook copy of the same title. 
    5. Proceed with the checkout process (payment to be made using Credit Card, Debit Cart, or PayPal)
    Where can I access support around an eBook? Chevron down icon Chevron up icon
    • If you experience a problem with using or installing Adobe Reader, the contact Adobe directly.
    • To view the errata for the book, see www.packtpub.com/support and view the pages for the title you have.
    • To view your account details or to download a new copy of the book go to www.packtpub.com/account
    • To contact us directly if a problem is not resolved, use www.packtpub.com/contact-us
    What eBook formats do Packt support? Chevron down icon Chevron up icon

    Our eBooks are currently available in a variety of formats such as PDF and ePubs. In the future, this may well change with trends and development in technology, but please note that our PDFs are not Adobe eBook Reader format, which has greater restrictions on security.

    You will need to use Adobe Reader v9 or later in order to read Packt's PDF eBooks.

    What are the benefits of eBooks? Chevron down icon Chevron up icon
    • You can get the information you need immediately
    • You can easily take them with you on a laptop
    • You can download them an unlimited number of times
    • You can print them out
    • They are copy-paste enabled
    • They are searchable
    • There is no password protection
    • They are lower price than print
    • They save resources and space
    What is an eBook? Chevron down icon Chevron up icon

    Packt eBooks are a complete electronic version of the print edition, available in PDF and ePub formats. Every piece of content down to the page numbering is the same. Because we save the costs of printing and shipping the book to you, we are able to offer eBooks at a lower cost than print editions.

    When you have purchased an eBook, simply login to your account and click on the link in Your Download Area. We recommend you saving the file to your hard drive before opening it.

    For optimal viewing of our eBooks, we recommend you download and install the free Adobe Reader version 9.