首页/新闻资讯/正文详情

PaddleSeg 基于 Paddle Inference 的 C++ 端跨平台预测部署实战指南

发布时间:2026/9/26 6:41:18 来源:云帆数科 栏目:资讯中心
PaddleSeg 基于 Paddle Inference 的 C++ 端跨平台预测部署实战指南
人工智能计算机视觉预训练【免费下载链接】PaddleSegEasy-to-use image segmentation library with awesome pre-trained model zoo, supporting wide-range of practical tasks in Semantic Segmentation, Interactive Segmentation, Panoptic Segmentation, Image Matting, 3D Segmentation, etc.项目地址https://gitcode.com/gh_mirrors/pa/PaddleSeg点击查看免费下载本文以 PaddleSeg 仓库中的 C 部署文档为主线系统讲解如何利用 Paddle Inference 的 C 接口在 LinuxNV GPU / X86 CPU与 Windows 平台上完成分割模型的编译、二次开发集成与预测部署。读完本文你将掌握预测库与依赖环境的准备方法、预测模型与测试图片的获取方式、CPU / GPU / TensorRT固定 shape 与动态 shape四种部署模式的配置与执行流程以及示例代码test_seg.cc的底层调用原理与二次开发要点。1. C 端预测部署方案总览PaddleSeg/deploy/cpp为 PaddleSeg 用户提供了一套跨平台的 C 部署方案。用户通过 PaddleSeg 训练模型并导出为预测模型后即可基于该目录下的工程快速运行也可以把其中的代码集成到自己的业务项目中进行二次开发。该方案的设计目标主要有两点跨平台支持在 Windows 和 Linux 上完成编译、二次开发集成和部署运行可扩展性支持用户针对新模型开发自己特殊的数据预处理等逻辑例如在 test_seg.cc 中替换或扩展图片读取、缩放、归一化等步骤。deploy/cpp目录的主要结构与文件说明如下deploy/cpp │ ├── cmake # 依赖的外部项目 cmake目前仅有 yaml-cpp 的下载编译脚本 │ ├── src ── test_seg.cc # 示例代码文件即 C 预测主程序 │ ├── CMakeLists.txt # cmake 编译入口文件 │ └── *.sh # Linux 下安装相关依赖包或运行示例的脚本目录下还提供了四个一键运行脚本与四个依赖安装脚本后续章节将逐一使用脚本用途install_opencv.sh下载、编译并安装 OpenCV 3.4.7 到/usr/local/opencv3install_yaml.sh安装 yaml-cpp用于解析部署配置文件install_gflags.sh / install_glog.sh安装命令行参数解析与日志库run_seg_cpu.shX86 CPU 上编译并执行预测run_seg_gpu.shGPU 上以 Naive 方式Paddle 自实现 Kernel编译并执行预测run_seg_gpu_trt.shGPU TensorRT、固定 shape 模式部署run_seg_gpu_trt_dynamic_shape.shGPU TensorRT、动态 shape 模式部署完整的中英文部署教程位于 docs/deployment/inference/cpp_inference_cn.md英文版见 cpp_inference.md其中 Linux 与 Windows 的详细分步教程分别见 cpp_inference_linux_cn.md 与 cpp_inference_windows_cn.md。2. Linux 平台部署2.1 准备基础环境在 X86 CPU 上部署模型时不需要CUDA、cuDNN、TensorRT 的准备工作在 Nvidia GPU 上部署时则必须安装 CUDA 与 cuDNN同时 Paddle Inference 在 GPU 上支持使用 TensorRT 加速可以视需要安装。文档提供了两个版本的 CUDA / cuDNN / TensorRT 文件下载入口下载解压后CUDA 与 cuDNN 参照官方文档安装TensorRT 只需设置库路径wget https://paddle-inference-dist.bj.bcebos.com/tensorrt_test/cuda10.1-cudnn7.6-trt6.0.tar wget https://paddle-inference-dist.bj.bcebos.com/tensorrt_test/cuda10.2-cudnn8.0-trt7.1.tgzTensorRT 安装完成后仅需将库目录加入环境变量即可例如export LD_LIBRARY_PATH$LD_LIBRARY_PATH:/work/TensorRT-7.1.3.4/lib如果使用 Docker也可以拉取registry.baidubce.com/paddlepaddle/paddle:2.1.2-gpu-cuda10.2-cudnn7镜像在容器内部配置基础环境。2.2 准备 Paddle Inference C 预测库若在 X86 CPU 上部署选择manylinux_cpu_xxx命名的预编译 C 预测库若在 Nvidia GPU 上部署选择与机器 CUDA、cuDNN、TensorRT、GCC 版本匹配的预测库。不同预测库可以根据名字区分请根据操作系统、CUDA 版本、cuDNN 版本、是否使用 MKLDNN / OpenBlas、是否使用 TensorRT、GCC 版本等信息选择准确版本文档建议选择版本 2.3 的预测库。下载paddle_inference.tgz后解压将paddle_inference目录保存到PaddleSeg/deploy/cpp/下。2.3 安装 OpenCV 与其余依赖库示例程序使用 OpenCV 读取图片因此需要安装 OpenCV实际部署中可按需安装sh install_opencv.sh示例程序还使用 yaml 读取配置文件信息、使用 Gflags 和 Glog 管理输入与输出同样按需安装sh install_yaml.sh sh install_gflags.sh sh install_glog.sh2.4 准备模型和图片在PaddleSeg/deploy/cpp/目录下执行如下命令下载官方提供的测试模型PP-LiteSeg 预测模型wget https://paddleseg.bj.bcebos.com/dygraph/demo/pp_liteseg_infer_model.tar.gz tar xf pp_liteseg_infer_model.tar.gz如果需要测试其他模型请参考 model_export 文档 导出预测模型。预测模型的文件格式如下output/inference_model ├── deploy.yaml # 部署相关的配置文件主要说明数据预处理方式等信息 ├── model.pdmodel # 预测模型的拓扑结构文件 ├── model.pdiparams # 预测模型的权重文件 └── model.pdiparams.info # 参数额外信息一般无需关注其中deploy.yaml是示例程序的数据预处理依据从源码看test_seg.cc 中的load_yaml函数会从Deploy.model、Deploy.params字段读取模型与参数文件名并遍历Deploy.transforms列表识别其中的Normalize与Resize变换解析出归一化开关、缩放目标宽高target_size从而驱动后续的图片预处理详见第 4 节。model.pdmodel可以通过 Netron 打开进行模型可视化查看预测模型输入输出的个数与数据类型如int32_t、int64_t、float等。如果模型的输出数据类型不是int32_t执行默认代码会报错此时需要手动修改deploy/cpp/src/test_seg.cc中对应位置的代码改为输出对应的数据类型std::vectorint32_t out_data(out_num);随后下载 cityscapes 验证集中的一张测试图片wget https://paddleseg.bj.bcebos.com/dygraph/demo/cityscapes_demo.png检查PaddleSeg/deploy/cpp/目录下已存放好预测库、模型与图片PaddleSeg/deploy/cpp |-- paddle_inference # 预测库 |-- pp_liteseg_infer_model # 模型 |-- cityscapes_demo.png # 图片 ...2.5 X86 CPU 上部署执行sh run_seg_cpu.sh脚本会自动完成 CMake 编译然后在 X86 CPU 上执行预测分割结果保存为当前目录下的out_img.jpg图片。从 run_seg_cpu.sh 可以看到脚本以WITH_GPUOFF、USE_TENSORRTOFF、WITH_STATIC_LIBOFF的配置编译工程并以如下参数运行示例程序./build/test_seg \ --model_dir./pp_liteseg_infer_model \ --img_path./cityscapes_demo.png \ --devicesCPU \ --use_mkldnntrue其中--use_mkldnntrue开启 Intel MKLDNN 加速在 test_seg.cc 中CPU 分支会调用infer_config.EnableMKLDNN()并设置 5 个 CPU 数学库线程SetCpuMathLibraryNumThreads(5)。2.6 Nvidia GPU 上部署在 GPU 上部署前需要明确部署场景固定 shape 模式指多次预测时输入图像尺寸不变动态 shape 模式指每次预测时输入图像尺寸可以变化。Paddle Inference 在 GPU 上支持两种执行方式Naive 方式使用 Paddle 自实现的 Kernel 执行预测使用相同的配置方法支持固定 shape 与动态 shape 模式TRT 方式使用集成的 TensorRT 执行预测通常比 Naive 方式速度更快但固定 shape 与动态 shape 需要不同的配置方法。2.6.1 Naive 方式部署无论固定 shape 还是动态 shape使用 Naive 方式部署分割模型都只需执行sh run_seg_gpu.sh该脚本会完成编译、加载模型、加载图片、执行预测结果保存为out_img.jpg。从 run_seg_gpu.sh 可见其运行参数为--devicesGPU未开启 TRT对应 test_seg.cc 中的EnableUseGpu(100, 0)100 MB 显存预分配、GPU 卡号 0。2.6.2 TRT 方式、固定 shape 模式部署使用 TRT 方式、固定 shape 模式部署的步骤如下打开run_seg_gpu_trt.sh脚本将TENSORRT_ROOT设置为机器上 TensorRT 库的路径例如TENSORRT_ROOT/work/TensorRT-7.1.3.4/执行sh run_seg_gpu_trt.sh预测结果保存在out_img.jpg。从 run_seg_gpu_trt.sh 可以看到脚本在 CMake 阶段通过-DTENSORRT_ROOT${TENSORRT_ROOT}传入 TensorRT 路径运行阶段使用--use_trtTrue --trt_precisionfp32。需要特别注意的是PaddleSeg 分割模型通常支持任意输入 size模型内部存在动态 Shape 的 OP因此使用 TRT 方式、固定 shape 模式部署时经常会出现错误此时推荐改用 TRT 方式、动态 shape 模式部署。2.6.3 TRT 方式、动态 shape 模式部署Paddle Inference 有多种方式使用 TRT 部署分割模型此处介绍一种通用性较强的方法主要步骤包括准备预测模型和样本图像 → 离线收集动态 Shape → 部署执行。第一步准备预测模型和样本图像。样本图像用于离线收集动态 Shape因此准备的样本图像必须包含实际预测时会遇到的最大和最小图像尺寸前面步骤已备好预测模型与一张测试图片。第二步离线收集动态 Shape。参考 安装文档 安装 PaddlePaddle 和 PaddleSeg 的依赖项后在PaddleSeg/deploy/cpp路径下执行python ../python/collect_dynamic_shape.py \ --config pp_liteseg_infer_model/deploy.yaml \ --image_path ./cityscapes_demo.png \ --dynamic_shape_path ./dynamic_shape.pbtxt脚本会加载预测模型、读取样本图像、统计并保存动态 Shape 到./dynamic_shape.pbtxt文件如果有多张样本图像可以通过--image_path指定图像文件夹。从源码看collect_dynamic_shape.py 通过PredictConfig.collect_shape_range_info()开启 Shape 范围收集遍历get_image_list得到的全部图像执行前向最终把各输入维度的 min / max / opt 范围写入 pbtxt 文件脚本还通过is_support_collecting()检查当前 Paddle 版本是否支持该功能不支持时会提示重新安装最新 GPU 版 PaddlePaddle。第三步部署执行。打开run_seg_gpu_trt_dynamic_shape.sh脚本设置TENSORRT_ROOT为机器上 TensorRT 库的路径设置DYNAMIC_SHAPE_PATH为动态 Shape 文件路径执行sh run_seg_gpu_trt_dynamic_shape.sh预测结果保存在out_img.jpg。从 run_seg_gpu_trt_dynamic_shape.sh 可以看到运行参数为--use_trtTrue --use_trt_dynamic_shapeTrue --dynamic_shape_path./dynamic_shape.pbtxt对应 test_seg.cc 中的逻辑当--dynamic_shape_path非空时调用EnableTunedTensorRTDynamicShape()读取离线收集的 Shape 范围若为空则使用代码内置的默认范围min{1,3,112,112}、opt{1,3,512,1024}、max{1,3,1024,2048}通过SetTRTDynamicShapeInfo设置。trt_precision参数支持fp32、fp16、int8三种精度分别对应 test_seg.cc 中的PrecisionType::kFloat32 / kHalf / kInt8其他取值会触发LOG(FATAL)报错。3. Windows 平台部署3.1 基础环境要求Windows 部署的基础环境要求如下Visual Studio 2019需根据 Paddle 预测库所使用的 VS 版本选择参考 Visual Studio 不同版本二进制兼容性说明CUDA / CUDNN / TensorRT仅使用 GPU 版本预测库时需要CMake 3.0。环境与所需库的对应关系如下表部署环境所需库CPU-GPUCUDA / CUDNNGPU_TRTCUDA / CUDNN / TensorRTCUDA安装完成后将C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\Vx.y\bin添加到环境变量默认安装路径为C:\Program Files\NVIDIA GPU Computing ToolkitCUDNN将 cudnn 的bin、include、lib文件夹内的文件复制到 CUDA 目录对应的bin、include、lib文件夹Vx.y中的x.y表示 CUDA 版本TensorRT将安装目录lib文件夹中的.dll文件复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\Vx.y\bin。3.2 准备 Paddle Inference C 预测库与 OpenCVPaddle Inference C 预测库针对不同的 CPU 和 CUDA 版本提供了不同的预编译版本根据自己的环境选择合适的预编译库即可若预编译库不满足需求也可自行编译预测库。文档以 CUDA11.6、CUDNN8.4.1.5、TensorRT8.4.1.5 为例。预测库目录结构如下D:\projects\paddle_inference ├── paddle ├── third_party ├── CMakeCache.txt └── version.txtOpenCV 的安装步骤在 OpenCV 官网下载适用于 Windows 平台的 4.6.0 版本运行可执行文件将 OpenCV 解压至指定目录如D:\projects\opencv配置环境变量我的电脑→属性→高级系统设置→环境变量在系统变量Path中新建并填入 opencv 路径如D:\projects\opencv\build\x64\vc15\bin如果使用全局绝对路径可以不用设置环境变量。3.3 准备模型和图片下载预测模型pp_liteseg_infer_model.tar.gz地址同 Linux 章节到本地用于后续测试如需测试其他模型参考 model_export 文档 导出预测模型。模型文件格式与 Linux 章节一致deploy.yamlmodel.pdmodelmodel.pdiparamsmodel.pdiparams.info。同样需要注意输出数据类型问题若模型输出不是int32_t需修改deploy/cpp/src/test_seg.cc中的std::vectorint32_t out_data(out_num);为对应类型。最后下载 cityscapes 测试图片cityscapes_demo.png。工程整体目录结构如下D:\projects ├── opencv ├── paddle_inference └── PaddleSeg3.4 使用 CMake 生成项目文件编译参数说明如下*表示仅在使用GPU 版本预测库时指定#表示仅在使用TensorRT时指定参数名含义*WITH_GPU是否使用 GPU默认为 OFF*CUDA_LIBCUDA 的库路径*USE_TENSORRT是否使用 TensorRT默认为 OFF#TENSORRT_DLLTensorRT 的 .dll 文件存放路径WITH_MKL是否使用 MKL默认为 ON设为 OFF 表示使用 OpenblasCMAKE_BUILD_TYPE指定编译时使用 Release 或 DebugPADDLE_LIB_NAMEPaddle 预测库名称OPENCV_DIROpenCV 的安装路径PADDLE_LIBPaddle 预测库的安装路径DEMO_NAME可执行文件名进入cpp目录并创建build文件夹cd D:\projects\PaddleSeg\deploy\cpp mkdir build cd build执行编译命令的格式如下注意若路径中包含空格需使用引号括起来cmake .. -G Visual Studio 16 2019 -A x64 -T hostx64 -DUSE_TENSORRTON -DWITH_GPUON -DWITH_MKLON -DCMAKE_BUILD_TYPERelease -DPADDLE_LIB_NAMEpaddle_inference -DCUDA_LIBpath_to_cuda_lib -DOPENCV_DIRpath_to_opencv -DPADDLE_LIBpath_to_paddle_dir -DTENSORRT_DLLpath_to_tensorrt_.dll -DDEMO_NAMEtest_seg按部署方式选择对应的完整命令GPU、不使用 TensorRTcmake .. -G Visual Studio 16 2019 -A x64 -T hostx64 -DUSE_TENSORRTOFF -DWITH_GPUON -DWITH_MKLON -DCMAKE_BUILD_TYPERelease -DPADDLE_LIB_NAMEpaddle_inference -DCUDA_LIBC:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\lib\x64 -DOPENCV_DIRD:\projects\opencv -DPADDLE_LIBD:\projects\paddle_inference -DDEMO_NAMEtest_segGPU、使用 TensorRTcmake .. -G Visual Studio 16 2019 -A x64 -T hostx64 -DUSE_TENSORRTON -DWITH_GPUON -DWITH_MKLON -DCMAKE_BUILD_TYPERelease -DPADDLE_LIB_NAMEpaddle_inference -DCUDA_LIBC:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\lib\x64 -DOPENCV_DIRD:\projects\opencv -DPADDLE_LIBD:\projects\paddle_inference -DTENSORRT_DLLC:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\bin -DDEMO_NAMEtest_segCPU、使用 MKLcmake .. -G Visual Studio 16 2019 -A x64 -T hostx64 -DWITH_GPUOFF -DWITH_MKLON -DCMAKE_BUILD_TYPERelease -DPADDLE_LIB_NAMEpaddle_inference -DOPENCV_DIRD:\projects\opencv -DPADDLE_LIBD:\projects\paddle_inference -DDEMO_NAMEtest_segCPU、使用 OpenBlascmake .. -G Visual Studio 16 2019 -A x64 -T hostx64 -DWITH_GPUOFF -DWITH_MKLOFF -DCMAKE_BUILD_TYPERelease -DPADDLE_LIB_NAMEpaddle_inference -DOPENCV_DIRD:\projects\opencv -DPADDLE_LIBD:\projects\paddle_inference -DDEMO_NAMEtest_seg3.5 编译与执行用 Visual Studio 2019 打开cpp\build\cpp_inference_demo.sln将编译模式设置为Release点击生成→生成解决方案在cpp\build\Release文件夹内生成test_seg.exe。进入build\Release目录将模型与图片放到test_seg.exe同级目录Release ├──test_seg.exe # 可执行文件 ├──cityscapes_demo.png # 测试图片 ├──pp_liteseg_infer_model # 推理用到的模型 ├── deploy.yaml # 部署相关的配置文件主要说明数据预处理方式等信息 ├── model.pdmodel # 预测模型的拓扑结构文件 ├── model.pdiparams # 预测模型的权重文件 └── model.pdiparams.info # 参数额外信息一般无需关注 ├──*.dll # dll 文件执行推理GPU 推理test_seg.exe --model_dir./pp_liteseg_infer_model --img_path./cityscapes_demo.png --devicesGPUCPU 推理test_seg.exe --model_dir./pp_liteseg_infer_model --img_path./cityscapes_demo.png --devicesCPU预测结果保存为out_img.jpg该图片使用了直方图均衡化便于可视化。4. 示例代码 test_seg.cc 的底层执行原理C 示例程序 是整个部署方案的运行核心其完整流程可以拆解为五个阶段理解这条调用链有助于你进行二次开发1命令行参数解析gflags。程序开头定义了 8 个命令行参数这些参数与运行脚本中的--model_dir、--img_path、--devices、--use_trt、--trt_precision、--use_trt_dynamic_shape、--dynamic_shape_path、--use_mkldnn、--save_dir一一对应model_dir为空时直接LOG(FATAL)终止。2解析部署配置yaml-cpp。load_yaml()读取model_dir/deploy.yaml从Deploy.model/Deploy.params获取模型与参数文件名并扫描Deploy.transforms列表得到is_normalize、is_resize、resize_width、resize_height四个预处理开关。3图片读取与预处理OpenCV。read_process_image()使用imread读取图片并cvtColor转为 RGB若配置了Resize则按target_size缩放若配置了Normalize则先除以 255 再执行(img - 0.5) / 0.5的均值为 0.5 的归一化。随后hwc_img_2_chw_data()通过extractChannel将 HWC 布局转换为 CHW 布局的连续 float 数据并 reshape 为{1, chs, rows, cols}后经CopyFromCpu送入输入张量。4创建 PredictorPaddle Inference。create_predictor()是核心配置函数通过SetModel加载模型与权重EnableMemoryOptim开启内存优化CPU 分支按需EnableMKLDNNGPU 分支执行EnableUseGpu(100, 0)并按trt_precision调用EnableTensorRtEngine(120, 1, 3, ...)配置 fp32 / fp16 / int8 三种精度动态 shape 分支再依据dynamic_shape_path是否为空选择EnableTunedTensorRTDynamicShape读取离线 pbtxt或SetTRTDynamicShapeInfo使用内置默认范围。5推理与结果可视化。Run()完成前向GetOutputHandle拿到输出张量将输出元素总数out_num累乘计算后拷贝为int32_t对应文档强调的输出类型修改点再转为uint8_t灰度图经equalizeHist直方图均衡化后imwrite保存为out_img.jpg。5. CMake 工程要点与二次开发建议从 CMakeLists.txt 可以梳理出工程组织的关键细节这对接入自有项目很有参考价值必填参数PADDLE_LIB预测库路径与DEMO_NAME可执行文件名未设置时CMake 会直接FATAL_ERRORTENSORRT_ROOT在 Linux 下开启USE_TENSORRT AND WITH_GPU时也必须赋值依赖管理Linux 下通过find_package(yaml-cpp)、find_package(OpenCV)链接系统库并链接预测库自带的third_party/install/下的 protobuf、glog、gflags、xxhash、cryptopp、onnxruntime、paddle2onnx 以及 mklml / mkldnnWITH_MKLON或 openblasWITH_MKLOFFWindows 特殊处理通过include(cmake/yaml-cpp.cmake)在构建期自动下载编译 yaml-cppext-yaml-cpp目标通过 POST_BUILD 自定义命令自动拷贝 TensorRT 的nvinfer.dll、MKL 的mklml.dll / libiomp5md.dll / mkldnn.dll、onnxruntime 与 paddle2onnx 的 dll 以及预测库自身的 dll 到生成目录因此 Release 目录下会看到一批.dll文件静态/动态库WITH_STATIC_LIB默认 ON静态库模式会定义PD_INFER_DECL以避免 dllimport/dllexport 冲突可扩展性工程用${DEMO_NAME}.cc作为编译源文件add_executable(${DEMO_NAME} src/${DEMO_NAME}.cc)意味着你可以新增自定义.cc文件并通过-DDEMO_NAME指定不同入口实现针对新模型、新预处理逻辑的独立示例而不必改动现有代码。对于二次开发建议关注两个扩展点一是read_process_image()与load_yaml()所在的预处理段落新模型若有特殊变换如 padding、多尺度可在此扩展并与deploy.yaml的 transforms 对齐二是输出数据类型处理处std::vectorint32_t out_data(out_num);务必与model.pdmodel中实际的输出 dtype 保持一致。6. 总结PaddleSeg 的 C 部署方案以 deploy/cpp 工程为载体配合 docs/deployment/inference 下的分平台教程覆盖了 LinuxCPU / GPU Naive / GPU TRT 固定 shape / GPU TRT 动态 shape与 WindowsCPU / GPU / GPUTRT的完整部署路径。核心要点可以概括为环境先行按部署方式CPU / GPU / GPUTRT选对预测库版本并按平台安装 OpenCV、yaml-cpp、gflags、glog 等依赖模型即插即用导出预测模型deploy.yamlmodel.pdmodelmodel.pdiparams后即可运行输出 dtype 不符时仅需修改 test_seg.cc 一行TRT 动态 shape 是分割模型推荐路径分割模型内部多含动态 shape OP先用 collect_dynamic_shape.py 离线收集含最大/最小尺寸的 Shape 范围再以run_seg_gpu_trt_dynamic_shape.sh部署脚本即教程四个run_seg_*.sh脚本完整展示了编译参数与运行参数的标准组合可直接复用或作为二次开发模板。如需在 Windows 之外探索更多部署形态如 ONNX Runtime、服务化、轻量化移动端可继续阅读 docs/deployment/inference 目录下的其他文档。赞分享人工智能计算机视觉预训练【免费下载链接】PaddleSegEasy-to-use image segmentation library with awesome pre-trained model zoo, supporting wide-range of practical tasks in Semantic Segmentation, Interactive Segmentation, Panoptic Segmentation, Image Matting, 3D Segmentation, etc.项目地址https://gitcode.com/gh_mirrors/pa/PaddleSeg点击查看免费下载相关推荐PaddleSeg C 预测部署方案实战指南基于 Paddle Inference 的跨平台部署与 TensorRT 加速PaddleSeg C 预测部署方案实战指南基于 Paddle Inference 的跨平台部署与 TensorRT 加速 导读 本文系统讲解 Paddl人工智能计算机视觉预训练5 分钟用 PyTorch Hub 跑通 DINOv3视觉基础模型特征提取完整指南5 分钟用 PyTorch Hub 跑通 DINOv3视觉基础模型特征提取完整指南 DINOv3 是 Meta AI Research 发布的自监督视觉基础模人工智能计算机视觉预训练PaddleSeg 模型 C 端预测部署完整指南跨平台编译、Paddle Inference 推理与 TensorRT 加速PaddleSeg 模型 C 端预测部署完整指南跨平台编译、Paddle Inference 推理与 TensorRT 加速 文章导读 本文基于 Padd人工智能计算机视觉预训练上一篇探索Flynt为WordPress开发者打造的极速启动主题下一篇推荐文章探索PHP类型系统的新境界 —— sebastian/type库创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

