Migrating from Legacy TLT to TAO Toolkit
NVIDIA Transfer Learning Toolkit has been renamed to NVIDIA TAO Toolkit. TAO toolkit provides several new features compared to TLT 3.0 and TLT 2.0:
Unified command line tool to launch commands
Multiple Docker setup
Conversational AI applications
Support for training n-gram Language Models
CV features
New training applications
New feature extractor backbones
New purpose-built models
Integration with DeepStream and Riva inference platforms
When migrating from TLT 3.0 to TAO Toolkit, if you have a previously installed nvidia-tlt
package in your virtualenv, you need to uninstall this package before installing the nvidia-tao
CLI package. You can do this by running the following commands:
pip3 uninstall nvidia-tlt
pip3 install nvidia-tao
With TAO Toolkit, running the following commands from TLT v2.0 and TLT v3.0 have been deprecated and are now mapped as shown:
Version Comparison |
TAO Toolkit 4.0 |
TAO Toolkit 3.x (21.08, 21.11, 22.02, 22.05) |
TLT v3.0 |
TLT v2.0 |
---|---|---|---|---|
Command mapping |
|
|
|
|
The following table shows some of the key differences between TAO Toolkit 4.0, TAO Toolkit 3.x (21.08, 21.11, 22.02, 22.05), TLT v3.0, and TLT v2.0.
Version Comparison | TAO Toolkit 4.0, 3.x | TLT 3.0 | TLT 2.0 |
Interface Difference | You can run commands via the TAO launcher Python package. | You can run commands via the TLT launcher Python package. | You interact with the commands inside Docker. |
Steps to run TAO |
For example: to launch detectnet_v2 training, use the following command:
|
|
|
Data preparation for TLT 2.0 and TLT 3.0 are slightly different for SSD/DSSD/YOLOv3/RetinaNet. In TLT 2.0, you have to generate TFRecords (and possibly resize your images). This is no longer required in TLT v3.0 because these networks directly take original images and KITTI labels as input. If image resizing is needed, the data loader automatically handles it.
If you have already prepared data for TLT 2.0 training, you don’t need to further process it for the TAO Toolkit training. Instead, you only need to provide the label directory path in the spec file, and training should run smoothly for TLT 3.0 and greater.