PaddleDetection 全场景高性能部署指南:基于 FastDeploy 的云边端推理实践
人工智能深度学习计算机视觉【免费下载链接】PaddleDetectionObject Detection toolkit based on PaddlePaddle. It supports object detection, instance segmentation, multiple object tracking and real-time multi-person keypoint detection.项目地址https://gitcode.com/gh_mirrors/pa/PaddleDetection点击查看免费下载本指南以 PaddleDetection 仓库 deploy/fastdeploy 下的部署文档为骨架系统讲解如何借助 FastDeploy 将 PaddleDetection 训练出的检测、实例分割与关键点模型部署到 X86 CPU、NVIDIA GPU、飞腾/ARM CPU、Intel GPU、昆仑、昇腾、瑞芯微、晶晨、算能等 10 余类硬件上并覆盖模型导出、Python/C 示例、服务化部署、量化部署与常见问题。读完本文你将掌握一条从训练好的 PaddleDetection 模型到可对外提供推理服务的生产部署链路的完整实操路径。1. FastDeploy 是什么面向 PaddleDetection 的全场景推理部署工具FastDeploy 是一款面向 AI 推理部署的工具定位是全场景、易用灵活、极致高效支持云、边、端三类部署形态。对 PaddleDetection 用户而言它的核心价值在于同一套 API 与同一份导出模型可以在不同硬件上以不同推理后端运行而无需为每种硬件单独编写推理代码。从仓库目录结构看deploy/fastdeploy 下按硬件平台组织了完整示例cpu-gpu/X86 CPU、NVIDIA GPU、飞腾 CPU、ARM CPU、Intel GPU集成/独立显卡的 Python 与 C 部署示例kunlunxin/昆仑芯K100/K200、R200 等加速卡部署示例ascend/华为昇腾部署示例rockchip/瑞芯微 RKNPU2 与 RV1126 部署示例amlogic/晶晨 A311D 部署示例Csophgo/算能部署示例serving/服务化部署基于 FastDeploy Servingquantize/量化模型部署与模型自动化压缩说明。FastDeploy 在推理时支持多种后端引擎包括 Paddle Inference、Paddle Lite、TensorRT、OpenVINO、ONNXRuntime、RKNPU2、SOPHGO 等因此同一份 PaddleDetection 模型可以按部署环境灵活选择后端例如 GPU 上选 TensorRT、CPU 上选 ONNXRuntime 或 OpenVINO、边缘盒子选 RKNPU2。2. 硬件支持总览与各平台使用入口主文档 deploy/fastdeploy/README.md 给出了完整硬件支持矩阵整理如下硬件类型是否支持使用指南仓库路径PythonCX86 CPU✅deploy/fastdeploy/cpu-gpu✅✅NVIDIA GPU✅deploy/fastdeploy/cpu-gpu✅✅飞腾 CPU✅deploy/fastdeploy/cpu-gpu✅✅ARM CPU✅deploy/fastdeploy/cpu-gpu✅✅Intel GPU集成显卡✅deploy/fastdeploy/cpu-gpu✅✅Intel GPU独立显卡✅deploy/fastdeploy/cpu-gpu✅✅昆仑✅deploy/fastdeploy/kunlunxin✅✅昇腾✅deploy/fastdeploy/ascend✅✅瑞芯微✅deploy/fastdeploy/rockchip✅✅晶晨✅deploy/fastdeploy/amlogic-✅算能✅deploy/fastdeploy/sophgo✅✅各硬件目录内部都遵循统一的组织约定顶层 README 说明该硬件支持范围与模型列表python/与cpp/子目录分别提供推理示例。例如 CPU/GPU 平台下Python 示例位于 deploy/fastdeploy/cpu-gpu/pythonC 示例位于 deploy/fastdeploy/cpu-gpu/cpp瑞芯微 RKNPU2 的示例则在 deploy/fastdeploy/rockchip/rknpu2。除了上述各硬件平台主文档还列出了更多部署形态Android ARM CPU 部署通过 FastDeploy Java Android 示例服务化 Serving 部署基于 FastDeploy Serving 镜像提供 HTTP/gRPC 服务web 部署模型自动化压缩工具对模型进行量化压缩后部署。3. 部署模型从哪里来预导出模型与自行导出两种途径3.1 直接使用预导出模型快速验证为方便开发者快速验证各平台文档提供了 FastDeploy 预导出的 PaddleDetection 模型可直接下载解压使用。以 deploy/fastdeploy/cpu-gpu/README.md 中列出的目标检测与实例分割模型为例精度指标均来源于 PaddleDetection 对应模型介绍此处节选模型参数大小精度备注picodet_l_320_coco_lcnet23MBBox AP 42.6%-ppyoloe_crn_l_300e_coco200MBBox AP 51.4%-ppyoloe_plus_crn_m_80e_coco83.3MBBox AP 49.8%-ppyolo_r50vd_dcn_1x_coco180MBBox AP 44.8%暂不支持 TensorRTyolov3_darknet53_270e_coco237MBBox AP 39.1%-yolox_s_300e_coco35MBBox AP 40.4%-faster_rcnn_r50_vd_fpn_2x_coco160MBBox AP 40.8%暂不支持 TensorRTmask_rcnn_r50_1x_coco128MBox AP 37.4%, Mask AP 32.8%暂不支持 TensorRT、ORTcascade_rcnn_r50_fpn_1x_coco271MBox AP 41.1%暂不支持 TensorRT、ORTfcos_r50_fpn_1x_coco129MBox AP 39.6%暂不支持 TensorRTgfl_r50_fpn_1x_coco128MBox AP 41.0%暂不支持 TensorRTtood_r50_fpn_1x_coco130MBox AP 42.5%暂不支持 TensorRT、ORTretinanet_r50_fpn_1x_coco136MBox AP 37.5%暂不支持 TensorRT、ORT此外还提供 PP-TinyPose 关键点检测模型PP-TinyPose-128x96、PP-TinyPose-256x192以及PicoDet 行人检测 PP-TinyPose串联配置用于单人/多人关键点检测场景。需要注意的是表中标注暂不支持 TensorRT、ORT的模型意味着该模型在原生 TensorRT 或 ONNX Runtime 后端上有算子兼容限制部署时应选择其他后端如 Paddle Inference。3.2 自行导出 PaddleDetection 部署模型如果你的模型不在预导出列表中需要自行导出。导出命令参考仓库根目录下的 deploy/EXPORT_MODEL.md。导出的模型包含三个文件model.pdmodel静态图模型结构model.pdiparams模型权重参数infer_cfg.yml部署配置FastDeploy 会从该 yaml 中解析模型推理时需要的预处理信息如归一化 mean/std、输入尺寸、NMS 参数等。主文档明确给出三条导出须知务必遵守否则部署会出错导出模型时不要做去除 NMS 的操作正常导出即可如果打算跑原生 TensorRT 后端非 Paddle Inference 后端不要加--trt参数导出时不要添加fuse_normalizeTrue参数。从仓库看PaddleDetection 支持导出的模型系列覆盖非常广包括 PP-YOLOE含 PP-YOLOE、PicoDet、PP-YOLO含 v2、YOLOv3、YOLOX、Faster RCNN、Mask RCNN、SSD、Cascade RCNN、RetinaNet、FCOS、TTFNet、TOOD、GFL、PPYOLOESOD 等其训练配置分别位于 configs/ppyoloe、configs/picodet、configs/faster_rcnn、configs/mask_rcnn、configs/ssd 等目录下可对照选择。4. CPU/GPU 平台实战Python 部署示例以最通用的 CPU/GPU 平台为例deploy/fastdeploy/cpu-gpu/python/README.md 提供了以 PP-YOLOE 为范例的完整流程。文档特别强调FastDeploy 支持的模型系列其构造函数和预测函数的参数完全一致只需参考 PP-YOLOE 的示例即可快速调用其他所有模型。4.1 环境与模型准备确认软硬件环境安装 FastDeploy 预编译库版本要求 1.0.4准备推理模型使用预导出模型或按上文 3.2 节自行导出。4.2 目标检测推理命令# 下载部署示例代码若当前分支找不到 fastdeploy 测试代码请切换到 develop 分支 git clone https://github.com/PaddlePaddle/PaddleDetection.git cd PaddleDetection/deploy/fastdeploy/cpu-gpu/python # 下载 PPYOLOE 模型文件和测试图片 wget https://bj.bcebos.com/paddlehub/fastdeploy/ppyoloe_crn_l_300e_coco.tgz wget https://gitee.com/paddlepaddle/PaddleDetection/raw/release/2.4/demo/000000014439.jpg tar xvf ppyoloe_crn_l_300e_coco.tgz # CPU 推理 python infer.py --model_dir ppyoloe_crn_l_300e_coco --image_file 000000014439.jpg --device cpu # GPU 推理 python infer.py --model_dir ppyoloe_crn_l_300e_coco --image_file 000000014439.jpg --device gpu # GPU 上 Paddle-TensorRT 推理 # 注意TensorRT 推理第一次运行时有序列化模型的操作会耗时需要耐心等待 python infer.py --model_dir ppyoloe_crn_l_300e_coco --image_file 000000014439.jpg --device gpu --use_trt True4.3 关键点检测推理命令cd PaddleDetection/deploy/fastdeploy/cpu-gpu/python # 下载 PP-TinyPose 模型文件和测试图片 wget https://bj.bcebos.com/paddlehub/fastdeploy/PP_TinyPose_256x192_infer.tgz tar -xvf PP_TinyPose_256x192_infer.tgz wget https://bj.bcebos.com/paddlehub/fastdeploy/hrnet_demo.jpg # CPU 推理 python pptinypose_infer.py --model_dir PP_TinyPose_256x192_infer --image_file hrnet_demo.jpg --device cpu # GPU 推理 python pptinypose_infer.py --model_dir PP_TinyPose_256x192_infer --image_file hrnet_demo.jpg --device gpu # GPU 上 Paddle-TensorRT 推理 python pptinypose_infer.py --model_dir PP_TinyPose_256x192_infer --image_file hrnet_demo.jpg --device gpu --use_trt True多人关键点检测需要行人检测 关键点串联可参考 deploy/fastdeploy/cpu-gpu/python/det_keypoint_unite 下的 Pipeline 示例。4.4 命令行参数说明deploy/fastdeploy/cpu-gpu/python/README.md 给出了 infer.py 的参数定义整理如下参数含义默认值--model_dir指定模型文件夹所在路径None--image_file指定测试图片所在路径None--device指定硬件类型支持[cpu, gpu]设为 cpu 时可运行在 x86 cpu/arm cpu 等 CPU 上cpu--use_trt是否使用 TensorRT仅在 device 为 gpu 时有效False对应 infer.py 的源码可以看到--use_trt通过ast.literal_eval解析为布尔值当启用 TRT 时代码先option.use_paddle_infer_backend()并打开paddle_infer_option.enable_trt再通过trt_option.set_shape显式设置输入张量image[1,3,640,640]与scale_factor[1,2]的 min/max/opt 三个维度——这正是 TensorRT 引擎构建所需的输入 shape 信息也是 PP-YOLOE 这类带scale_factor输入的模型在 TensorRT 后端必须配置的原因。若想使用原生 TensorRT 而非 Paddle-TensorRT源码注释提示可改用option.use_trt_backend()。4.5 Python 推理接口一览所有检测模型的构造函数签名统一为以 PPYOLOE 为例fastdeploy.vision.detection.PPYOLOE(model_file, params_file, config_file, runtime_optionNone, model_formatModelFormat.PADDLE)其中model_file、params_file对应导出的model.pdmodel与model.pdiparamsconfig_file对应infer_cfg.yml。同签名模型包括PicoDet、PaddleYOLOX、YOLOv3、PPYOLO、FasterRCNN、MaskRCNN、SSD、PaddleYOLOv5/v6/v7、RTMDet、CascadeRCNN、PSSDet、RetinaNet、PPYOLOESOD、FCOS、TTFNet、TOOD、GFL等。关键点检测模型为fastdeploy.vision.keypointdetection.PPTinyPose(model_file, params_file, config_file, runtime_optionNone, model_formatModelFormat.PADDLE)从 infer.py 可以看到完整的推理骨架构造RuntimeOption按 device/trt 参数配置→ 组装三个模型文件路径 → 实例化模型并校验Initialized()→model.predict(im)得到DetectionResult→fd.vision.vis_detection(im, result, score_threshold0.5)可视化并保存visualized_result.jpg。5. CPU/GPU 平台实战C 部署示例C 部署流程位于 deploy/fastdeploy/cpu-gpu/cpp同样要求 FastDeploy 版本 1.0.4并且所有模型类构造/预测接口参数一致。5.1 编译与运行# 下载 FastDeploy 预编译库在 FastDeploy 预编译库页面选择合适版本 wget https://bj.bcebos.com/fastdeploy/release/cpp/fastdeploy-linux-x64-gpu-x.x.x.tgz tar xvf fastdeploy-linux-x64-gpu-x.x.x.tgz cd PaddleDetection/deploy/fastdeploy/cpu-gpu/cpp # 编译部署示例 mkdir build cd build mv ../fastdeploy-linux-x64-gpu-x.x.x . cmake .. -DFASTDEPLOY_INSTALL_DIR${PWD}/fastdeploy-linux-x64-gpu-x.x.x make -j # 下载 PPYOLOE 模型与测试图片 wget https://bj.bcebos.com/paddlehub/fastdeploy/ppyoloe_crn_l_300e_coco.tgz wget https://gitee.com/paddlepaddle/PaddleDetection/raw/release/2.4/demo/000000014439.jpg tar xvf ppyoloe_crn_l_300e_coco.tgz # CPU 推理 ./infer_demo ./ppyoloe_crn_l_300e_coco 000000014439.jpg 0 # GPU 推理 ./infer_demo ./ppyoloe_crn_l_300e_coco 000000014439.jpg 1 # GPU TensorRT 推理首次运行含序列化耗时 ./infer_demo ./ppyoloe_crn_l_300e_coco 000000014439.jpg 2关键点检测示例使用infer_tinypose_demo PP_TinyPose_256x192_infer hrnet_demo.jpg 0/1/2三个数字分别表示 CPU、GPU、GPUTensorRT 三种运行模式。上述命令适用于 Linux 或 macOSWindows 下使用 C SDK 的方式请参考 FastDeploy 官方 FAQ。5.2 C 接口与实现要点C 侧模型构造函数同样统一例如fastdeploy::vision::detection::PPYOLOE(const string model_file, const string params_file, const string config_file, const RuntimeOption runtime_option RuntimeOption(), const ModelFormat model_format ModelFormat::PADDLE);infer.cc 展示了三种运行模式的组织方式CpuInfer使用option.UseCpu()GpuInfer使用option.UseGpu()TrtInfer则在UseGpu()基础上调用option.UsePaddleInferBackend()并设置paddle_infer_option.enable_trt true、collect_trt_shape true再通过trt_option.SetShape指定image与scale_factor的输入 shape与 Python 示例一一对应。每个函数都包含model.Initialized()校验与model.Predict(im, res)调用最终用fastdeploy::vision::VisDetection(im, res, 0.5)可视化保存为vis_result.jpg。main根据第三个命令行参数0/1/2分发到三种推理函数这段源码可以作为移植到自有 C 工程的模板。C 侧额外支持SOLOv2实例分割模型接口同样为fastdeploy::vision::detection::SOLOv2(...)。6. 其他硬件平台部署要点6.1 昆仑芯kunlunxindeploy/fastdeploy/kunlunxin/README.md 说明支持昆仑 818-100推理芯片与 818-300训练芯片设备包括 K100/K200 昆仑 AI 加速卡与 R200 昆仑芯 AI 加速卡。其预导出模型列表与 CPU/GPU 平台基本一致Python 与 C 示例分别在 deploy/fastdeploy/kunlunxin/python 与 deploy/fastdeploy/kunlunxin/cpp。6.2 华为昇腾ascenddeploy/fastdeploy/ascend/README.md 支持在昇腾上快速部署检测模型预导出模型列表与 CPU/GPU 一致示例位于 deploy/fastdeploy/ascend/python 与 deploy/fastdeploy/ascend/cpp。6.3 瑞芯微 RKNPU2rockchipRKNPU2 是高性能的 Rockchip NPU 访问接口支持 RK3566/RK3568、RK3588/RK3588S、RV1103/RV1106 等硬件已在 RKNPU2 上通过测试的 PaddleDetection 模型包括 PicoDet、PPYOLOEint8、YOLOV8。与通用平台不同RKNPU2 部署需要模型转换Paddle 静态图模型通过paddle2onnx转为 ONNX导出时需设置export.nmsTrue因为 RKNPU2 不支持 NMS输出节点必须裁剪到 NMS 之前同时受 RKNPU2 Div 算子限制输出节点需裁剪到 Div 算子之前使用python -m paddle2onnx.optimize固定输入 shape例如{image:[1,3,416,416], scale_factor:[1,2]}编写 yaml 配置如需在 NPU 上执行 normalize配置 mean/std如 mean[123.675, 116.28, 103.53]、std[58.395, 57.12, 57.375]输出节点名需用 Netron 可视化模型后找到 NonMaxSuppression 节点之前的算子名填入outputs_nodes例如[p2o.Mul.179, p2o.Concat.9]通过tools/rknpu2/export.py --config_path ... --target_platform rk3588将 ONNX 转为 RKNN 模型。详细示例位于 deploy/fastdeploy/rockchip/rknpu2 下的cpp/与python/子目录。6.4 晶晨amlogic与算能sophgo晶晨 A311D 提供 C 部署示例位于 deploy/fastdeploy/amlogic/a311d/cpp包含 CMakeLists、infer.cc与run_with_adb.sh可通过 adb 推送运行算能平台提供 Python 与 C 示例位于 deploy/fastdeploy/sophgo。7. 服务化部署基于 FastDeploy Serving当需要把检测模型封装为可对外提供 HTTP/gRPC 的服务时可使用 deploy/fastdeploy/serving/README.md 介绍的服务化部署方案。该文档以 PP-YOLOEppyoloe_crn_l_300e_coco为例其他 PaddleDetection 模型只需替换模型与配置名即可。7.1 目录结构与模型放置服务目录包含models/下的四个子目录preprocess预处理、runtime模型运行时、postprocess后处理、ppdet模型配置。启动前需要把模型文件与配置文件放到约定位置cd PaddleDetection/deploy/fastdeploy/serving # 下载 PPYOLOE 模型 wget https://bj.bcebos.com/paddlehub/fastdeploy/ppyoloe_crn_l_300e_coco.tgz tar xvf ppyoloe_crn_l_300e_coco.tgz # 将 infer_cfg.yml 放入预处理目录 mv ppyoloe_crn_l_300e_coco/infer_cfg.yml models/preprocess/1/ # 将模型放入 models/runtime/1 目录并重命名为 model.pdmodel / model.pdiparams mv ppyoloe_crn_l_300e_coco/model.pdmodel models/runtime/1/model.pdmodel mv ppyoloe_crn_l_300e_coco/model.pdiparams models/runtime/1/model.pdiparams # 将 ppdet 和 runtime 下的 ppyoloe 配置重命名为标准 config.pbtxt # 其他模型如 faster_rcnn 则将 faster_rcnn_config.pbtxt 重命名为 config.pbtxt cp models/ppdet/ppyoloe_config.pbtxt models/ppdet/config.pbtxt cp models/runtime/ppyoloe_runtime_config.pbtxt models/runtime/config.pbtxt注意mask_rcnn 模型多一个输出需要将后处理目录models/postprocess中的mask_config.pbtxt重命名为config.pbtxt。仓库中 models/ppdet 提供了 faster_rcnn、mask_rcnn、ppyolo、ppyoloe 四套 pbtxt 模板models/runtime 下则有对应的 runtime 配置模板可直接参考替换。7.2 拉取镜像并启动服务# GPU 镜像 docker pull registry.baidubce.com/paddlepaddle/fastdeploy:x.y.z-gpu-cuda11.4-trt8.4-21.10 # CPU 镜像 docker pull paddlepaddle/fastdeploy:z.y.z-cpu-only-21.10 # 运行容器容器名为 fd_serving挂载当前目录到容器的 /serving 目录 nvidia-docker run -it --nethost --name fd_serving --shm-size1g -v pwd/:/serving \ registry.baidubce.com/paddlepaddle/fastdeploy:x.y.z-gpu-cuda11.4-trt8.4-21.10 bash # 启动服务不设置 CUDA_VISIBLE_DEVICES 时拥有所有 GPU 的调度权限 CUDA_VISIBLE_DEVICES0 fastdeployserver --model-repository/serving/models服务启动成功后会有如下输出表示 HTTP8000、gRPC8001与 Metrics8002端口均已就绪I0928 04:51:15.784517 206 grpc_server.cc:4117] Started GRPCInferenceService at 0.0.0.0:8001 I0928 04:51:15.785177 206 http_server.cc:2815] Started HTTPService at 0.0.0.0:8000 I0928 04:51:15.826578 206 http_server.cc:167] Started Metrics Service at 0.0.0.0:8002若启动时报Address already in use可改用--grpc-port指定端口并同步修改客户端示例中的请求端口号其他启动参数可用fastdeployserver --help查看。客户端请求示例见 paddledet_grpc_client.py配合tritonclient[all]依赖即可发送 gRPC 请求。8. 量化模型部署与自动化压缩deploy/fastdeploy/quantize/README.md 说明 FastDeploy 支持部署量化模型并提供一键模型自动化压缩工具用户输入一个配置文件即可对模型完成量化随后像部署 FP32 模型一样部署量化模型。量化模型的部署流程与 FP32 基本一致只是模型是否量化的区别若某硬件在量化部署上有特殊处理各硬件文档会特别标明。仓库中的 Benchmark 数据以 ppyoloe_crn_l_300e_coco 量化蒸馏训练模型为例测试环境为 Intel Xeon Gold 6271C 单线程 CPU、Tesla T4 GPU、TensorRT 8.4.15显示在 TensorRT 后端上 INT8 量化可将 Runtime 时延从 FP32 的 27.90ms 降到 6.39ms加速比约 4.67 倍同时 mAP 从 51.4 仅降至 50.7端到端含前后处理时延则从 35.75ms 降到 15.42ms加速比约 2.32 倍。需要说明的是这些数据是文档给出的特定环境测量值实际加速效果取决于硬件、模型与量化配置。另外文档指出TensorRT 比 Paddle-TensorRT 快的原因是在 runtime 中移除了 multiclass_nms3 算子INT8FP16 组合指推理 INT8 量化模型的同时开启 FP16 推理INT8FP16PM 则额外开启 Pinned Memory 以加速 GPU→CPU 数据拷贝。量化模型部署同样覆盖 X86 CPU、NVIDIA GPU、飞腾/ARM CPU、Intel GPU、昆仑等硬件平台参考链接与 FP32 部署相同。9. 常见问题与排查思路主文档建议遇到问题时按以下顺序排查先查阅 FastDeploy 的常见问题集合再搜索 FastDeploy issue 仓库若无匹配可提交新 issue。仓库内各平台文档也沉淀了高频问题例如TensorRT 首次运行慢TensorRT 首次推理需要序列化/构建引擎耗时较长属正常现象如何切换推理后端同一份模型可通过RuntimeOption在 Paddle Inference、TensorRT、ONNX Runtime、OpenVINO 等后端间切换CPU/GPU 部署文档的 FAQ 一节对此有专门说明Intel GPU 使用Intel 集成/独立显卡的启用有专门的教程与运行时要求RKNPU2 转换失败需确认输出节点裁剪到 NMS/Div 之前且 normalize 参数与模型训练配置一致服务端口冲突Address already in use时使用--grpc-port更换端口。10. 小结一条从训练到生产的完整部署链路综合以上内容PaddleDetection FastDeploy 的部署链路可以总结为四步模型准备直接下载预导出模型或使用tools/export_model.py导出model.pdmodel、model.pdiparams、infer_cfg.yml三件套导出时保留 NMS、不加--trt、不加fuse_normalize环境准备安装对应平台的 FastDeploy 预编译库版本 1.0.4或拉取 Serving 镜像选择部署形态单机推理选 Python/C 示例服务化选 Serving边缘端按硬件选 RKNPU2/晶晨/算能等示例所有检测模型类接口参数一致可套用 PP-YOLOE 模板快速切换性能优化GPU 上开启 TensorRT或在精度允许范围内使用自动化压缩工具量化模型以获得加速。无论目标是云端的 TensorRT 加速推理、服务化的 HTTP/gRPC 接口还是边缘盒子上的 NPU 部署本仓库 deploy/fastdeploy 下的文档与示例代码都提供了可复用的落地模板是 PaddleDetection 模型生产化部署的首选参考入口。赞分享人工智能深度学习计算机视觉【免费下载链接】PaddleDetectionObject Detection toolkit based on PaddlePaddle. It supports object detection, instance segmentation, multiple object tracking and real-time multi-person keypoint detection.项目地址https://gitcode.com/gh_mirrors/pa/PaddleDetection点击查看免费下载相关推荐基于 FastDeploy 的 PaddleDetection 昆仑芯 XPU Python 部署实战指南基于 FastDeploy 的 PaddleDetection 昆仑芯 XPU Python 部署实战指南 本指南以 PaddleDetection 仓库 de人工智能深度学习计算机视觉PaddleDetection 基于 RKNPU2 的 C 端侧部署实战以 PPYOLOE 为例FastDeployPaddleDetection 基于 RKNPU2 的 C 端侧部署实战以 PPYOLOE 为例FastDeploy PaddleDetection人工智能深度学习计算机视觉PaddleDetection 服务化部署基于 FastDeploy Serving 的完整实操指南PaddleDetection 服务化部署基于 FastDeploy Serving 的完整实操指南 本文以 PP YOLOE 模型 ppyoloe_crn人工智能深度学习计算机视觉创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

