Train Adapt Optimize (TAO) Toolkit is a python based AI toolkit for taking purpose-built pre-trained AI models and customizing them with your own data. TAO adapts popular network architectures and backbones to your data, allowing you to train, fine tune, prune and export highly optimized and accurate AI models for edge deployment.
The pre-trained models accelerate the AI training process and reduce costs associated with large scale data collection, labeling, and training models from scratch. Transfer learning with pre-trained models can be used for AI applications in smart cities, retail, healthcare, industrial inspection and more.
Build end-to-end services and solutions for transforming pixels and sensor data to actionable insights using TAO, DeepStream SDK and TensorRT. The models are suitable for object detection and classification.
Object detection is a popular computer vision technique that can detect one or multiple objects in a frame. Object detection will recognize the individual objects in an image and places bounding boxes around the object. This model card contains pretrained weights that may be used as a starting point with the DetectNet_v2 object detection networks in Train Adapt Optimize (TAO) Toolkit to facilitate transfer learning.
It is trained on a subset of the Google OpenImages dataset. Following backbones are supported with DetectNet_v2 networks.
To see the full list of all the backbones, scroll over to the version history tab.
Note: These are unpruned models with just the feature extractor weights, and may not be used without re-training in an object detection application
Note: When using the ResNet34 model, please set the
all_projections field in the
False. For more information about this parameter, please refer to the TAO Getting Started Guide.
Note: The pre-trained weights in this model are only for DetectNet_v2 object detection networks and shouldn't be used for YOLOV3, RetinaNet, FasterRCNN, SSD and DSSD based object detection models. For pre-trained weights for those models, click here
The object detection apps in TAO expect data in KITTI file format. TAO provides a simple command line interface to train a deep learning model for object detection.
The models in this model area are only compatible with TAO Toolkit. For more information about the TAO container, please visit the TAO container page.
Install the NGC CLI from ngc.nvidia.com
Configure the NGC CLI using the following command
ngc config set
- To view all the backbones that are supported by object detection architecture in TAO:
ngc registry model list nvidia/tao_pretrained_detectnet_v2:*
- To download the model:
ngc registry model download-version nvidia/tao_pretrained_detectnet_v2:<template> --dest <path>
Instructions to run the sample notebook
Get the NGC API key from the SETUP tab on the left. Please store this key for future use. Detailed instructions can be found here
Configure the NGC command line interface using the command mentioned below and follow the prompts.
ngc config set
- Download the sample notebooks from NGC using the command below
ngc registry resource download-version "nvidia/tao_cv_samples:v1.0.2"
- Invoke the jupyter notebook using the following command
jupyter notebook --ip 0.0.0.0 --port 8888 --allow-root
- Open an internet browser and type in the following URL to start running the notebooks when running on a local machine.
If you wish to run view the notebook from a remote client, please modify the URL as follows:
a.b.c.d is the IP address of the machine running the container.
Get TAO Object Detection pre-trained models for YOLOV4, YOLOV3, FasterRCNN, SSD, DSSD, and RetinaNet architectures from NGC model registry
Get TAO EfficientDet Object Detection pre-trained models for DetectNet_v2 architecture from NGC model registry
Get TAO classification pre-trained models from NGC model registry
Get TAO Instance segmentation pre-trained models for MaskRCNN architecture from NGC
Get TAO Semantic segmentation pre-trained models for UNet architecture from NGC
Get Purpose-built models from NGC model registry:
This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this license, please visit this link, or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
- Train like a ‘pro’ without being an AI expert using TAO AutoML
- Create Custom AI models using NVIDIA TAO Toolkit with Azure Machine Learning
- Developing and Deploying AI-powered Robots with NVIDIA Isaac Sim and NVIDIA TAO
- Learn endless ways to adapt and supercharge your AI workflows with TAO - Whitepaper
- Customize Action Recognition with TAO and deploy with DeepStream
- Read the 2 part blog on training and optimizing 2D body pose estimation model with TAO - Part 1 | Part 2
- Learn how to train real-time License plate detection and recognition app with TAO and DeepStream.
- Model accuracy is extremely important, learn how you can achieve state of the art accuracy for classification and object detection models using TAO
- More information on about TAO Toolkit and pre-trained models can be found at the NVIDIA Developer Zone
- TAO documentation
- Read the TAO getting Started guide and release notes.
- If you have any questions or feedback, please refer to the discussions on TAO Toolkit Developer Forums
- Deploy your models for video analytics application using DeepStream. Learn more about DeepStream SDK
- Deploy your models in Riva for ConvAI use case.
NVIDIA’s platforms and application frameworks enable developers to build a wide array of AI applications. Consider potential algorithmic bias when choosing or creating the models being deployed. Work with the model’s developer to ensure that it meets the requirements for the relevant industry and use case; that the necessary instruction and documentation are provided to understand error rates, confidence intervals, and results; and that the model is being used under the conditions and in the manner intended.