人工智能大模型微调模型推理服务【免费下载链接】PaddleFormersPaddleFormers is an easy-to-use library of pre-trained large language model zoo based on PaddlePaddle.项目地址https://gitcode.com/gh_mirrors/pa/PaddleFormers点击查看免费下载导读本文围绕 PaddleFormers 仓库中modules/image/object_detection/yolov3_darknet53_coco2017这一 PaddleHub 预训练模型模块展开系统讲解基于 YOLOv3DarkNet53 骨干网络COCO2017 数据集训练的目标检测能力的安装、命令行预测、Python API 调用以及 PaddleHub Serving 在线服务化部署全流程。读完本文你将掌握该模块的全部公开 API 与参数含义理解其背后的图像预处理、推理与后处理源码实现并能够将检测能力快速集成到自己的应用中。一、模型基本信息1.1 模块速览模型名称yolov3_darknet53_coco2017类别图像 - 目标检测网络YOLOv3数据集COCO2017是否支持 Fine-tuning否模型大小239MB最新更新日期2021-02-26数据指标-该模块属于图像目标检测Object Detection任务给定一张图像或视频帧计算机需要找出其中所有目标的位置即边界框 bounding box并给出每个目标的具体类别。从仓库目录 modules/image/object_detection/README.md 可以看到目标检测的难点在于图像被编码成数字后机器很难直接理解其中人车等高层语义概念更难定位目标出现的区域这正是 YOLOv3 这类检测模型要解决的问题。1.2 模型介绍YOLOv3 是由 Joseph Redmon 和 Ali Farhadi 提出的单阶段one-stage检测器。与达到同样精度的传统目标检测方法相比其推断速度接近两倍。YOLOv3 将输入图像划分成网格并对每个格子预测 bounding box其损失函数由三部分组成Location 误差定位误差、Confidence 误差置信度误差和分类误差。本 PaddleHub Module 使用 COCO2017 数据集预训练目前仅支持预测不支持 Fine-tuning。模块的元信息定义在 module.py 中moduleinfo装饰器声明了模块名、版本1.2.0、类型CV/object_detection等信息。1.3 可检测的 80 个目标类别模型基于 COCO2017 的 80 个类别进行检测类别清单保存在 label_file.txt 中涵盖 person、bicycle、car、truck、traffic light、bird、cat、dog、horse、backpack、sports ball、bottle、wine glass、chair、tv、laptop、cell phone、book、clock、toothbrush 等日常场景目标。加载类别名的实现位于 processor.py即逐行读取该文件并去除行尾空白。二、安装与环境准备2.1 环境依赖paddlepaddle 1.6.2paddlehub 1.6.0PaddleHub 的完整安装说明可参考 安装文档。2.2 安装模块$ hub install yolov3_darknet53_coco2017如需安装指定历史版本例如移除 fluid API 后的 1.2.0 版本可使用$ hub install yolov3_darknet53_coco20171.2.0如安装时遇到问题可参考零基础环境安装指引Windows 快速开始 | Linux 快速开始 | MacOS 快速开始。三、模型 API 预测3.1 命令行预测安装完成后可以直接通过命令行方式调用目标检测$ hub run yolov3_darknet53_coco2017 --input_path /PATH/TO/IMAGE命令行方式被实现为模块的run_cmd方法见 module.py除--input_path外还支持以下参数参数类型默认值说明--input_pathstr必填待检测图片路径--batch_sizeint1batch 大小--use_gpuboolFalse是否使用 GPU 预测--output_dirstrdetection_result结果图片保存目录--visualizationboolFalse是否将结果保存为图片--score_threshfloat0.5检测置信度阈值这些参数的具体定义见 module.py。更多 PaddleHub 命令行用法请参考 PaddleHub 命令行指令。3.2 预测代码示例import paddlehub as hub import cv2 object_detector hub.Module(nameyolov3_darknet53_coco2017) result object_detector.object_detection(images[cv2.imread(/PATH/TO/IMAGE)]) # or # result object_detector.object_detection(paths[/PATH/TO/IMAGE])paths与images二选一提供数据前者传入图片文件路径列表后者直接传入 numpy 数组BGR 格式列表。3.3 预测 API 详解def object_detection(pathsNone, imagesNone, batch_size1, use_gpuFalse, output_dirdetection_result, score_thresh0.5, visualizationTrue)预测 API检测输入图片中的所有目标的位置。参数说明paths(list[str])图片的路径列表images(list[numpy.ndarray])图片数据ndarray.shape 为 [H, W, C]BGR 格式batch_size(int)batch 的大小use_gpu(bool)是否使用 GPU 预测。使用 GPU 前必须设置CUDA_VISIBLE_DEVICES环境变量否则会抛出RuntimeError见 module.pyoutput_dir(str)结果图片的保存路径默认detection_resultscore_thresh(float)识别置信度阈值低于该阈值的检测框会被过滤visualization(bool)是否将识别结果保存为图片文件。返回值res(list[dict])识别结果列表每个元素为 dict字段如下data(list)检测结果每个元素为 dictconfidence(float)识别的置信度label(str)标签类别名left(int)边界框左上角 x 坐标top(int)边界框左上角 y 坐标right(int)边界框右下角 x 坐标bottom(int)边界框右下角 y 坐标save_path(str, optional)识别结果的保存路径仅当visualizationTrue时存在3.4 模型导出 APIdef save_inference_model(dirname)将模型保存到指定路径便于在其他推理框架中加载使用。参数dirname为模型保存路径。测试用例 test.py 验证了该接口会生成model.pdmodel与model.pdiparams两个文件。四、源码级原理从输入图片到检测结果为了让读者对模块的调用链路有更深理解下面结合仓库源码梳理一次完整的前向推理流程。4.1 数据预处理reader 生成器模块的数据读取与预处理实现在 data_feed.py 的reader生成器中对每张输入图片依次执行读取与形状记录通过cv2.imread读取或直接使用传入的 ndarray记录原始im_shape并构造im_size [H, W]供后处理使用通道转换将 BGR 转换为 RGBcv2.COLOR_BGR2RGB等比缩放将图片短边/长边统一缩放到target_size 608YOLOv3 的标准输入尺寸通过im_scale_x / im_scale_y保持长宽比归一化先除以 255.0再减去均值mean [0.485, 0.456, 0.406]并除以标准差std [0.229, 0.224, 0.225]ImageNet 统计量维度置换通过两次swapaxes将 HWC 调整为模型要求的 CHW 布局最终yield [im, im_size]交给推理器。4.2 推理执行Predictor 与前向在 module.py 的_set_config中模块基于 Paddle Inference 的Config分别构建 CPU 与 GPU 两个 predictorGPU 显存池初始 500MB。object_detection方法将 reader 生成器包装成paddle.batch批读取器逐 batch 将image与im_size两个输入拷贝进输入句柄input_handle.copy_from_cpu后调用predictor.run()完成前向。4.3 后处理置信度过滤与可视化模型原始输出经过 processor.py 的postprocess函数处理通过data_out.lod()解析 batch 中每张图片对应的检测结果切片每行检测结果格式为 6 个元素category_id, confidence, xmin, ymin, xmax, ymax若confidence score_thresh则丢弃实现置信度过滤用label_names[category_id]将类别 id 映射为类别名并用clip_bbox将边界框坐标裁剪回原始图像尺寸范围内若visualizationTrue调用draw_bounding_box_on_image在图上绘制红色边界框并在框上方绘制白色底纹的label: confidence%文本最后保存到output_dir。仓库自带的单元测试 test.py 覆盖了paths、images、visualizationFalse三种调用方式断言检测到cat且置信度 0.5并验证了非法路径抛出AssertionError、非法 images 类型抛出AttributeError可作为自行验证模块可用性的参考。五、服务部署PaddleHub ServingPaddleHub Serving 可以将该模块部署为一个目标检测的在线服务方便以 HTTP 接口方式对外提供预测能力。5.1 第一步启动 PaddleHub Serving运行启动命令$ hub serving start -m yolov3_darknet53_coco2017这样就完成了一个目标检测服务化 API 的部署默认端口号为 8866。NOTE如使用 GPU 预测需要在启动服务之前设置CUDA_VISIBLE_DEVICES环境变量否则无需设置。从仓库的 Serving 命令实现paddlehub/commands/serving.py可以看到hub serving start还支持-p/--port指定端口、-i/--gpu指定 GPU 设备、--use_multiprocess开启多进程模式Windows 不支持会自动回退单进程见 serving.py以及-c/--config传入 JSON 配置文件。服务启动时会将模块信息PID、模块名、启动时间写入配置目录下的serving_port.json文件hub serving stop -p port即据此优雅停止服务。5.2 第二步发送预测请求配置好服务端后以下代码即可发送预测请求并获取结果import requests import json import cv2 import base64 def cv2_to_base64(image): data cv2.imencode(.jpg, image)[1] return base64.b64encode(data.tostring()).decode(utf8) # 发送HTTP请求 data {images: [cv2_to_base64(cv2.imread(/PATH/TO/IMAGE))]} headers {Content-type: application/json} url http://127.0.0.1:8866/predict/yolov3_darknet53_coco2017 r requests.post(urlurl, headersheaders, datajson.dumps(data)) # 打印预测结果 print(r.json()[results])服务端对应的处理入口是模块上的serving装饰方法serving_method见 module.py它接收 base64 编码的图片字符串列表通过 processor.py 中的base64_to_cv2解码还原为 numpy 图像数组再调用object_detection完成检测并返回结构化结果。六、更新历史1.0.0初始发布1.1.1修复 numpy 数据读取问题1.2.0移除 fluid API安装命令hub install yolov3_darknet53_coco20171.2.0七、小结yolov3_darknet53_coco2017是 PaddleHub 中一个开箱即用的单阶段目标检测模块基于 YOLOv3 与 DarkNet53 骨干网络在 COCO2017 上训练支持 80 类目标的检测。通过hub install、hub run命令即可快速体验通过hub.Module的object_detectionAPI 可无缝集成到 Python 项目中save_inference_model支持模型导出通过hub serving start可将检测能力封装为默认 8866 端口的 HTTP 服务。其数据预处理、前向推理与后处理逻辑在 data_feed.py、module.py 与 processor.py 中均有清晰实现读者可结合源码进一步定制自己的检测流水线。赞分享人工智能大模型微调模型推理服务【免费下载链接】PaddleFormersPaddleFormers is an easy-to-use library of pre-trained large language model zoo based on PaddlePaddle.项目地址https://gitcode.com/gh_mirrors/pa/PaddleFormers点击查看免费下载相关推荐PaddleHub YOLOv3-ResNet50-vd COCO2017 目标检测模块安装、API 预测与服务化部署实战PaddleHub YOLOv3 ResNet50 vd COCO2017 目标检测模块安装、API 预测与服务化部署实战 本文以 PaddleFormers人工智能大模型微调模型推理服务使用 PaddleHub 的 yolov3_darknet53_coco2017 模块进行目标检测安装、预测 API 与 Serving 部署全指南使用 PaddleHub 的 yolov3_darknet53_coco2017 模块进行目标检测安装、预测 API 与 Serving 部署全指南 本指南以人工智能大模型微调模型推理服务PaddleHub 目标检测实战YOLOv3 系列预训练模型COCO2017 / 行人 / 车辆从预测到服务化部署PaddleHub 目标检测实战YOLOv3 系列预训练模型COCO2017 / 行人 / 车辆从预测到服务化部署 本篇技术指南以 modules/ima人工智能大模型微调模型推理服务上一篇Bilibili-Evolved快捷键配置优化指南从冲突排查到个性化定制下一篇Koalageddon5步解锁全平台游戏DLC的完整实战指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
企业数字化 ERP 产品动态
相关推荐
12kW全GaN AIDC电源:三电平架构与磁集成技术解析 /* 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 15:23:26
Jetson AGX Orin性能榨干指南:MAXN模式与jetson_clocks实战 /* 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 15:23:20
Redwood 集成第三方 API 完整实战:从客户端直连到 GraphQL 服务端代理 后端前端Web框架开发工具 【免费下载链接】redwood RedwoodGraphQL 项目地址: https://gitcode.com/gh_mirrors/re/redwood 点击查看 免费下载 Redwood 应用时常需要消费非自有来源的数据,本文以「输入美国邮编查询当前天气」为例,完整演示在… · 2026/9/24 15:56:02
Python新闻网站项目-3.Gerapy爬虫分布式部署 这篇文章详细记录了一个基于Python语言开发的新闻爬取和管理系统的项目历程,通过对Scrapy、Gerapy、Django等多种工具的综合运用,成功实现了新闻内容的自动抓取、处理、展示以及系统管理。整个项目框架围绕Django搭建,凭借Scrapy和Gerapy实现分布式爬虫数据获取,并且借助Dj… · 2026/9/24 15:55:43
Python新闻网站项目-4.数据处理和算法应用 基于Python、Scrapy、Gerapy、NLP以及Django框架构建的新闻采集与展示系统,旨在实现自动化新闻抓取、处理、展示和管理的一体化解决方案。本项目结合了爬虫技术、分布式部署、数据处理、前后端展示以及内容管理系统的构建,最终形成一个功能全面、用户友好的新闻网站。该系统不… · 2026/9/24 15:55:43
Python新闻网站项目-1.项目分析与产品设计 我的第一个 Django开发项目,虽然完整代码已经经过时间的流失已经遗失,还是当时有记笔记的习惯,留存至今。
Django在现代Web开发中的地位显著,特别是在构建数据密集型的动态网站时具有独特优势。在此项目的实践中,借助Django构建了一个新闻网站,覆盖从新闻数据的抓取到分… · 2026/9/24 15:55:37
Python新闻网站项目-2.Scrapy爬虫的配置和数据抓取 在构建完整的新闻网站系统中,通过高效的自动化数据抓取技术和全面的内容管理系统架构,能使网站具备实时更新和管理的功能,成为多功能新闻信息平台。
本项目综合应用了Scrapy和Gerapy技术,构建分布式爬虫系统,结合Django框架实现前后端展示和内容管理,通过分步的功能开发… · 2026/9/24 15:55:37
基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程 简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为… · 2026/9/24 0:00:13
1D-CNN时间序列建模实战:从Conv1d原理到工业落地 简介:面向时间序列数据建模的一维卷积神经网络完整实现,适合深度学习入门者及需要快速验证时序模型的研究者,能够从音频、文本、传感器或股价等序列中挖掘局部特征与时间依赖。压缩包体积很小,只有3KB,内含3个Python脚… · 2026/9/24 0:00:26
柔软的L:汉语语流中被忽视的舌肌张力控制 1. 这个“L”不是字母表里的L,而是舌尖上的L最近在几个方言群和语音教学社群里,反复看到有人发一句:“也说字母L:柔软的长舌”。初看以为是英语发音课笔记,点开才发现全是方言爱好者、播音系学生、语言康复师甚至戏曲演… · 2026/9/24 0:00:44