An image-classification project for Udacity's AWS Machine Learning Fundamentals Nanodegree.
This is a project in Udacity’s AWS Machine Learning Fundamentals Nanodegree geared towards building an ML workflow.
The project uses a sample dataset called CIFAR to simulate an image classification model. The machine learning workflow for Image Classification is deployed using AWS resources such as, sagemaker
and boto3
SDKs, image-classification built-in algorithm, Lambda functions and Step Function Workflow, and SageMaker model monitor and endpoint.
The CIFAR dataset is open source and can be downloaded at: https://www.cs.toronto.edu/~kriz/cifar-100-python.tar.gz
The goal of this project is to:
- Build an image classification model that differentiates between bicycles and motorcycles.
- Deploy the model for inference using AWS Lambda functions and AWS Step functions.
-
starter.ipynb
: Jupyter notebook with solution and visualisations -
lambda.py
: All three Amazon Lambda functions later invoked in Step Functions -
StepFunction.json
: Exported JSON for Step Function flowchart -
stepfunction/
: Image directory
The best image classification model has a test accuracy of 0.848958.
The visual below shows whether the images are inferred as a motorbike or a bicycle with their probability scores. Text is red if it is below the confidence threshold of 0.93.