使用 TAO Deploy 部署 Mask Grounding DINO
要生成优化的 TensorRT 引擎,需要将 Grounding DINO .onnx
文件作为输入,该文件首先使用 tao model mask_grounding_dino export
生成,然后输入到 tao deploy mask_grounding_dino gen_trt_engine
。 有关训练 Mask Grounding DINO 模型的更多信息,请参阅 Grounding DINO 训练文档。
要转换 .onnx
文件,您可以重用 tao model mask_grounding_dino export
命令中的默认实验规范文件。
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
字段 |
值类型 |
描述 |
默认值 |
有效最小值 |
有效最大值 |
有效选项 |
automl_enabled |
---|---|---|---|---|---|---|---|
results_dir |
string | 存储任务生成的所有资产的路径。 | FALSE | ||||
gpu_id |
int | 用于构建 TensorRT 引擎的 GPU 索引。 | 0 | FALSE | |||
onnx_file |
string | ONNX 模型文件的路径。 | ??? | FALSE | |||
|
string |
应存储生成的 TensorRT 引擎的路径。 |
|
|
|
|
FALSE |
input_channel |
int | 输入张量中的通道数。 | 3 | 3 | FALSE | ||
input_width |
int | 输入图像张量的宽度。 | 960 | 32 | FALSE | ||
input_height |
int | 输入图像张量的高度。 | 544 | 32 | FALSE | ||
|
int |
用于生成 TensorRT 引擎的 ONNX 模型的算子集版本。 |
17 |
1 |
|
|
FALSE |
|
int |
引擎的输入张量的批次大小。 |
-1 |
-1 |
|
|
FALSE |
verbose |
bool | 启用详细 TensorRT 日志记录的标志。 | False | FALSE | |||
tensorrt |
collection | 用于配置 TensorRT 引擎构建器的超参数。 | FALSE |
tensorrt
tensorrt
参数定义 TensorRT 引擎生成。
字段 |
value_type |
描述 |
默认值 |
有效最小值 |
有效最大值 |
有效选项 |
automl_enabled |
---|---|---|---|---|---|---|---|
data_type |
string | 为构建 TensorRT 引擎设置的精度。 | FP32 | FP32,FP16 | FALSE | ||
|
int |
TensorRT 用于运行其优化策略并生成 TensorRT 引擎的工作区大小(以 MB 为单位)。 |
1024 |
|
|
|
FALSE |
|
int |
TensorRT 引擎输入张量的优化配置文件中的最小批次大小。 |
1 |
|
|
|
FALSE |
|
int |
优化配置文件中 TensorRT 引擎输入张量的最佳批次大小。 |
1 |
|
|
|
FALSE |
|
int |
优化配置文件中 TensorRT 引擎输入张量的最大批次大小。 |
1 |
|
|
|
FALSE |
使用以下命令运行 Grounding DINO 引擎生成
tao deploy mask_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 引擎生成的实验规范文件
可选参数
gen_trt_engine.onnx_file
: 要转换的.onnx
模型gen_trt_engine.trt_engine
: 存储生成的引擎的路径gen_trt_engine.tensorrt.data_type
: 要导出的精度
示例用法
以下是使用 gen_trt_engine
命令生成 FP16 TensorRT 引擎的示例
tao deploy mask_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 评估规范文件,以通过 TensorRT 引擎进行评估。 以下是示例规范文件
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 mask_grounding_dino evaluate -e /path/to/spec.yaml \
evaluate.trt_engine=/path/to/engine/file
必需参数
-e, --experiment_spec
: 用于评估的实验规范文件。这应与tao evaluate
规范文件相同
可选参数
evaluate.trt_engine
: 用于评估的引擎文件
示例用法
这是使用 evaluate
命令通过 TensorRT 引擎运行评估的示例
tao deploy mask_grounding_dino evaluate -e $DEFAULT_SPEC
evaluate.trt_engine=$ENGINE_FILE
您可以重用 TAO 推理规范文件,以通过 TensorRT 引擎进行推理。 以下是示例规范文件
inference:
conf_threshold: 0.5
input_width: 960
input_height: 544
trt_engine: /path/to/engine/file
color_map:
"black cat": green
car: red
person: blue
dataset:
infer_data_sources:
- image_dir: /path/to/coco/images/val2017/
captions: ["black cat", "car", "person"]
max_labels: 80
batch_size: 8
使用以下命令运行 Grounding DINO 引擎推理
tao deploy mask_grounding_dino inference -e /path/to/spec.yaml \
inference.trt_engine=/path/to/engine/file
必需参数
-e, --experiment_spec
: 用于推理的实验规范文件。这必须与tao inference
规范文件相同。
可选参数
inference.trt_engine
: 用于推理的引擎文件
示例用法
这是使用 inference
命令通过 TensorRT 引擎运行推理的示例
tao deploy mask_grounding_dino inference -e $DEFAULT_SPEC
results_dir=$RESULTS_DIR \
evaluate.trt_engine=$ENGINE_FILE
可视化结果将存储在 $RESULTS_DIR/images_annotated
中,KITTI 格式的预测将存储在 $RESULTS_DIR/labels
下。