Introduction
AWS DeepLens can be integrated with a variety of AWS services. These services allow you to create, train, and launch AWS DeepLens projects. To create an AWS DeepLens-based project, you will need an AWS account.
Having registered and connected your AWS DeepLens device to the AWS Cloud, you can now create an AWS DeepLens project and deploy it to the device. AWS DeepLens is a computer vision application based on deep learning. It includes a deep learning model and a Lambda function for performing inference.
An AWS DeepLens–based project requires four components.
- Data collection and storage: Gather your data and upload it to an Amazon S3 bucket.
- Model training: Use a Jupyter Notebook within Amazon SageMaker.
- Deploy your model: Deploy the trained model to your AWS DeepLens device using AWS Lambda.
- View model output: After the model has been deployed; you can view its output with Amazon IoT Greengrass.

Machine Learning Frameworks Supported by AWS DeepLens
In addition to Gluon API support, Amazon DeepLens supports deep learning models trained using Apache MXNet, TensorFlow, and Caffe. This section lists the models and modeling layers that AWS DeepLens supports for each framework.
Supported MXNet Models and Supporting MXNet Layers
The following Apache MXNet deep learning models are supported by AWS DeepLens and are exposed by the Gluon API.
Model | Description |
ResNet | Image classification model trained on ImageNet dataset imported from the MXNet. |
AlexNet | Image classification model trained on ImageNet dataset imported from Open Neural Network Exchange (ONNX). |
SqueezeNet | Image classification model trained on ImageNet dataset imported from the ONNX. |
MobileNet | Image classification model trained in TensorFlow using RMSprop optimizer. |
VGG | Image classification model trained on ImageNet dataset imported from the MXNet or ONNX. |
The following Apache MXNet modeling layers can be used to train a deep learning model for AWS DeepLens.
Layer | Description |
BatchNorm | Applies batch normalization. |
Activation | Applies an activation function to input. |
InputLayer | Specifies input to a neural network. |
Convolution | Applies convolution layer on the input. |
L2Norm | Applies L2 normalization to input array. |
Supported TensorFlow Models and Supporting TensorFlow Layers
AWS supports the following TensorFlow deep learning models
Model | Description |
ResNet | An image classification model trained on the ImageNet dataset using the TensorFlow. |
Inception | Image classification model trained on ImageNet dataset imported from Open Neural Network Exchange (ONNX). |
NasNet | An image classification model trained on the ImageNet dataset using the TensorFlow. |
MobileNet | Image classification model trained in TensorFlow. |
VGG | Image classification model trained on ImageNet dataset in TensorFlow. |
The following TensorFlow modeling layers can be used to train a deep learning model for AWS DeepLens.
Layer | Description |
Add | Computes element-wise addition. |
Conv2D | Computes 2-D convolution. |
Reshape | Reshape tensor. |
Mul | Computes element-wise multiplication. |
Pad | Pads a tensor. |
Supported Caffe Models and Supporting Caffe Layers
AWS DeepLens supports the following Caffe models.
Model | Description |
ResNet | An image classification model trained on the ImageNet dataset using the Caffe. |
Inception | An image classification model converted from the original Apache MXNet model. |
ResNet | An image classification model trained on the ImageNet dataset using the Caffe. |
MobileNet | Image classification model trained in Caffe. |
VGG | Image classification model trained on the ImageNet dataset in Caffe. |
The following Caffe modeling layers can be used to train a deep learning model for AWS DeepLens.
Layer | Description |
ReLU | Computes the rectified linear activations. |
Softmax | Computes Softmax activations. |
Reshape | Changes dimensions of the input blob without changing its data. |
Tile | Copies blob along specified dimensions. |
Permute | Permutes dimensions of a blob. |