TAO v5.5.0

VisualChangeNet-使用 TAO Deploy 进行分类

生成优化的 TensorRT 引擎

  1. 使用 tao model visual_changenet export 生成 VisualChangeNet .onnx 文件。

  2. .onnx 文件指定为 tao deploy visual_changenet gen_trt_engine 的输入。

有关训练 VisualChangeNet 模型的更多信息,请参阅 VisualChangeNet 训练文档

gen_trt_engine

以下是用于生成 TensorRT 引擎的示例配置文件

复制
已复制!
            

task: classify gen_trt_engine: results_dir: "${results_dir}/gen_trt_engine" onnx_file: "${results_dir}/export/changenet_model.onnx" trt_engine: "${results_dir}/gen_trt_engine/changenet.trt" input_channel: 3 input_width: 128 input_height: 512 tensorrt: data_type: fp32 workspace_size: int = 1024 min_batch_size: int = 1 opt_batch_size: int = 1 max_batch_size: int = 1

task 部分定义了生成 .onnx 模型的更改检测任务。

参数 数据类型 默认值 描述
task str classify 指示更改检测任务的标志。支持两个任务:“segment”和“classify”,分别用于分割和分类。

实验规范文件中的 gen_trt_engine 部分提供了从 .onnx 文件生成 TensorRT 引擎的选项。

参数 数据类型 默认值 描述 支持的值
results_dir string 结果目录的路径
onnx_file string 导出的 ETLT 或 ONNX 模型的路径
trt_engine string 生成的 TensorRT 引擎的绝对路径
input_channel unsigned int 3 输入通道大小。仅支持值 3。 3
input_width unsigned int 128 输入宽度 >0
input_height unsigned int 512 输入高度 >0
batch_size unsigned int -1 ONNX 模型的批次大小 >=-1

tensorrt

tensorrt 参数定义 TensorRT 引擎生成。

参数 数据类型 默认值 描述 支持的值
data_type string fp32 用于 TensorRT 引擎的精度 fp32/fp16
workspace_size unsigned int 1024 TensorRT 引擎的最大工作区大小 >1024
min_batch_size unsigned int 1 用于优化配置文件形状的最小批次大小 >0
opt_batch_size unsigned int 1 用于优化配置文件形状的最佳批次大小 >0
max_batch_size unsigned int 1 用于优化配置文件形状的最大批次大小 >0

使用以下命令运行 VisualChangeNet 引擎生成

复制
已复制!
            

tao deploy visual_changenet gen_trt_engine -e /path/to/spec.yaml \ results_dir=/path/to/result_dir \ gen_trt_engine.onnx_file=/path/to/onnx/file \ gen_trt_engine.trt_engine=/path/to/engine/file \ gen_trt_engine.tensorrt.data_type=<data_type>

必需参数

  • -e, --experiment_spec_file:实验规范文件的路径。

  • results_dir:全局结果目录。引擎生成日志将保存在 results_dir 中。

  • gen_trt_engine.onnx_file:要转换的 .onnx 模型。

  • gen_trt_engine.trt_engine:将存储生成的引擎的路径。

  • gen_trt_engine.tensorrt.data_type:要导出的精度。

示例用法

以下是使用 gen_trt_engine 命令生成 fp32 TensorRT 引擎的示例

复制
已复制!
            

tao deploy visual_changenet gen_trt_engine -e $DEFAULT_SPEC results_dir=$RESULTS_DIR gen_trt_engine.onnx_file=$ONNX_FILE \ gen_trt_engine.trt_engine=$ENGINE_FILE \ gen_trt_engine.tensorrt.data_type=fp32

您可以重用为 TAO 推理指定的规范文件。以下是示例推理规范

复制
已复制!
            

task: classify model: classify: eval_margin: 0.5 dataset: classify: infer_dataset: csv_path: /path/to/infer.csv images_dir: /path/to/img_dir image_ext: .jpg batch_size: 16 workers: 2 num_input: 4 input_map: LowAngleLight: 0 SolderLight: 1 UniformLight: 2 WhiteLight: 3 concat_type: linear grid_map: x: 2 y: 2 output_shape: - 128 - 128 augmentation_config: rgb_input_mean: [0.485, 0.456, 0.406] rgb_input_std: [0.229, 0.224, 0.225] num_classes: 2 inference: gpu_id: 0 trt_engine: /path/to/engine/file results_dir: "${results_dir}/inference"

使用以下命令运行 VisualChangeNet-Classification 引擎推理

复制
已复制!
            

tao deploy visual_changenet inference -e /path/to/spec.yaml \ results_dir=$RESULTS_DIR \ inference.trt_engine=/path/to/engine/file \ model.classify.eval_margin=0.5

必需参数

  • -e, --experiment_spec_file:实验规范文件的路径。这应与 tao inference 规范文件相同。

可选参数

  • results_dir:JSON 状态日志文件和推理结果将转储到的目录。

  • inference.trt_engine:用于推理的引擎文件。

  • model.classify.eval_margin:VisualChangeNet-Classification 的评估阈值。

示例用法

以下是使用 inference 命令通过 TensorRT 引擎运行推理的示例

复制
已复制!
            

tao deploy visual_changenet inference -e $DEFAULT_SPEC results_dir=$RESULTS_DIR inference.trt_engine=$ENGINE_FILE model.classify.eval_margin=$EVAL_MARGIN

您可以重用为通过 TensorRT 引擎进行 TAO 评估指定的规范文件。以下是示例规范文件

复制
已复制!
            

task: classify model: classify: eval_margin: 0.5 dataset: classify: infer_dataset: csv_path: /path/to/infer.csv images_dir: /path/to/img_dir image_ext: .jpg batch_size: 16 workers: 2 num_input: 4 input_map: LowAngleLight: 0 SolderLight: 1 UniformLight: 2 WhiteLight: 3 concat_type: linear grid_map: x: 2 y: 2 output_shape: - 128 - 128 augmentation_config: rgb_input_mean: [0.485, 0.456, 0.406] rgb_input_std: [0.229, 0.224, 0.225] num_classes: 2 evaluate: gpu_id: 0 trt_engine: /path/to/engine/file results_dir: "${results_dir}/inference"

使用以下命令运行 VisualChangeNet-Classification 引擎评估

复制
已复制!
            

tao deploy visual_changenet evaluate -e /path/to/spec.yaml \ results_dir=$RESULTS_DIR \ evaluate.trt_engine=/path/to/engine/file \ model.classify.eval_margin=0.5

必需参数

  • -e, --experiment_spec:用于评估的实验规范文件。这应与 tao evaluate 规范文件相同。

可选参数

  • results_dir:JSON 状态日志文件和评估结果将转储到的目录。

  • evaluate.trt_engine:用于评估的引擎文件。

  • model.classify.eval_margin:VisualChangeNet-Classification 的评估阈值。

示例用法

以下是使用 evaluate 命令通过 TensorRT 引擎运行评估的示例

复制
已复制!
            

tao deploy visual_changenet evaluate -e $DEFAULT_SPEC results_dir=$RESULTS_DIR \ evaluate.trt_engine=$ENGINE_FILE model.classify.eval_margin=0=$EVAL_MARGIN

上一篇 使用 TAO Deploy 的 SiameseOI
下一篇 使用 TAO Deploy 的 VisualChangeNet-Segmentation
© 版权所有 2024,NVIDIA。 上次更新时间:2024 年 10 月 15 日。