Optimizing a model

Click the ‘Training’ option from the left navigation menu. It has has 3 sections:

1. New optimization

a) Select either Search by Model Type or Search by Hardware

Optimization is hardware specific and thus important to select a hardware for this step.

This option facilitates you to select  a compatible  model and hardware combination.

Search by Model Type – This option lets you select the model type first based on which supported hardware is listed. 

You can select this option when the model type is decided and you want to check the compatibility and performance on a certain hardware

Search by Hardware-   With this option, you can select the hardware first based on which the supported model types will be available. 

You can select this option if the hardware is decided and you want to select a type fof model to efficiently run on it.

b) Select Model Details

Model type – Select the computer vision task you want to perform like classification or detection

Model family–  Select the corresponding model family from the dropdown list. The list contains the available models to the model type selected in the previous step. 

Classification –  ResNet, VggNet, DenseNet, SqueezeNet, AlexNet, MobileNet

Detection – YOLO, SSD

Model name–  Select the corresponding model name from the dropdown list. The list contains the available model names to the model family selected in previous step.

Classification

  • ResNet18, ResNet34, ResNet50, ResNet101, ResNet152
  • Vgg16, vgg11, vgg13_bn, vgg13, vgg16_bn, vgg19_bn, vgg19, vgg11_bn
  • DenseNet121, DenseNet161, DenseNet169, DenseNet201
  • Squeezenet1_1, Squeezenet1_0
  • Alexnet
  • Mobilenet_v2

Detection

  • YOLOv5s
  • YOLOv3
  • Yolov3-tiny
  • Yolov5m

c) Select hardware details

Hardware Name – The edge hardware on which you would like to deploy your model. 

Supported hardware – x86 GPU, NVIDIA Jetson Nano, NVIDIA Jetson TX2, NVIDIA Jetson Xavier

More hardware will be added soon. 

The optimization process can be carried out on your device or our device. In case the optimization is carried out on our device, there may be a possibility where another user’s optimization request is in process. In such a scenario, your request will be in a queue and will be carried out once the device is available. This might require some time depending on the request queue.

Want to have a particular hardware added to ENAP Studio? Please provide it as feedback in the ENAP Studio or you can write to us at connect@edgeneural.ai

d) Select Training Artifact

Select the model you have trained in the previous step. This input field lists all the models trained by you for a particular model type.

e) Max. Batch size –

It displays the no. of parallel inferences that can be run on the given EDGE hardware. It can be within the range of values 1-8, based upon the EDGE hardware. This is totally dependent on the EDGE hardware. Mostly the value is 1, but some NVIDIA hardware does provide more than 1.

f) Select Quantization 

You can choose the quantization required to be performed, either fp16 or int8.  

int8 quantization is available for x86 GPU and NVIDIA Jetson Xavier

Callibration URL  – The path to your annotated data set placed in the Amazon S3 bucket. 

For int 8 optimization you will need to provide a small set of the dataset used for training purposes. This is required for the model to get quantized efficiently without losing accuracy.

2. In Progress 

Displays the details of all the model optimization in progress. 

You can click on the info button of the models listed for detailed progress of the optimization.

Following details can be viewed in the progress section:

  1. Optimization progress details like optimization started on, state of optimization and model type.
  2. Option to abort the training if required
  3. Visual representation of the iterations as they happen(will not be visible for the yolov3 and yolov5 models)
  4. Graphical view of the significant parameters like Size of model and FPS of model will be displayed(will not be available for models of yolov3, yolov5) 
  5. Details like status of optimization, model name, hardware, jobid, type, family will be displayed.

Size of model graph – Depicts the size of the model in MBs with a comparison of baseline model, fp16 quantized models and int8 quantized models.

Frames Per Second(FPS) Graph – Depicts the FPS of models with a comparison of baseline model, fp16 quantized models and int8 quantized models.

3.Reports

It lists all the models optimized by a user. 

It will list the following details 

  1. Model details – model type, model family and model name
  2. Version – If the same model is being optimized again using ENAP Studio, it maintains the version of these facilitated by integrated MLOps 
  3. Flag – Type of quantization selected
  4. Date created – The date of optimized model creation
  5. Status of model training – Completed, in progress, aborted
  6. Artifact –  You can download the optimized model 
  7. Info  – Graphically view all the data like loss function, accuracy as viewed in the progress module along with the summary of the selections made for that model.

January 12, 2022