To migrate to TAO 5.0.0, you must first upgrade your TAO workflows to TAO 4.0.0. Follow
these instructions to upgrade from an older version of TAO
(previously named “Transfer Learning Toolkit”) to version 4.0.x.
In version 5.0.0, TAO introduces the notion of a task_group
, which is a collection of tasks
that can be associated with a specific modality. The following are supported modalities:
All models that were included as tasks until 4.0.x are now grouped under the model
task group. All the tasks that were included
as part of the tao-deploy
CLI are now grouped under the deploy
task group.
The task_group
dataset
has been introduced in TAO 5.0.0. It includes tasks and associated sub-tasks that help with
generating labels from raw images (autolabel
), inspecting and validating a pre-existing annotated dataset (analytics
),
converting a pre-existing annotated dataset (annotation
) from one format to another (e.g. from KITTI to COCO),
and enhancing a dataset by running offline augmentation (augmentation
).
For more information on the dataset
task group, refer to the Data Services chapter.
The table below shows a summary of the expected changes in the CLI. This is not an exhaustive list of all actions, but these changes
can be generalized to all networks included as part of TAO 4.0.x.
Network |
TAO 4.0.x |
TAO 5.0.x |
Classification |
tao classification_tf1 export \
-m $USER_EXPERIMENT_DIR/output_retrain/weights/resnet_$EPOCH.tlt \
-o $USER_EXPERIMENT_DIR/export/final_model.etlt \
-k $KEY \
--classmap_json $USER_EXPERIMENT_DIR/output_retrain/classmap.json \
--gen_ds_config
tao-deploy classification_tf1 gen_trt_engine \
-m $USER_EXPERIMENT_DIR/export/final_model.etlt \
-e $SPECS_DIR/classification_retrain_spec.cfg \
-k $KEY \
--batch_size 64 \
--max_batch_size 64 \
--batches 10 \
--data_type int8 \
--cal_data_file $USER_EXPERIMENT_DIR/export/calibration.tensor \
--cal_cache_file $USER_EXPERIMENT_DIR/export/final_model_int8_cache.bin \
--cal_image_dir $DATA_DOWNLOAD_DIR/split/test/ \
--engine_file $USER_EXPERIMENT_DIR/export/final_model.trt
|
tao model classification_tf1 export \
-m $USER_EXPERIMENT_DIR/output_retrain/weights/resnet_$EPOCH.hdf5 \
-o $USER_EXPERIMENT_DIR/export/final_model.onnx \
-k $KEY \
--classmap_json $USER_EXPERIMENT_DIR/output_retrain/classmap.json \
--gen_ds_config
tao deploy classification_tf1 gen_trt_engine \
-m $USER_EXPERIMENT_DIR/export/final_model.onnx \
-e $SPECS_DIR/classification_retrain_spec.cfg \
-k $KEY \
--batch_size 64 \
--max_batch_size 64 \
--batches 10 \
--data_type int8 \
--cal_data_file $USER_EXPERIMENT_DIR/export/calibration.tensor \
--cal_cache_file $USER_EXPERIMENT_DIR/export/final_model_int8_cache.bin \
--cal_image_dir $DATA_DOWNLOAD_DIR/split/test/ \
--engine_file $USER_EXPERIMENT_DIR/export/final_model.trt
|
DetectNet_v2 |
tao detectnet_v2 export \
-m $USER_EXPERIMENT_DIR/experiment_dir_retrain/weights/resnet18_detector_pruned.tlt \
-e $SPECS_DIR/detectnet_v2_retrain_resnet18_kitti.txt \
-o $USER_EXPERIMENT_DIR/experiment_dir_final/resnet18_detector.etlt \
-k $KEY \
--gen_ds_config
tao-deploy detectnet_v2 gen_trt_engine \
-m $USER_EXPERIMENT_DIR/experiment_dir_final/resnet18_detector.etlt \
-k $KEY \
--data_type int8 \
--batches 10 \
--batch_size 4 \
--max_batch_size 64 \
--engine_file $USER_EXPERIMENT_DIR/experiment_dir_final/resnet18_detector.trt.int8 \
--cal_cache_file $USER_EXPERIMENT_DIR/experiment_dir_final/calibration.bin \
-e $SPECS_DIR/detectnet_v2_retrain_resnet18_kitti.txt \
--verbose
|
tao model detectnet_v2 export \
-m $USER_EXPERIMENT_DIR/experiment_dir_retrain/weights/resnet18_detector_pruned.hdf5 \
-e $SPECS_DIR/detectnet_v2_retrain_resnet18_kitti.txt \
-o $USER_EXPERIMENT_DIR/experiment_dir_final/resnet18_detector.onnx \
-k $KEY \
--gen_ds_config
tao deploy detectnet_v2 gen_trt_engine \
-m $USER_EXPERIMENT_DIR/experiment_dir_final/resnet18_detector.onnx \
-k $KEY \
--data_type int8 \
--batches 10 \
--batch_size 4 \
--max_batch_size 64 \
--engine_file $USER_EXPERIMENT_DIR/experiment_dir_final/resnet18_detector.trt.int8 \
--cal_cache_file $USER_EXPERIMENT_DIR/experiment_dir_final/calibration.bin \
-e $SPECS_DIR/detectnet_v2_retrain_resnet18_kitti.txt \
--verbose
|
EfficientDet |
tao efficientdet_tf1 export -m $USER_EXPERIMENT_DIR/experiment_dir_retrain/model.step-$NUM_STEP.tlt \
-o $USER_EXPERIMENT_DIR/experiment_dir_retrain/model.step-$NUM_STEP.etlt \
-k $KEY \
-e $SPECS_DIR/efficientdet_d0_retrain.txt
tao-deploy efficientdet_tf1 gen_trt_engine -m $USER_EXPERIMENT_DIR/experiment_dir_retrain/model.step-$NUM_STEP.etlt \
-k $KEY \
--batch_size 8 \
--data_type int8 \
--cal_image_dir $DATA_DOWNLOAD_DIR/raw-data/val2017 \
--batches 10 \
--min_batch_size 1 \
--opt_batch_size 8 \
--max_batch_size 16 \
--cal_cache_file $USER_EXPERIMENT_DIR/export/efficientdet_d0.cal \
--engine_file $USER_EXPERIMENT_DIR/export/trt.int8.engine
|
tao model efficientdet_tf1 export -m $USER_EXPERIMENT_DIR/experiment_dir_retrain/model.step-$NUM_STEP.hdf5 \
-o $USER_EXPERIMENT_DIR/experiment_dir_retrain/model.step-$NUM_STEP.onnx \
-k $KEY \
-e $SPECS_DIR/efficientdet_d0_retrain.txt
tao deploy efficientdet_tf1 gen_trt_engine -m $USER_EXPERIMENT_DIR/experiment_dir_retrain/model.step-$NUM_STEP.onnx \
-k $KEY \
--batch_size 8 \
--data_type int8 \
--cal_image_dir $DATA_DOWNLOAD_DIR/raw-data/val2017 \
--batches 10 \
--min_batch_size 1 \
--opt_batch_size 8 \
--max_batch_size 16 \
--cal_cache_file $USER_EXPERIMENT_DIR/export/efficientdet_d0.cal \
--engine_file $USER_EXPERIMENT_DIR/export/trt.int8.engine
|
SSD |
tao ssd export --gpu_index=$GPU_INDEX \
-m $USER_EXPERIMENT_DIR/experiment_dir_retrain/weights/ssd_resnet18_epoch_$EPOCH.tlt \
-k $KEY \
-o $USER_EXPERIMENT_DIR/export/ssd_resnet18_epoch_$EPOCH.etlt \
-e $SPECS_DIR/ssd_retrain_resnet18_kitti.txt \
--batch_size 16 \
--gen_ds_config
tao-deploy ssd gen_trt_engine --gpu_index=$GPU_INDEX \
-m $USER_EXPERIMENT_DIR/export/ssd_resnet18_epoch_$EPOCH.etlt \
-k $KEY \
-e $SPECS_DIR/ssd_retrain_resnet18_kitti.txt \
--engine_file $USER_EXPERIMENT_DIR/export/trt.engine \
--cal_image_dir $DATA_DOWNLOAD_DIR/testing/image_2 \
--data_type int8 \
--max_batch_size 16 \
--batch_size 16 \
--batches 10 \
--cal_cache_file $USER_EXPERIMENT_DIR/export/cal.bin \
--cal_data_file $USER_EXPERIMENT_DIR/export/cal.tensorfile
|
tao model ssd export --gpu_index=$GPU_INDEX \
-m $USER_EXPERIMENT_DIR/experiment_dir_retrain/weights/ssd_resnet18_epoch_$EPOCH.hdf5 \
-k $KEY \
-o $USER_EXPERIMENT_DIR/export/ssd_resnet18_epoch_$EPOCH.onnx \
-e $SPECS_DIR/ssd_retrain_resnet18_kitti.txt \
--batch_size 16 \
--gen_ds_config
tao deploy ssd gen_trt_engine --gpu_index=$GPU_INDEX \
-m $USER_EXPERIMENT_DIR/export/ssd_resnet18_epoch_$EPOCH.onnx \
-k $KEY \
-e $SPECS_DIR/ssd_retrain_resnet18_kitti.txt \
--engine_file $USER_EXPERIMENT_DIR/export/trt.engine \
--cal_image_dir $DATA_DOWNLOAD_DIR/testing/image_2 \
--data_type int8 \
--max_batch_size 16 \
--batch_size 16 \
--batches 10 \
--cal_cache_file $USER_EXPERIMENT_DIR/export/cal.bin \
--cal_data_file $USER_EXPERIMENT_DIR/export/cal.tensorfile
|
UNet |
tao unet export --gpu_index=$GPU_INDEX -m $USER_EXPERIMENT_DIR/isbi_experiment_retrain/weights/model_isbi_retrained.tlt \
-k $KEY \
-e $SPECS_DIR/unet_train_resnet_unet_isbi_retrain.txt \
--gen_ds_config
tao-deploy unet gen_trt_engine --gpu_index=$GPU_INDEX -m $USER_EXPERIMENT_DIR/isbi_experiment_retrain/weights/model_isbi_retrained.etlt \
-k $KEY \
-e $SPECS_DIR/unet_train_resnet_unet_isbi_retrain.txt \
--data_type int8 \
--engine_file $USER_EXPERIMENT_DIR/export/int8.isbi.retrained.engine \
--data_type int8 \
--cal_data_file $USER_EXPERIMENT_DIR/export/isbi_cal_data_file.txt \
--cal_cache_file $USER_EXPERIMENT_DIR/export/isbi_cal.bin \
--cal_image_dir $DATA_DOWNLOAD_DIR/isbi/images/val \
--max_batch_size 3 \
--batch_size 1
|
tao model unet export --gpu_index=$GPU_INDEX -m $USER_EXPERIMENT_DIR/isbi_experiment_retrain/weights/model_isbi_retrained.tlt \
-k $KEY \
-e $SPECS_DIR/unet_train_resnet_unet_isbi_retrain.txt \
--gen_ds_config
tao deploy unet gen_trt_engine --gpu_index=$GPU_INDEX -m $USER_EXPERIMENT_DIR/isbi_experiment_retrain/weights/model_isbi_retrained.onnx \
-k $KEY \
-e $SPECS_DIR/unet_train_resnet_unet_isbi_retrain.txt \
--data_type int8 \
--engine_file $USER_EXPERIMENT_DIR/export/int8.isbi.retrained.engine \
--data_type int8 \
--cal_data_file $USER_EXPERIMENT_DIR/export/isbi_cal_data_file.txt \
--cal_cache_file $USER_EXPERIMENT_DIR/export/isbi_cal.bin \
--cal_image_dir $DATA_DOWNLOAD_DIR/isbi/images/val \
--max_batch_size 3 \
--batch_size 1
|
YOLOv3 |
tao yolo_v3 export -m $USER_EXPERIMENT_DIR/experiment_dir_retrain/weights/yolov3_resnet18_epoch_$EPOCH.tlt \
-k $KEY \
-o $USER_EXPERIMENT_DIR/export/yolov3_resnet18_epoch_$EPOCH.etlt \
-e $SPECS_DIR/yolo_v3_retrain_resnet18_tfrecord.txt \
--gen_ds_config
tao-deploy yolo_v3 gen_trt_engine -m $USER_EXPERIMENT_DIR/export/yolov3_resnet18_epoch_$EPOCH.etlt \
-k $KEY \
-e $SPECS_DIR/yolo_v3_retrain_resnet18_tfrecord.txt \
--cal_image_dir $DATA_DOWNLOAD_DIR/testing/image_2 \
--data_type int8 \
--batch_size 16 \
--min_batch_size 1 \
--opt_batch_size 8 \
--max_batch_size 16 \
--batches 10 \
--cal_cache_file $USER_EXPERIMENT_DIR/export/cal.bin \
--cal_data_file $USER_EXPERIMENT_DIR/export/cal.tensorfile \
--engine_file $USER_EXPERIMENT_DIR/export/trt.engine.int8
|
tao model yolo_v3 export -m $USER_EXPERIMENT_DIR/experiment_dir_retrain/weights/yolov3_resnet18_epoch_$EPOCH.hdf5 \
-k $KEY \
-o $USER_EXPERIMENT_DIR/export/yolov3_resnet18_epoch_$EPOCH.onnx \
-e $SPECS_DIR/yolo_v3_retrain_resnet18_tfrecord.txt \
--gen_ds_config
tao deploy yolo_v3 gen_trt_engine -m $USER_EXPERIMENT_DIR/export/yolov3_resnet18_epoch_$EPOCH.onnx \
-k $KEY \
-e $SPECS_DIR/yolo_v3_retrain_resnet18_tfrecord.txt \
--cal_image_dir $DATA_DOWNLOAD_DIR/testing/image_2 \
--data_type int8 \
--batch_size 16 \
--min_batch_size 1 \
--opt_batch_size 8 \
--max_batch_size 16 \
--batches 10 \
--cal_cache_file $USER_EXPERIMENT_DIR/export/cal.bin \
--cal_data_file $USER_EXPERIMENT_DIR/export/cal.tensorfile \
--engine_file $USER_EXPERIMENT_DIR/export/trt.engine.int8
|