DeepStream-Yolo自定义模型集成一步步教你接入自己的AI模型【免费下载链接】DeepStream-YoloNVIDIA DeepStream SDK 8.0 / 7.1 / 7.0 / 6.4 / 6.3 / 6.2 / 6.1.1 / 6.1 / 6.0.1 / 6.0 / 5.1 implementation for YOLO models项目地址: https://gitcode.com/gh_mirrors/de/DeepStream-YoloDeepStream-Yolo是NVIDIA DeepStream SDK的YOLO模型实现支持多种YOLO模型在DeepStream平台上的部署与应用。本文将详细介绍如何在DeepStream-Yolo中集成自定义AI模型让你快速上手将自己训练的模型应用到实际项目中。一、准备工作环境与文件准备在开始集成自定义模型之前需要确保你的环境满足DeepStream-Yolo的运行要求。根据你使用的DeepStream版本和平台x86或Jetson安装对应的CUDA、TensorRT和NVIDIA驱动等依赖。具体的环境要求可以参考项目中的dGPU安装文档。接下来按照以下步骤准备项目文件克隆项目仓库git clone https://gitcode.com/gh_mirrors/de/DeepStream-Yolo cd DeepStream-Yolo准备模型文件将你的自定义模型文件如ONNX格式的模型文件或Darknet的cfg和weights文件复制到DeepStream-Yolo目录下。准备类别名称文件创建一个包含模型类别名称的labels.txt文件并将其复制到DeepStream-Yolo目录下。例如如果你的模型用于检测人、车、自行车labels.txt内容如下person car bicycle二、编译自定义库构建模型推理组件DeepStream-Yolo需要编译自定义的推理库来支持不同的YOLO模型。编译步骤如下设置CUDA版本根据你的DeepStream版本设置对应的CUDA版本。例如DeepStream 8.0在x86平台上需要CUDA 12.8在Jetson平台上需要CUDA 13.0。设置命令如下export CUDA_VER12.8 # x86平台DeepStream 8.0示例不同DeepStream版本对应的CUDA版本可以在项目文档中找到详细说明。编译库文件执行以下命令编译nvdsinfer_custom_impl_Yolo目录下的源码生成推理所需的库文件make -C nvdsinfer_custom_impl_Yolo clean make -C nvdsinfer_custom_impl_Yolo编译完成后会在该目录下生成libnvdsinfer_custom_impl_Yolo.so等文件这些文件是模型推理的关键组件。三、配置文件编辑适配自定义模型DeepStream-Yolo通过配置文件来指定模型参数和推理设置主要需要编辑两个配置文件deepstream_app_config.txt和config_infer_primary.txt。3.1 编辑deepstream_app_config.txt该文件用于配置DeepStream应用的整体参数如输入源、显示设置、推理引擎等。关键配置项如下[primary-gie]部分指定主推理引擎的配置文件路径。对于自定义模型建议复制一份config_infer_primary.txt并命名为config_infer_primary_custom.txt然后在此处修改为[primary-gie] enable1 gpu-id0 gie-unique-id1 config-fileconfig_infer_primary_custom.txt[source]部分配置输入源例如RTSP流、本地文件等。示例配置[source0] enable1 type3 # 3表示MultiURI类型 urifile:///path/to/your/video.mp4 # 输入视频文件路径 num-sources1 gpu-id0[sink]部分配置输出方式如显示窗口、保存文件等。示例配置[sink0] enable1 type2 # 2表示EGL显示窗口 sync0 gpu-id03.2 编辑config_infer_primary_custom.txt该文件用于配置模型的具体推理参数需要根据你的自定义模型类型ONNX或Darknet进行相应设置。ONNX模型配置[property] model-color-format0 # 0RGB, 1BGR, 2GRAYSCALE onnx-fileyour_custom_model.onnx # 你的ONNX模型文件名 model-engine-filemodel_b1_gpu0_fp16.engine # 生成的TensorRT引擎文件名 batch-size1 # 批处理大小 network-mode2 # 2FP16, 0FP32, 1INT8 num-detected-classes3 # 模型检测的类别数量需与labels.txt一致 interval0 # 推理间隔0表示每帧都推理 cluster-mode2 # 使用NMS聚类模式Darknet模型配置[property] model-color-format0 custom-network-configyour_custom_model.cfg # Darknet的cfg文件 model-fileyour_custom_model.weights # Darknet的weights文件 model-engine-filemodel_b1_gpu0_fp16.engine batch-size1 network-mode2 num-detected-classes3 interval0 cluster-mode2此外还可以在[class-attrs-all]部分配置NMS相关参数如IOU阈值、置信度阈值等[class-attrs-all] nms-iou-threshold0.45 # NMS的IOU阈值 pre-cluster-threshold0.25 # 预聚类阈值低于此值的检测框会被过滤 topk300 # 每帧最多保留的检测框数量四、运行与测试验证自定义模型完成上述配置后即可运行DeepStream应用来测试自定义模型。执行以下命令deepstream-app -c deepstream_app_config.txt首次运行时DeepStream会将模型转换为TensorRT引擎文件.engine这个过程可能需要几分钟时间具体取决于模型大小和硬件性能。转换完成后应用会启动并显示推理结果。如果需要调整模型性能或解决推理问题可以参考项目中的INT8校准文档进行模型优化或检查配置文件中的参数是否正确设置。五、常见问题与解决方法TensorRT引擎生成失败检查模型文件是否正确CUDA和TensorRT版本是否匹配以及config_infer_primary_custom.txt中的num-detected-classes是否与实际类别数量一致。推理结果不正确确认labels.txt中的类别顺序与模型训练时的类别顺序一致调整pre-cluster-threshold和nms-iou-threshold参数以优化检测效果。性能问题尝试使用FP16或INT8模式需进行INT8校准来加速推理或调整batch-size参数以提高吞吐量。通过以上步骤你可以成功在DeepStream-Yolo中集成自定义AI模型实现高效的视频流实时目标检测。更多高级功能和详细配置请参考项目中的官方文档和示例。【免费下载链接】DeepStream-YoloNVIDIA DeepStream SDK 8.0 / 7.1 / 7.0 / 6.4 / 6.3 / 6.2 / 6.1.1 / 6.1 / 6.0.1 / 6.0 / 5.1 implementation for YOLO models项目地址: https://gitcode.com/gh_mirrors/de/DeepStream-Yolo创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
DeepStream-Yolo自定义模型集成:一步步教你接入自己的AI模型
DeepStream-Yolo自定义模型集成一步步教你接入自己的AI模型【免费下载链接】DeepStream-YoloNVIDIA DeepStream SDK 8.0 / 7.1 / 7.0 / 6.4 / 6.3 / 6.2 / 6.1.1 / 6.1 / 6.0.1 / 6.0 / 5.1 implementation for YOLO models项目地址: https://gitcode.com/gh_mirrors/de/DeepStream-YoloDeepStream-Yolo是NVIDIA DeepStream SDK的YOLO模型实现支持多种YOLO模型在DeepStream平台上的部署与应用。本文将详细介绍如何在DeepStream-Yolo中集成自定义AI模型让你快速上手将自己训练的模型应用到实际项目中。一、准备工作环境与文件准备在开始集成自定义模型之前需要确保你的环境满足DeepStream-Yolo的运行要求。根据你使用的DeepStream版本和平台x86或Jetson安装对应的CUDA、TensorRT和NVIDIA驱动等依赖。具体的环境要求可以参考项目中的dGPU安装文档。接下来按照以下步骤准备项目文件克隆项目仓库git clone https://gitcode.com/gh_mirrors/de/DeepStream-Yolo cd DeepStream-Yolo准备模型文件将你的自定义模型文件如ONNX格式的模型文件或Darknet的cfg和weights文件复制到DeepStream-Yolo目录下。准备类别名称文件创建一个包含模型类别名称的labels.txt文件并将其复制到DeepStream-Yolo目录下。例如如果你的模型用于检测人、车、自行车labels.txt内容如下person car bicycle二、编译自定义库构建模型推理组件DeepStream-Yolo需要编译自定义的推理库来支持不同的YOLO模型。编译步骤如下设置CUDA版本根据你的DeepStream版本设置对应的CUDA版本。例如DeepStream 8.0在x86平台上需要CUDA 12.8在Jetson平台上需要CUDA 13.0。设置命令如下export CUDA_VER12.8 # x86平台DeepStream 8.0示例不同DeepStream版本对应的CUDA版本可以在项目文档中找到详细说明。编译库文件执行以下命令编译nvdsinfer_custom_impl_Yolo目录下的源码生成推理所需的库文件make -C nvdsinfer_custom_impl_Yolo clean make -C nvdsinfer_custom_impl_Yolo编译完成后会在该目录下生成libnvdsinfer_custom_impl_Yolo.so等文件这些文件是模型推理的关键组件。三、配置文件编辑适配自定义模型DeepStream-Yolo通过配置文件来指定模型参数和推理设置主要需要编辑两个配置文件deepstream_app_config.txt和config_infer_primary.txt。3.1 编辑deepstream_app_config.txt该文件用于配置DeepStream应用的整体参数如输入源、显示设置、推理引擎等。关键配置项如下[primary-gie]部分指定主推理引擎的配置文件路径。对于自定义模型建议复制一份config_infer_primary.txt并命名为config_infer_primary_custom.txt然后在此处修改为[primary-gie] enable1 gpu-id0 gie-unique-id1 config-fileconfig_infer_primary_custom.txt[source]部分配置输入源例如RTSP流、本地文件等。示例配置[source0] enable1 type3 # 3表示MultiURI类型 urifile:///path/to/your/video.mp4 # 输入视频文件路径 num-sources1 gpu-id0[sink]部分配置输出方式如显示窗口、保存文件等。示例配置[sink0] enable1 type2 # 2表示EGL显示窗口 sync0 gpu-id03.2 编辑config_infer_primary_custom.txt该文件用于配置模型的具体推理参数需要根据你的自定义模型类型ONNX或Darknet进行相应设置。ONNX模型配置[property] model-color-format0 # 0RGB, 1BGR, 2GRAYSCALE onnx-fileyour_custom_model.onnx # 你的ONNX模型文件名 model-engine-filemodel_b1_gpu0_fp16.engine # 生成的TensorRT引擎文件名 batch-size1 # 批处理大小 network-mode2 # 2FP16, 0FP32, 1INT8 num-detected-classes3 # 模型检测的类别数量需与labels.txt一致 interval0 # 推理间隔0表示每帧都推理 cluster-mode2 # 使用NMS聚类模式Darknet模型配置[property] model-color-format0 custom-network-configyour_custom_model.cfg # Darknet的cfg文件 model-fileyour_custom_model.weights # Darknet的weights文件 model-engine-filemodel_b1_gpu0_fp16.engine batch-size1 network-mode2 num-detected-classes3 interval0 cluster-mode2此外还可以在[class-attrs-all]部分配置NMS相关参数如IOU阈值、置信度阈值等[class-attrs-all] nms-iou-threshold0.45 # NMS的IOU阈值 pre-cluster-threshold0.25 # 预聚类阈值低于此值的检测框会被过滤 topk300 # 每帧最多保留的检测框数量四、运行与测试验证自定义模型完成上述配置后即可运行DeepStream应用来测试自定义模型。执行以下命令deepstream-app -c deepstream_app_config.txt首次运行时DeepStream会将模型转换为TensorRT引擎文件.engine这个过程可能需要几分钟时间具体取决于模型大小和硬件性能。转换完成后应用会启动并显示推理结果。如果需要调整模型性能或解决推理问题可以参考项目中的INT8校准文档进行模型优化或检查配置文件中的参数是否正确设置。五、常见问题与解决方法TensorRT引擎生成失败检查模型文件是否正确CUDA和TensorRT版本是否匹配以及config_infer_primary_custom.txt中的num-detected-classes是否与实际类别数量一致。推理结果不正确确认labels.txt中的类别顺序与模型训练时的类别顺序一致调整pre-cluster-threshold和nms-iou-threshold参数以优化检测效果。性能问题尝试使用FP16或INT8模式需进行INT8校准来加速推理或调整batch-size参数以提高吞吐量。通过以上步骤你可以成功在DeepStream-Yolo中集成自定义AI模型实现高效的视频流实时目标检测。更多高级功能和详细配置请参考项目中的官方文档和示例。【免费下载链接】DeepStream-YoloNVIDIA DeepStream SDK 8.0 / 7.1 / 7.0 / 6.4 / 6.3 / 6.2 / 6.1.1 / 6.1 / 6.0.1 / 6.0 / 5.1 implementation for YOLO models项目地址: https://gitcode.com/gh_mirrors/de/DeepStream-Yolo创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考