This repo provides a workflow for creating and managing Machine Learning models in AWS SageMaker, and running them on a Jetson Nano SBC device. The goal of this repo is to show how to create multiple object detection ML models using MXNet, TensorFlow, and PyTorch, and deploy the models to a Jetson Nano.
Below is the gear I used, however you may not want/need all these items, and some may be different based on your geographical location.
- An AWS Account
- Jetson Nano Developer Kit Required
- Noctua NF-A4x20 5V PWM 40mm fan
- AC 100-240V to DC 5V 4A Switching Power Supply may vary based on location
- Samsung FIT Plus Flash Drive 128 GB
- Waveshare AC8265 Wireless NIC Module for Jetson Nano Supports 2.4GHz / 5GHz Dual Band WiFi and Bluetooth 4.2
- Waveshare Metal Case Type B for Jetson Nano Developer Kit with Camera Holder, Reset and Power Buttons
Once you have your Jetson Nano and an AWS account ready to go we'll work our way through the following:
-
Setting up the Jetson Nano, including:
- Booting from the USB drive instead of the MicroSD card
- Setting up swap space to give the Jetson more working memory to work with
- Cloning this repo to run setup scripts from
-
Setting up Amazon SageMaker to:
- Perform annotation of your images using SageMaker Ground Truth
- Cloning this repo to run Notebooks
- Perform image annotation cleanup tasks
- Train custom models in MXNet, TensorFlow, and PyTorch
-
Setup AWS IoT Greengrass to deploy the custom ML models for inference on the Jetson Nano
1.0.0:
- Initial release.
This library is licensed under the Apache 2.0 License.
