| 接口: | TensorRT |
| 修订: | 21.05.2.1 |
| 日期: | Apr 20, 2023 |
该 AI2 接口可用于在支持的硬件,尤其是 NVIDIA® GPUs上执行优化推理。
| 模型 | TensorRT | 文件 | ||
|---|---|---|---|---|
| FP32 | FP16 | INT8 | ||
| 三维抓取点检测 | ✔ | ✔ | ✖ | pretrained_dl_3d_gripping_point.hdl |
| 异常检测 大型 | ✔ | ✔ | ✔ | initial_dl_anomaly_large.hdl |
| 异常检测 中型 | ✔ | ✔ | ✔ | initial_dl_anomaly_medium.hdl |
| 分类 AlexNet | ✔ | ✔ | ✔ | pretrained_dl_classifier_alexnet.hdl |
| 分类 紧凑型 | ✔ | ✔ | ✔ | pretrained_dl_classifier_compact.hdl |
| 分类 增强 | ✔ | ✔ | ✔ | pretrained_dl_classifier_enhanced.hdl |
| 分类 MobileNetV2 | ✔ | ✔ | ✔ | pretrained_dl_classifier_mobilenet_v2.hdl |
| 分类 ResNet50 | ✔ | ✔ | ✔ | pretrained_dl_classifier_resnet50.hdl |
| 分类 ResNet18 | ✔ | ✔ | ✔ | pretrained_dl_classifier_resnet18.hdl |
| 计数 | ✔ | ✔ | ✖ | 使用 create_deep_counting_model 创建的模型,骨干网:pretrained_dl_classifier_resnet50.hdl |
| 物体检测 紧凑型 | ✔ | ✔ | ✔ | 使用 create_dl_model_detection 创建的模型,骨干:pretrained_dl_classifier_compact.hdl |
| 分割 边缘提取 | ✔ | ✔ | ✔ | pretrained_dl_edge_extractor.hdl |
| 全局上下文异常检测 | ✔ | ✔ | ✔ | pretrained_dl_gc_anomaly.hdl ('gc_anomaly_networks' = ['local', 'global']) |
| 全局上下文异常检测 | ✔ | ✔ | ✔ | pretrained_dl_gc_anomaly.hdl ('gc_anomaly_networks' = ['local']) |
| 全局上下文异常检测 | ✔ | ✔ | ✔ | pretrained_dl_gc_anomaly.hdl ('gc_anomaly_networks' = ['global']) |
| 实例分割 | ✖ | ✖ | ✖ | 使用 create_dl_model_detection 创建的模型,所有骨干网 |
| OCR 检测 | ✔ | ✔ | ✔ | pretrained_deep_ocr_detection.hdl |
| OCR 识别 | ✔ | ✔ | ✔ | pretrained_deep_ocr_recognition.hdl |
| 分割 紧凑型 | ✔ | ✔ | ✔ | pretrained_dl_segmentation_compact.hdl |
| 分割 增强 | ✔ | ✔ | ✔ | pretrained_dl_segmentation_enhanced.hdl |
| 参数 | 值 | 类型 | 描述 |
|---|---|---|---|
| 'log_level' | ['info', 'warn', 'error', 'none'] | 字符串 | 配置与插件相关的所有操作的当前日志级别。请注意,该配置实际上对整个插件都有效,并不局限于设置该配置的设备。日志还包括 TensorRT™ SDK 本身生成的信息。 日志的默认值("error")也可以通过 "HAI2_TENSORRT_LOG "环境变量进行调整。 生成的日志将通过 HALCON 的低级错误机制(请参阅 set_system('do_low_error',...))传送。 注意:该参数可(作为字典项)使用
|
| 'verbose_log_enabled' | ['false', 'true'] | 字符串 | 配置是否启用 TensorRT™ SDK 的详细日志记录(在使用 "log_level" 参数配置的常规日志记录之外)。在调试与模型优化和/或推理有关的特定问题时,可能会用到冗长日志。 请注意,该配置实际上对整个插件都有效,并不局限于通过它进行设置的设备。 生成的日志将通过 HALCON 的低级错误机制(请参阅 set_system('do_low_error',...))传送。 注:该参数可(作为字典项目)使用:
|
| 'profiler_enabled' | ['false', 'true'] | 字符串 | 配置是否将推理剖析器信息附加到日志中("info" 级别)。主要供内部使用,或在调试自建网络架构时使用(与 HALCON 随附的模型相反)。 注:该参数可(作为字典项目)使用:
|
| 参数 | 值 | 类型 | 描述 |
|---|---|---|---|
| 'tensorrt_version' | <version string> | 字符串 | 报告扩展的 TensorRT™ 版本字符串,包括所用 CUDA 和 cuDNN 库的版本。格式为 TENSORRT-CUDA-CUDNN(例如,8.0.3.4-11.3-8.2 代表 TensorRT™ 8.0.3.4 以及 CUDA 11.3 和 cuDNN 8.2)。 注意:该输出参数在两种情况下共享(作为字典项):
|
| 'plugin_version' | <version string> | 字符串 | 报告正在使用的插件版本。 注意:该输出参数在两种情况下共享(作为字典项):
|
| 'device_name' | <device name> | 字符串 | 报告由 CUDA 报告的 GPU 设备名称。 注意:该输出参数在两种情况下共享(作为字典项):
|
| 'compute_version' | <version string> | 字符串 | 报告 GPU 设备的 CUDA 计算能力版本。 注意:该输出参数在两种情况下共享(作为字典项):
|
| 'device_global_mem_mb' | <megabytes> | 整数 | 报告 GPU 设备上可用的全局内存大小(单位:MB)。 注意:该输出参数在两种情况下共享(作为字典项):
|
| 'driver_supported_cuda_version' | <version string> | 字符串 | 报告当前连接到 GPU 设备的驱动程序所支持的最新 CUDA 版本。 Note: available (as a dictionary item) through get_dl_device_param(..., 'info', ...) |
| 'has_fast_fp16' | 'false', 'true', 'unknown' | 字符串 | 指示设备是否支持快速本地 fp16 精度计算的标志。 注:可通过 get_dl_device_param(..., 'info', ...) 获取(作为字典项)。 |
| 'has_fast_int8' | 'false', 'true', 'unknown' | 字符串 | 指示设备是否支持快速本地 int8 精度计算的标志。 注:可通过 get_dl_device_param(..., 'info', ...) 获取(作为字典项)。 |
| 'has_fast_tf32' | 'false', 'true', 'unknown' | 字符串 | 指示设备是否支持 tf32 精度计算的标志。 注:可通过 get_dl_device_param(..., 'info', ...) 获取(作为字典项)。 |
| 'log_level' | ['info', 'warn', 'error', 'none'] | 字符串 | 配置与插件相关的所有操作的当前日志级别。请注意,该配置实际上对整个插件都有效,并不局限于设置该配置的设备。日志还包括 TensorRT™ SDK 本身生成的信息。 其默认值("error")也可以通过 "HAI2_TENSORRT_LOG" 环境变量进行调整。 生成的日志将通过 HALCON 的低级错误机制(请参阅 set_system('do_low_error',...))传送。 注:该参数可(作为字典项目)使用:
|
| 'verbose_log_enabled' | ['false', 'true'] | 字符串 | 配置是否启用 TensorRT™ SDK 的详细日志记录(在使用 "log_level" 参数配置的常规日志记录之外)。在调试与模型优化和/或推理有关的特定问题时,可能会用到冗长日志。 请注意,该配置实际上对整个插件都有效,并不局限于通过它进行设置的设备。 生成的日志将通过 HALCON 的低级错误机制(请参阅 set_system('do_low_error',...))传送。 注:该参数可(作为字典项目)使用:
|
| 'profiler_enabled' | ['false', 'true'] | 字符串 | 配置是否将推理剖析器信息附加到日志中("info" 级别)。主要供内部使用,或在调试自建网络架构时使用(与 HALCON 随附的模型相反)。 注:该参数可(作为字典项目)使用:
|
| 参数 | 值 | 类型 | 描述 |
|---|---|---|---|
| 'tensorrt_version' | <version string> | 字符串 | 报告扩展的 TensorRT™ 版本字符串,包括所用 CUDA 和 cuDNN 库的版本。格式为 TENSORRT-CUDA-CUDNN(例如,8.0.3.4-11.3-8.2 代表 TensorRT™ 8.0.3.4 以及 CUDA 11.3 和 cuDNN 8.2)。 注意:该输出参数在两种情况下共享(作为字典项):
|
| 'plugin_version' | <version string> | 字符串 | 报告正在使用的插件版本。 注意:该输出参数在两种情况下共享(作为字典项):
|
| 'device_name' | <device name> | 字符串 | 报告由 CUDA 报告的 GPU 设备名称。 注意:该输出参数在两种情况下共享(作为字典项):
|
| 'compute_version' | <version string> | 字符串 | 报告 GPU 设备的 CUDA 计算能力版本。 注意:该输出参数在两种情况下共享(作为字典项):
|
| 'device_global_mem_mb' | <megabytes> | 整数 | 报告 GPU 设备上可用的全局内存大小(单位:MB)。 注意:该输出参数在两种情况下共享(作为字典项):
|
| 'max_workspace_size' | <bytes> | 整数 | 配置 TensorRT™ SDK 在优化模型(准备推理)时使用的工作区大小。 默认值是根据我们对实际 GPU 设备(尤其是其内存容量)的最佳猜测选定的。我们建议保留建议的默认值,除非在优化特定型号时遇到内存不足的问题。 重要:另见 局限性 中的相应讨论。 注:可通过 optimize_dl_model_for_inference(..., GenParam, ...) 获取该输入参数(作为字典项)。 |
| 'parse_verbosity' | [0..3] | 整数 | 配置 TensorRT™ ONNX 解析器的冗余度。支持的值为 0(内部错误)、1(错误)、2(警告)、3(信息)。 还必须使用 set_dl_device_param 算子,通过 "log_level" 参数启用相应的日志级别。 注:可通过 optimize_dl_model_for_inference(..., GenParam, ...) 获取该输入参数(作为字典项)。 |
| 参数 | 值 | 类型 | 描述 |
|---|---|---|---|
| 'ai_accelerator_interface' | 'tensorrt' | 字符串 | 以 DLDeviceHandles 的形式返回所有可用的 TensorRT™ 插件设备。请注意,使用 TensorRT™ 插件时,每个设备既可用于模型优化,也可用于实际推理。实际上,优化后的模型应始终在同一设备(或基于同一 GPU 模型的设备)上执行。 |