TAO v5.5.0

Segformer 与 TAO Deploy

tao export 生成的 Segformer ONNX 文件被用作 tao-deploy 的输入,以生成优化的 TensorRT 引擎。我们不支持 Segformer 的 Int8 精度。

相同的 spec 文件可以用作 tao model segformer export 命令。

trt_config

gen_trt_engine 参数定义 TensorRT 引擎的生成。

复制
已复制!
            

gen_trt_engine: onnx_file: /path/to/onnx_file trt_engine: /path/to/trt_engine input_width: 512 input_height: 512 tensorrt: data_type: FP32 workspace_size: 1024 min_batch_size: 1 opt_batch_size: 1 max_batch_size: 1

参数 数据类型 默认值 描述 支持的值
onnx_file string 用于 TensorRT 引擎的精度
trt_engine string TensorRT 引擎的最大工作区大小
input_channel unsigned int 3 输入通道大小。仅支持值 3。 3
input_width unsigned int 960 输入宽度 >0
input_height unsigned int 544 输入高度 >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 用于优化 profile 形状的最小批次大小 >0
opt_batch_size unsigned int 1 用于优化 profile 形状的最佳批次大小 >0
max_batch_size unsigned int 1 用于优化 profile 形状的最大批次大小 >0

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

复制
已复制!
            

tao deploy segformer gen_trt_engine -e /path/to/spec.yaml \ results_dir=/path/to/results \ 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 文件

可选参数

  • results_dir: 将要转储 JSON 状态日志文件的目录

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

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

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

示例用法

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

复制
已复制!
            

tao deploy segformer 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 文件相同的 spec 文件。示例 spec 文件

复制
已复制!
            

model: input_height: 512 input_width: 512 backbone: type: "mit_b1" dataset: img_norm_cfg: mean: - 127.5 - 127.5 - 127.5 std: - 127.5 - 127.5 - 127.5 test_dataset: img_dir: /data/images/val ann_dir: /data/masks/val input_type: "grayscale" data_root: /tlt-pytorch palette: - seg_class: foreground rgb: - 0 - 0 - 0 label_id: 0 mapping_class: foreground - seg_class: background rgb: - 255 - 255 - 255 label_id: 1 mapping_class: background batch_size: 1 workers_per_gpu: 1

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

复制
已复制!
            

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

必需参数

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

可选参数

  • results_dir: 将要转储评估文件和评估结果的目录

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

示例用法

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

复制
已复制!
            

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

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

复制
已复制!
            

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

必需参数

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

可选参数

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

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

示例用法

对于推理,您可以重复使用在running_evaluation_through_tensorrt_engine下提到的 spec 配置。以下是使用 inference 命令通过 TensorRT 引擎运行推理的示例

复制
已复制!
            

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

掩码覆盖可视化将存储在 $RESULTS_DIR/vis_overlay 下,原始预测(掩码格式)将存储在 $RESULTS_DIR/mask_labels 下。

上一篇 SSD 与 TAO Deploy
下一篇 UNet 与 TAO Deploy
© 版权所有 2024, NVIDIA。 最后更新于 2024 年 10 月 15 日。