Loading...
Loading...
PyTorch-based TAO image classification. Supports a wide range of backbones (FAN, EfficientNet, ResNet, etc.) with distillation and quantization for deployment. Use when training, evaluating, distilling, quantizing, exporting, or running inference for a TAO image-classification (PyT) model. Trigger phrases include "train image classifier", "TAO classification", "ResNet/EfficientNet/FAN backbone classifier", "classification-pyt".
npx skill4agent add promptingcompany/nv-skills tao-train-image-classificationgen_trt_engineevaluateinferencereferences/tao-deploy-image-classification.mdreferences/spec_template_deploy_*.yamlschemas/<action>.schema.jsonschemas/manifest.jsonreferences/spec_template_<action>.yamldefaultreferences/skill_info.yamlautoml_enabledschemas/train.schema.jsonreferences/spec_template_train.yamlautoml_default_parametersautoml_disabled_parameters~/tao-corereferences/skill_info.yamlautoml_policyautoml_policy: offautoautoml_policy: autoautoml_enabled: trueschemas/train.schema.jsonreferences/spec_template_train.yamltao-skill-bank:tao-run-automlskill_dirautoml_policyautoml_policy: offevaluateinferenceexportautoml_policy| Action | Spec Key | Source | Files | List? |
|---|---|---|---|---|
| distill | dataset.train_dataset.images_dir | train_datasets | images_train.tar.gz | No |
| distill | dataset.classes_file | train_datasets | classes.txt | No |
| distill | dataset.val_dataset.images_dir | eval_dataset | images_val.tar.gz | No |
| evaluate | dataset.val_dataset.images_dir | eval_dataset | images_val.tar.gz | No |
| evaluate | dataset.classes_file | eval_dataset | classes.txt | No |
| evaluate | dataset.test_dataset.images_dir | inference_dataset | images_test.tar.gz | No |
| export | dataset.root_dir | train_datasets | No | |
| inference | dataset.val_dataset.images_dir | eval_dataset | images_val.tar.gz | No |
| inference | dataset.classes_file | eval_dataset | classes.txt | No |
| inference | dataset.test_dataset.images_dir | inference_dataset | images_test.tar.gz | No |
| quantize | dataset.train_dataset.images_dir | train_datasets | images_train.tar.gz | No |
| quantize | dataset.classes_file | train_datasets | classes.txt | No |
| quantize | dataset.val_dataset.images_dir | eval_dataset | images_val.tar.gz | No |
| quantize | dataset.quant_calibration_dataset.images_dir | calibration_dataset | images_train.tar.gz | No |
| train | dataset.train_dataset.images_dir | train_datasets | images_train.tar.gz | No |
| train | dataset.classes_file | train_datasets | classes.txt | No |
| train | dataset.val_dataset.images_dir | eval_dataset | images_val.tar.gz | No |
spec_overridesS3_TRAIN = "s3://bucket/data/train"
S3_EVAL = "s3://bucket/data/eval"{
"train.num_epochs": 2,
"train.validation_interval": 2,
"train.checkpoint_interval": 2,
"train.num_gpus": 1,
"dataset.train_dataset.images_dir": f"{S3_TRAIN}/images_train.tar.gz",
"dataset.classes_file": f"{S3_TRAIN}/classes.txt",
"dataset.val_dataset.images_dir": f"{S3_EVAL}/images_val.tar.gz",
}{
"export.input_height": 224,
"export.input_width": 224,
"dataset.root_dir": f"{S3_TRAIN}",
}{
"gen_trt_engine.tensorrt.data_type": "fp16",
}{
"dataset.batch_size": 1,
"dataset.val_dataset.images_dir": f"{S3_EVAL}/images_val.tar.gz",
"dataset.classes_file": f"{S3_EVAL}/classes.txt",
"dataset.test_dataset.images_dir": f"{S3_EVAL}/images_test.tar.gz",
}{
"dataset.train_dataset.images_dir": f"{S3_TRAIN}/images_train.tar.gz",
"dataset.classes_file": f"{S3_TRAIN}/classes.txt",
"dataset.val_dataset.images_dir": f"{S3_EVAL}/images_val.tar.gz",
}{
"dataset.val_dataset.images_dir": f"{S3_EVAL}/images_val.tar.gz",
"dataset.classes_file": f"{S3_EVAL}/classes.txt",
"dataset.test_dataset.images_dir": f"{S3_EVAL}/images_test.tar.gz",
}{
"dataset.train_dataset.images_dir": f"{S3_TRAIN}/images_train.tar.gz",
"dataset.classes_file": f"{S3_TRAIN}/classes.txt",
"dataset.val_dataset.images_dir": f"{S3_EVAL}/images_val.tar.gz",
"dataset.quant_calibration_dataset.images_dir": f"{S3_TRAIN}/images_train.tar.gz",
}python| Spec Key | Description | Default |
|---|---|---|
| Number of GPUs | 1 |
| GPU device indices | [0] |
| Number of nodes | 1 |
ddp_find_unused_parameters_trueWORLD_SIZENODE_RANKMASTER_ADDRMASTER_PORTNUM_GPU_PER_NODEconfig.jsoncreate_job()infer_params.pyclassification_pyt.config.json| Action | Spec Field | Inference Function | Meaning |
|---|---|---|---|
| distill | | | model file inferred from the parent job results folder |
| distill | | | current job results directory |
| evaluate | | | model file inferred from the parent job results folder |
| evaluate | | | current job results directory |
| export | | | model file inferred from the parent job results folder |
| export | | | output ONNX path |
| export | | | current job results directory |
| gen_trt_engine | | | model file inferred from the parent job results folder |
| gen_trt_engine | | | output TensorRT engine path |
| gen_trt_engine | | | current job results directory |
| inference | | | model file inferred from the parent job results folder |
| inference | | | model file inferred from the parent job results folder |
| inference | | | current job results directory |
| quantize | | | model file inferred from the parent job results folder |
| quantize | | | current job results directory |
| train | | | PTM when no resume checkpoint exists |
| train | | | current job results directory |
| train | | | PTM when no resume checkpoint exists |
| train | | | model file inferred from the current job results folder |
parent_modelparent_model_folderparent_job_idconfig.json