深入解析HttpServletRequest:Java Web开发核心接口

深入解析HttpServletRequest:Java Web开发核心接口

1. HttpServletRequest 核心概念解析HttpServletRequest 是 Java Servlet 规范中最重要的接口之一,它代表了客户端发起的 HTTP 请求。作为一个在 Web 开发领域摸爬滚打多年的老手,我见过太多开发者对这个基础组件理解不够深入而踩坑的情况。今天我们就来…

2026/9/23 4:58:30 阅读更多 →
在4张A800上跑DeepSeek-V4-Flash-Vision系列[9]:视觉链路问题修复

在4张A800上跑DeepSeek-V4-Flash-Vision系列[9]:视觉链路问题修复

09 视觉链路:从"能读图"到"崩不了" SGLang v0.5.16 原生没有任何 DSV4 视觉支持,模型注册里只有纯文本的 DeepseekV4ForCausalLM,加载带视觉张量的 checkpoint 必然 KeyError: aligner.gate_up_proj.weight。所以视觉不…

2026/9/23 4:58:30 阅读更多 →
OpenWiki 实践指南:用 Markdown 与 CLI 构建 AI Agent 知识底座

OpenWiki 实践指南:用 Markdown 与 CLI 构建 AI Agent 知识底座

1. 从命令行到知识库:OpenWiki 到底解决了什么问题第一次听到 OpenWiki 这个名字,很多人会下意识觉得它又是一个“维基百科的克隆”或者“文档站生成器”。但真正用过一段时间之后,你会发现它瞄准的痛点其实非常具体:团队和个人的…

