1. It is open source and royalty free
2. Got decent support for GPU/CPU
3. Scaling efficiently to multiple GPU and machines
4. Support cpp api, which means you do not need to ask the users to install python environment , shipped the source codes in order to run your apps
5. mxnet support many platforms, including windows, linux, mac, aws, android, ios
6. It got a lot of pre-trained models
7. MMDNN support mxnet, which mean we can convert the models trained by different libraries to mxnet(although not all of the models could be converted).
Step 1 : Download model and convert it to the format can load by cpp package1. Install anaconda(the version come with python3)
2. Install mxnet from the terminal of anaconda
3. Install gluon-cv from the terminal of anaconda
4. Download model and convert it by following scripts
Step 2 : Load the models after convert
You could use the load_check_point function as following
model_params is the location of the weights(ex : yolo3_darknet53_coco.params), model_symbols(ex : yolo3_darknet53_coco.json) is the location of the symbols saved as json.
Step 3: Convert image formatBefore we feed the image into the executor of mxnet, we need to convert them.
Step 4 : Perform object detection on video
Step 5 : Draw bounding boxes on image
I only mentioned the key points in this post, if you want to study the details, please check it on github.