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
€18.99 per month
Full star icon Full star icon Full star icon Empty star icon Empty star icon 3 (4 Ratings)
Paperback 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
€18.99 per month
Full star icon Full star icon Full star icon Empty star icon Empty star icon 3 (4 Ratings)
Paperback 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 a Packt Subscription?

Free for first 7 days. $19.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing
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 : 9781788997096
    Category :
    Languages :
    Concepts :

    What do you get with a Packt Subscription?

    Free for first 7 days. $19.99 p/m after that. Cancel any time!
    Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
    Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
    Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
    Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
    Subscribe now
    View plans & pricing

    Product Details

    Publication date : Oct 31, 2018
    Length: 472 pages
    Edition : 1st
    Language : English
    ISBN-13 : 9781788997096
    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

    What is included in a Packt subscription? Chevron down icon Chevron up icon

    A subscription provides you with full access to view all Packt and licnesed content online, this includes exclusive access to Early Access titles. Depending on the tier chosen you can also earn credits and discounts to use for owning content

    How can I cancel my subscription? Chevron down icon Chevron up icon

    To cancel your subscription with us simply go to the account page - found in the top right of the page or at https://subscription.packtpub.com/my-account/subscription - From here you will see the ‘cancel subscription’ button in the grey box with your subscription information in.

    What are credits? Chevron down icon Chevron up icon

    Credits can be earned from reading 40 section of any title within the payment cycle - a month starting from the day of subscription payment. You also earn a Credit every month if you subscribe to our annual or 18 month plans. Credits can be used to buy books DRM free, the same way that you would pay for a book. Your credits can be found in the subscription homepage - subscription.packtpub.com - clicking on ‘the my’ library dropdown and selecting ‘credits’.

    What happens if an Early Access Course is cancelled? Chevron down icon Chevron up icon

    Projects are rarely cancelled, but sometimes it's unavoidable. If an Early Access course is cancelled or excessively delayed, you can exchange your purchase for another course. For further details, please contact us here.

    Where can I send feedback about an Early Access title? Chevron down icon Chevron up icon

    If you have any feedback about the product you're reading, or Early Access in general, then please fill out a contact form here and we'll make sure the feedback gets to the right team. 

    Can I download the code files for Early Access titles? Chevron down icon Chevron up icon

    We try to ensure that all books in Early Access have code available to use, download, and fork on GitHub. This helps us be more agile in the development of the book, and helps keep the often changing code base of new versions and new technologies as up to date as possible. Unfortunately, however, there will be rare cases when it is not possible for us to have downloadable code samples available until publication.

    When we publish the book, the code files will also be available to download from the Packt website.

    How accurate is the publication date? Chevron down icon Chevron up icon

    The publication date is as accurate as we can be at any point in the project. Unfortunately, delays can happen. Often those delays are out of our control, such as changes to the technology code base or delays in the tech release. We do our best to give you an accurate estimate of the publication date at any given time, and as more chapters are delivered, the more accurate the delivery date will become.

    How will I know when new chapters are ready? Chevron down icon Chevron up icon

    We'll let you know every time there has been an update to a course that you've bought in Early Access. You'll get an email to let you know there has been a new chapter, or a change to a previous chapter. The new chapters are automatically added to your account, so you can also check back there any time you're ready and download or read them online.

    I am a Packt subscriber, do I get Early Access? Chevron down icon Chevron up icon

    Yes, all Early Access content is fully available through your subscription. You will need to have a paid for or active trial subscription in order to access all titles.

    How is Early Access delivered? Chevron down icon Chevron up icon

    Early Access is currently only available as a PDF or through our online reader. As we make changes or add new chapters, the files in your Packt account will be updated so you can download them again or view them online immediately.

    How do I buy Early Access content? Chevron down icon Chevron up icon

    Early Access is a way of us getting our content to you quicker, but the method of buying the Early Access course is still the same. Just find the course you want to buy, go through the check-out steps, and you’ll get a confirmation email from us with information and a link to the relevant Early Access courses.

    What is Early Access? Chevron down icon Chevron up icon

    Keeping up to date with the latest technology is difficult; new versions, new frameworks, new techniques. This feature gives you a head-start to our content, as it's being created. With Early Access you'll receive each chapter as it's written, and get regular updates throughout the product's development, as well as the final course as soon as it's ready.We created Early Access as a means of giving you the information you need, as soon as it's available. As we go through the process of developing a course, 99% of it can be ready but we can't publish until that last 1% falls in to place. Early Access helps to unlock the potential of our content early, to help you start your learning when you need it most. You not only get access to every chapter as it's delivered, edited, and updated, but you'll also get the finalized, DRM-free product to download in any format you want when it's published. As a member of Packt, you'll also be eligible for our exclusive offers, including a free course every day, and discounts on new and popular titles.