Inpaint-web:免费浏览器图像修复,去水印与4倍超清
Inpaint-web:免费浏览器图像修复,去水印与4倍超清

Inpaint-web:免费浏览器图像修复,去水印与4倍超清 【免费下载链接】inpaint-web A free and open-source inpainting & image-upscaling tool powered by webgpu and wasm on the browser。| 基于 Webgpu 技术和 wasm 技术的免费开源 inpainting &am… · 2026/9/26 6:41:18

Fortran中的注册模式:用过程指针和模块化实现算法可插拔架构
Fortran中的注册模式:用过程指针和模块化实现算法可插拔架构

1. 为什么要在Fortran里搞注册模式整天讨论设计模式的帖子,很少会把Fortran这种老牌数值计算语言当成主角。但这几年我在开发结构方程求解器和气候模式参数化模块时,切切实实被“注册模式”(Registry Pattern)救过好几次。先交代背… · 2026/9/26 6:41:18

GPU矩阵加速器:重构AI计算的底层架构
GPU矩阵加速器:重构AI计算的底层架构

1. 从“显卡”到“矩阵引擎”:一场被忽视的底层架构革命你有没有试过在ComfyUI里加载一个SDXL模型,刚点下生成,GPU使用率就飙到98%,但显存只用了60%?或者跑foldseek做蛋白结构比对时,明明RTX 4090有上万CUD… · 2026/9/26 6:41:12

