Book Image

The Artificial Intelligence Infrastructure Workshop

By : Chinmay Arankalle, Gareth Dwyer, Bas Geerdink, Kunal Gera, Kevin Liao, Anand N.S.
Book Image

The Artificial Intelligence Infrastructure Workshop

By: Chinmay Arankalle, Gareth Dwyer, Bas Geerdink, Kunal Gera, Kevin Liao, Anand N.S.

Overview of this book

Social networking sites see an average of 350 million uploads daily - a quantity impossible for humans to scan and analyze. Only AI can do this job at the required speed, and to leverage an AI application at its full potential, you need an efficient and scalable data storage pipeline. The Artificial Intelligence Infrastructure Workshop will teach you how to build and manage one. The Artificial Intelligence Infrastructure Workshop begins taking you through some real-world applications of AI. You’ll explore the layers of a data lake and get to grips with security, scalability, and maintainability. With the help of hands-on exercises, you’ll learn how to define the requirements for AI applications in your organization. This AI book will show you how to select a database for your system and run common queries on databases such as MySQL, MongoDB, and Cassandra. You’ll also design your own AI trading system to get a feel of the pipeline-based architecture. As you learn to implement a deep Q-learning algorithm to play the CartPole game, you’ll gain hands-on experience with PyTorch. Finally, you’ll explore ways to run machine learning models in production as part of an AI application. By the end of the book, you’ll have learned how to build and deploy your own AI software at scale, using various tools, API frameworks, and serialization methods.
Table of Contents (14 chapters)
Preface
4
4. The Ethics of AI Data Storage

8. Data System Design Examples

Activity 8.01: Building the Complete System with Pipelines and Queues

Solution

  1. Import the random and time standard libraries, as well as the Queue and Thread classes from their respective modules:
    from queue import Queue
    from threading import Thread
    import random
    import time

    We imported the modules that we will use to design our next mock system.

  2. Initialize the mock dataset and put it into a queue, as shown in the following query:
    urls = ['url1-', 'url1-', 'url2-', 'url3-', 'url4-', \
    'url5-', 'url6-', 'url7-', 'url8-', 'url9-', 'url10-']
    seen = set()
    url_queue = Queue()
    for url in urls:
        url_queue.put(url)

    We created 11 mock URLs and a seen set to find duplicates. We then created a queue for our URLs and added each URL to the queue.

  3. Set up queues for each of the components, as shown in the following...