
Join this hands-on introduction to deploying machine learning models to production, covering scalability, robustness, and security for enterprise-level image classifier projects.
Launch SageMaker Studio to start a Jupyter notebook with a data science Docker image and Python 3 kernel, choosing an instance such as t3.medium for efficiency or GPU-enabled for training.
Explore a chest X-ray pneumonia dataset from Kaggle by inspecting train, test, and validation folders, viewing normal and pneumonia images, and performing exploratory data analysis.
Always shut down your cloud instances before leaving your environment to avoid charges, since even small hourly costs can add up when deploying a production machine learning model.
Explore loading and inspecting images with Pillow, identify JPEG and PNG formats, and convert grayscale and RGBA images to RGB for a 224 by 224 input via SageMaker preprocessing.
Create a pandas data frame for chest x-ray images by parsing train, test, and validation folders, building category, lung condition, and file name lists, then assemble the data frame.
Create three bar graphs with seaborn to count x-ray results by dataset type (train, test, validation), reveal unbalanced training data, and improve plot styling for clearer numbers.
Create a pandas data frame that mirrors an .lst file for chest x-ray data, labeling pneumonia or normal, mapping image paths for train and test sets, ready for S3 upload.
Set the objective to validation accuracy and maximize it, configure five hyperparameter tuning jobs with one parallel job, and use bayesian search in the tuner to learn from prior runs.
Delete the train and test folders to avoid elastic file system costs, leaving only validation. Then start and monitor the tuning training job in CloudWatch logs.
Deploy the best model in a SageMaker notebook, run local inference, and set up an endpoint for internet access to enable online predictions.
Create and interpret a classification report to measure precision, recall, and F1 score from true/false positives and negatives, and iterate model endpoints in SageMaker.
Build a lambda function to invoke a deployed deep learning endpoint and return the inference. Expose the result via an api, handle base64 image input, and test with postman.
Test your lambda endpoint via api gateway and postman by sending base64 encoded images and validating responses, logs, and performance before deleting the SageMaker endpoint to avoid charges.
Learn how to configure lambda concurrency with reserved and provisioned options to serve multiple requests simultaneously. Balance cost and latency, and understand when to publish a version for provisioned concurrency.
See how a React front end uploads images, converts them to base64, and posts to a Node.js backend via /api/predict on AWS, with CSRF token protection.
Learn how auto scaling creates multiple endpoint instances to handle high request concurrency with lambda concurrency in a production ml deployment on AWS.
Secure the endpoint by configuring an api gateway resource policy to allow only specific IP addresses, deploy the api, and verify access is blocked for unauthorized clients.
Master secure access to a DigitalOcean droplet by creating an admin user, enabling sudo, disabling root logins, and verifying login via ssh with the provided ip.
In this course we are going to use AWS Sagemaker, AWS API Gateway, Lambda, React.js, Node.js, Express.js MongoDB and DigitalOcean to create a secure, scalable, and robust production ready enterprise level image classifier. We will be using best practices and setting up IAM policies to first create a secure environment in AWS. Then we will be using AWS' built in SageMaker Studio Notebooks where I am going to show you guys how you can use any custom dataset you want. We will perfrom Exploratory data analysis on our dataset with Matplotlib, Seaborn, Pandas and Numpy. After getting insightful information about dataset we will set up our Hyperparameter Tuning Job in AWS where I will show you guys how to use GPU instances to speed up training and I will even show you guys how to use multi GPU instance training. We will then evaluate our training jobs, and look at some metrics such as Precision, Recall and F1 Score. Upon evaluation we will deploy our deep learning model on AWS with the help of AWS API Gateway and Lambda functions. We will then test our API with Postman, and see if we get inference results. After that is completed we will secure our endpoints and set up autoscaling to prevent latency issues. Finally we will build our web application which will have access to the AWS API. After that we will deploy our web application to DigitalOcean.