2026/9/23 4:58:29 阅读更多 →

最新新闻

小米解锁工具Fastboot连接失败?驱动安装与排错全指南

小米解锁工具Fastboot连接失败?驱动安装与排错全指南

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

2026/9/24 10:02:03 阅读更多 →
AI Coding 时代下,我的技术面试实践分享

AI Coding 时代下,我的技术面试实践分享

从年初到现在,大家在 AI Coding 时代的工作方式已经有了很大变化,但我当时在社区交流时发现,大家的面试方式似乎没有相应调整。正好今年五六月开始,我作为面试官进行了多场面试。在这个过程中也尝试调整了一些面试方式。以下是我从…

2026/9/24 10:02:03 阅读更多 →
Swagger-Codegen Java(Jersey 1)客户端详解:AnotherFakeApi 与 testSpecialTags 的生成与调用

Swagger-Codegen Java(Jersey 1)客户端详解:AnotherFakeApi 与 testSpecialTags 的生成与调用

开发工具代码生成API设计 【免费下载链接】swagger-codegen swagger-codegen contains a template-driven engine to generate documentation, API clients and server stubs in different languages by parsing your OpenAPI / Swagger definition. 项目地址: http…

2026/9/24 10:02:03 阅读更多 →
2026企业AI办公工具选型指南:从场景匹配评估AI工作平台

