
Learn to build an end-to-end aws step functions driven machine learning pipeline for object detection, including SageMaker model development, hyperparameter tuning, batch transformation, and asynchronous polling.
Create an IAM user in AWS, avoid root access, balance programmatic and console access, apply least privilege, and securely manage administrator permissions, access keys, and login credentials.
Explore pre-labeled data from open images v7 for object detection, including plastic bag labels, and download via Colab using voxel 51 before uploading to AWS SageMaker.
Learn how to prepare and manage object detection datasets for an AWS machine learning pipeline, including organizing train and validation folders, examining labels, and creating zipped archives for efficient upload.
discover how to locate the generated dataset in google colab, identify the train and validation image zips under content/route/51, and download the files for object detection.
Download and verify train images.zip and validation images.zip, then upload all dataset files to AWS to begin the object detection workflow.
Learn to create a SageMaker domain in Studio, set up an execution role, and prepare data by uploading to a SageMaker notebook before moving to S3 and model training.
Launch and configure a SageMaker Studio notebook for an object detection workflow, including navigating domains and initiating first-time Studio setup. Learn about Studio's collaborative space and real-time notebook editing.
Learn how to create and configure a SageMaker notebook, choose a Docker image and kernel, and stop or restart notebooks to manage running costs.
Restart the SageMaker Studio notebook kernel, rename the notebook to object detection, and save your work before uploading code and data in the next steps.
Upload Open Images dataset v7 into SageMaker Studio's EFS via drag-and-drop or upload, then unzip train images and validation images into unzipped folders using Python.
Delete unused train and validation zip files after extracting images to save storage costs and shut down running SageMaker instances to avoid charges before exploratory data analysis.
Count the number of training and validation images and extract their IDs using glob-based path patterns. Verify that the IDs correspond to files in each folder for a csv-free workflow.
Parse the classes.csv to map class identifiers to names, load train and validation metadata, and filter for the plastic bag object to retrieve corresponding identifiers for object detection.
Explore how annotations structure image data for object detection by interpreting image IDs, label names, and normalized bounding boxes, including multiple boxes per image and visualization plans.
Visualize many images at once to inspect datasets using a matplotlib grid of subplots, adjustable rows and columns, and train or validation image paths for efficient data exploration.
Use csv data to draw bounding boxes around images for object detection, specifying image id and the plastic bag label, then visualize and prepare to automate bounding box drawing.
Visualize multiple bounding boxes on random images by looping through bounding box data, converting normalized coordinates to pixel values using image width and height, and drawing red rectangles.
Clean and filter the train and validation frames to keep only the plastic bag label, yielding 517 train images, 986 bounding boxes, and 9 validation images with 9 bounding boxes.
Split the df_train_cleansed into 788 train and 198 test rows (80% training, 20% testing) with train_test_split and random_state 42; note the validation set isn't used for training.
Explore how to split image IDs for object detection by moving or copying images between train and test folders based on bounding box annotations and duplicates across dataframes.
Move or copy images from train to test folders based on IDs, using glob and path operations. Copy when an ID appears in both train and test, otherwise move.
Count train and test images with glob paths to verify correct placement, revealing 162 test images and 449 train images. Identify 94 duplicates where bounding boxes appear in both folders.
Convert train and test data frames into LST files and then MXNet record IO for an AWS SageMaker object detection workflow, using ResNet for CNN performance.
Learn how to convert a data frame to lst and recordio formats for mxnet object detection, detailing image index, class ids, bounding boxes, headers, and image paths.
Rename the label name to class name, copy dataframes to avoid warnings, add header and label width, and construct image path columns to prepare train and test data for RecordIO format.
Move images to the correct image path using shuttle.move, automatically creating missing directories, and verify train and test image folders contain the expected images.
Learn how to create production-ready LST files from object detection data by consolidating multiple bounding boxes per image into one line, following MXNet conventions for train and test.
Augment a random image by transposing and flipping left-right, recalculate the x coordinates for the bounding box, and visualize the transposed image with updated bounds.
Logically reorganize multi class object detection data by moving images into a class-based folder structure, update paths and frames, and prepare to visualize and recalculate bounding boxes after transposing images.
Define a data augmentation function that flips images along the y axis, saves augmented images, and updates bounding box coordinates in the train or test data frames for object detection.
In an AWS machine learning pipeline for object detection, check train and test image counts before running the function to verify data augmentation and final data frame lengths.
Run the augment data function on the test set to create a test LST file. Verify augmented bounding boxes and flipped image paths for the test data.
Part 1 of augmenting the train dataset uses augment_data with the train parameter to create train.lst, verifying bounding boxes are 0 and 1 and including original and flipped images.
Use mxnet im2rec.py from the Apache mxnet GitHub to convert test.lst and train.lst to record IO files (.rec).
Configure the output location in S3 and download the AWS object detection algorithm from ECR, then set region, framework, and version to prepare for model training in SageMaker.
Set up hyperparameters for an object detection model using transfer learning with pretrained Resnet 50, defining classes, epochs, learning rate schedule, momentum, weight decay, NMS-threshold.
Set up hyperparameter tuning in SageMaker by using Bayesian search to train multiple models, exploring learning rate, mini batch size, and optimizer options like SGD and Adam for object detection.
Configure hyperparameter tuning for an AWS SageMaker object detection training by setting max jobs and max parallel jobs, balancing model quality and cost with Bayesian search.
Learn to configure SageMaker with train and validation data paths in S3, set data channels, choose fully replicated distribution, and launch a hyperparameter tuning job using tuner.fit with epoch adjustments.
Monitor multiple training jobs for object detection, compare validation map scores, and tune SGD, batch size 16, and learning rate 0.0179 to identify the best model.
Learn to deploy an AWS machine learning pipeline for object detection and visualize inferences by building a visualization function that draws bounding boxes on images using SageMaker endpoints.
Test and verify the deployed endpoint by running predictions on validation images, correcting data issues, and highlighting how transfer learning enables accurate plastic bag detection with limited data.
Test the object-detection model on internet images using a ResNet-50 backbone trained on 800 images (400 real, 400 augmented) and tune the threshold to 25–30%; manage endpoints to control costs.
Build a batch transformation job locally in SageMaker notebook, then implement an AWS Step Functions pipeline to produce daily object detection inferences, including bounding boxes and classes, saved to S3.
Kick off the batch transform job by preparing sample data in the S3 bucket under images/year/month/day, and test with 4–5 images from free stock sites.
Visualize batch transformation results by extracting bounding boxes, confidence scores, and class IDs from .out JSON files and drawing boxes on corresponding images in S3 and SageMaker batch tests.
Welcome to the ultimate course on creating a scalable, secure, complex machine learning pipeline with Sagemaker, Step Functions, and Lambda functions. In this course, we will cover all the necessary steps to create a robust and reliable machine learning pipeline, from data preprocessing to hyperparameter tuning for object detection.
We will start by introducing you to the basics of AWS Sagemaker, a fully-managed service that provides developers and data scientists with the ability to build, train, and deploy machine learning models quickly and easily. You will learn how to use Sagemaker to preprocess and prepare your data for machine learning, as well as how to build and train your own machine learning models using Sagemaker's built-in algorithms.
Next, we will dive into AWS Step Functions, which allow you to coordinate and manage the different steps of your machine learning pipeline. You will learn how to create a scalable, secure, and robust machine learning pipeline using Step Functions, and how to use Lambda functions to trigger your pipeline's different steps.
In addition, we will cover deep learning related topics, including how to use neural networks for object detection, and how to use hyperparameter tuning to optimize your machine learning models for different use cases.
Finally, we will walk you through the creation of a web application that will interact with your machine learning pipeline. You will learn how to use React, Next.js, Express, and MongoDB to build a web app that will allow users to submit data to your pipeline, view the results, and track the progress of their jobs.
By the end of this course, you will have a deep understanding of how to create a scalable, secure, complex machine learning pipeline using Sagemaker, Step Functions, and Lambda functions. You will also have the skills to build a web app that can interact with your pipeline, opening up new possibilities for how you can use your machine learning models to solve real-world problems.