金融系统开发避坑指南:从对账误差到时区陷阱
金融系统开发避坑指南:从对账误差到时区陷阱

我无法基于当前输入生成符合要求的博文。原因如下:项目标题为"financial-services",这是一个高度宽泛、无具体指向的领域级术语,本身不构成一个可落地的项目或技术主题;项目正文为空,未提供任何具体场景、功… · 2026/9/26 7:11:53

蚂蚁开源SingProbe Infra:大模型安全评测与CI/CD接入实践
蚂蚁开源SingProbe Infra:大模型安全评测与CI/CD接入实践

大模型安全,很多团队还停留在“上线前跑一版敏感词过滤”的阶段,真正系统化做安全评测的少之又少。看到蚂蚁开源的 SingProbe Infra 后,我第一时间把仓库拉下来跑了一遍,也对照它已经适配的 29 个主流开源模型做了近两天的安全回归… · 2026/9/26 7:11:47

具身智能世界模型:机器人物理直觉的底层操作系统
具身智能世界模型:机器人物理直觉的底层操作系统

1. 具身智能世界模型不是“另一个大模型”,而是机器人理解物理世界的底层操作系统很多人一看到“世界模型”四个字,下意识就往大语言模型方向想——是不是又一个参数千亿的Transformer?是不是又要堆算力、喂数据、调温度?我去年在… · 2026/9/26 7:11:47