2026企业AI办公工具选型指南:从场景匹配评估AI工作平台

企业在采购AI办公工具时,很容易陷入功能清单对比的误区。很多数字化负责人会直接统计工具具备多少项能力,或是以单次对话的效果作为评判依据,也有团队会单纯依据报价、品牌知名度做决策。这类评估方式容易造成采购后的落地断层:工…

2026/9/24 10:02:03 阅读更多 →
Linux内核参数调优实战:从/proc/sys到sysctl全面解析

Linux内核参数调优实战:从/proc/sys到sysctl全面解析

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

2026/9/24 10:02:03 阅读更多 →
Juniper SRX防火墙HA双机配置实战:Chassis Cluster部署与切换验证

Juniper SRX防火墙HA双机配置实战:Chassis Cluster部署与切换验证

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

2026/9/24 10:01:02 阅读更多 →

日新闻

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为…

2026/9/24 0:00:19 阅读更多 →
单细胞注释实战:基于Scanpy的标记基因与参考映射流程解析

单细胞注释实战:基于Scanpy的标记基因与参考映射流程解析

简介:一份基于单细胞RNA测序数据的细胞类型注释算法研究Python毕业设计源码,针对计算机相关专业正在做毕设或需要项目实战的学习者,可用于课程设计与期末大作业。项目代码完整、经导师指导评审通过,可直接运行,覆盖数据…

2026/9/24 0:00:19 阅读更多 →
C#源生成器实战:用增量生成器替代反射,告别AOT崩溃

C#源生成器实战:用增量生成器替代反射,告别AOT崩溃

第一次在项目里被反射卡住,是在一个老旧的WinForms模块里:几十个类依赖PropertyChanged通知,运行时反射读属性、发通知,每次启动慢半拍不说,一上.NET Native/AOT裁剪模式几乎全面崩盘。后来我把这段逻辑全部改成C#源生…

2026/9/24 0:00:19 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/23 4:55:02 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/24 9:10:42 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/23 9:53:41 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/23 9:53:40 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/23 9:53:40 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/23 9:53:40 阅读更多 →