TAO v5.5.0

使用 TAO Deploy 部署 Grounding DINO

要生成优化的 TensorRT 引擎,需要将 Grounding DINO .onnx 文件作为输入,该文件首先使用 tao model grounding_dino export 生成,然后输入到 tao deploy grounding_dino gen_trt_engine。有关训练 Grounding DINO 模型的更多信息,请参阅Grounding DINO 训练文档

要转换 .onnx 文件,您可以重用 tao model grounding_dino export 命令中的 spec 文件。

gen_trt_engine

gen_trt_engine 参数定义 TensorRT 引擎生成。

复制
已复制!
            

gen_trt_engine: onnx_file: /path/to/onnx_file trt_engine: /path/to/trt_engine input_channel: 3 input_width: 960 input_height: 544 tensorrt: data_type: fp16 workspace_size: 1024 min_batch_size: 1 opt_batch_size: 10 max_batch_size: 10

字段

value_type

描述

default_value

valid_min

valid_max

valid_options

automl_enabled

results_dir string 存储从任务生成的所有资产的路径。 FALSE
gpu_id int 构建 TensorRT 引擎的 GPU 索引。 0 FALSE
onnx_file string ONNX 模型文件的路径。 ??? FALSE

trt_engine

string

存储从 gen_trt_engine 生成的 TensorRT 引擎的路径。
这仅适用于 tao-deploy

FALSE

input_channel int 输入张量中的通道数。 3 3 FALSE
input_width int 输入图像张量的宽度。 960 32 FALSE
input_height int 输入图像张量的高度。 544 32 FALSE

opset_version

int

用于生成 TensorRT 引擎的 ONNX 模型的
运算符集版本。

17

1

FALSE

batch_size

int

引擎的输入张量的批次大小。
-1 值表示动态张量形状。

-1

-1

FALSE

verbose bool 启用详细 TensorRT 日志记录的标志。 False FALSE
tensorrt collection 配置 TensorRT 引擎构建器的超参数。 FALSE

tensorrt

tensorrt 参数定义 TensorRT 引擎生成。

字段

value_type

描述

default_value

valid_min

valid_max

valid_options

automl_enabled

data_type string 为构建 TensorRT 引擎设置的精度。 FP32 FP32,FP16 FALSE

workspace_size

int

TensorRT 用于运行其优化策略并生成
TensorRT 引擎的工作区大小(以 MB 为单位)。
TensorRT 引擎。

1024

FALSE

min_batch_size

int

TensorRT 引擎输入张量的优化配置文件中的
最小批次大小。

1

FALSE

opt_batch_size

int

优化配置文件中输入张量的最佳批次大小
最小批次大小。

1

FALSE

max_batch_size

int

优化配置文件中输入张量的最大批次大小
最小批次大小。

1

FALSE

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

复制
已复制!
            

tao deploy grounding_dino gen_trt_engine -e /path/to/spec.yaml \ 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:用于设置 TensorRT 引擎生成的实验 spec 文件。

可选参数

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

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

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

示例用法

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

复制
已复制!
            

tao deploy grounding_dino gen_trt_engine -e $DEFAULT_SPEC gen_trt_engine.onnx_file=$ONNX_FILE \ gen_trt_engine.trt_engine=$ENGINE_FILE \ gen_trt_engine.tensorrt.data_type=FP16

您可以重用TAO 评估 spec 文件,以便通过 TensorRT 引擎进行评估。以下是示例 spec 文件

复制
已复制!
            

evaluate: trt_engine: /path/to/engine/file conf_threshold: 0.0 input_width: 960 input_height: 544 dataset: test_data_sources: image_dir: /data/raw-data/val2017/ json_file: /data/raw-data/annotations/instances_val2017.json max_labels: 80 batch_size: 8

使用以下命令运行 Grounding DINO 引擎评估

复制
已复制!
            

tao deploy grounding_dino evaluate -e /path/to/spec.yaml \ evaluate.trt_engine=/path/to/engine/file

必需参数

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

可选参数

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

示例用法

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

复制
已复制!
            

tao deploy grounding_dino evaluate -e $DEFAULT_SPEC evaluate.trt_engine=$ENGINE_FILE

您可以重用TAO 推理 spec 文件,以便通过 TensorRT 引擎进行推理。以下是示例 spec 文件

复制
已复制!
            

inference: conf_threshold: 0.5 input_width: 960 input_height: 544 trt_engine: /path/to/engine/file color_map: "blackcat": green car: red person: blue dataset: infer_data_sources: - image_dir: /path/to/coco/images/val2017/ captions: ["blackcat", "car", "person"] max_labels: 80 batch_size: 8

使用以下命令运行 Grounding DINO 引擎推理

复制
已复制!
            

tao deploy grounding_dino inference -e /path/to/spec.yaml \ inference.trt_engine=/path/to/engine/file

必需参数

  • -e, --experiment_spec:用于推理的实验 spec 文件。这应与 tao inference spec 文件相同。

可选参数

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

示例用法

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

复制
已复制!
            

tao deploy grounding_dino inference -e $DEFAULT_SPEC results_dir=$RESULTS_DIR \ evaluate.trt_engine=$ENGINE_FILE

可视化结果存储在 $RESULTS_DIR/images_annotated 中,KITTI 格式的预测结果存储在 $RESULTS_DIR/labels 下。

上一步 使用 TAO Deploy 部署 DINO
下一步 使用 TAO Deploy 部署 DetectNet_v2
© 版权所有 2024, NVIDIA。 上次更新于 2024 年 10 月 15 日。