把智能装进流程:企业大模型落地的安全与编排实践
把智能装进流程:企业大模型落地的安全与编排实践

最近一个月,至少有三位企业技术负责人问过我同一个问题:竞争对手都在做"企业级大模型",我们是不是也该跟?我的回答通常是先反问一句:你准备把大模型放在业务流程的哪个位置?问完之后,… · 2026/9/26 7:11:47

AI Agent安全指南:从提示注入到权限最小化的加固实践
AI Agent安全指南:从提示注入到权限最小化的加固实践

上个月跟一个做企业服务的朋友喝茶,他抱怨说团队花了大半年做的AI agent,连续两周被客户追问“你们的系统提示词是不是被套走了”。我一看他们代码,果不其然,整个对话上下文不仅没做隔离,还把数据库密码直接写在了工具… · 2026/9/26 7:11:47

AI Agent沙箱为何失效?事件复盘与多层防护实战
AI Agent沙箱为何失效?事件复盘与多层防护实战

前两周我在内部环境跑Gemini的Agent测试,任务本身不复杂:让Agent调研三家公司公开的定价页面和技术栈信息,最后输出一份对比报告。我原本预期它会老老实实待在受控的浏览器容器里,所有出站请求都经过白名单过滤,所有动… · 2026/9/26 7:11:47

数据库课后习题答案别硬背:当测试用例集刷,效率翻倍
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍

简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21

OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 0:00:40

向下兼容与向上兼容:接口设计中的兼容性策略与工程实践
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践

一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码