人工智能大模型微调模型推理服务【免费下载链接】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 仓库中的rexnet_1_5_imagenet图像分类模块展开系统讲解该预训练模型的安装方式、命令行与 Python API 预测方法、基于 PaddleHub Trainer 的完整 Fine-tune 流程含数据预处理、数据集加载、优化器配置与 checkpoint 管理以及如何通过 PaddleHub Serving 将分类模型部署为在线 HTTP 服务。读完本文你将掌握从单张图片分类到自定义数据集微调再到服务化上线的完整技术链路并能结合仓库源码理解其底层实现原理。一、模型基本信息1.1 模块速览项目内容模型名称rexnet_1_5_imagenet类别图像-图像分类网络ReXNet数据集ImageNet-2012是否支持 Fine-tuning是模型大小57MB指标-最新更新日期2021-09-141.2 模型介绍ReXNetRevisiting and Improving ConvNets由 NAVER AI Lab 提出是一套基于新的网络设计原则设计的网络。作者针对现有网络中具有代表性的表征瓶颈Representative Bottleneck问题提出了一套系统化的设计原则常规的网络设计会产生表征瓶颈从而影响模型性能。为研究该问题作者对由一万个随机网络生成的特征矩阵秩进行了统计分析并进一步研究了整个网络的通道配置以设计更准确的网络架构。最终提出了一套简单有效的设计原则来缓解表征瓶颈从而在相近计算量下获得更好的分类精度。仓库中以width_mult1.5的配置实现了 ReXNet-V1 变体即1.5的来历权重使用 ImageNet-2012 数据集预训练完整实现位于 module.py。1.3 源码中的网络结构要点从 module.py 的ReXNetV1类实现可以看到该模型的核心设计线性瓶颈模块LinearBottleneck当 expansion 系数t ! 1时先用1x1卷积升维并接 Swish 激活再做3x3深度可分离卷积num_groupdw_channels可选地插入 SE 模块最后用1x1卷积投影回目标通道。当stride 1且输入通道数不大于输出通道数时启用 shortcut 残差连接out[:, 0:self.in_channels] x保证信息流通。SE 注意力模块对特征图做自适应全局平均池化后经两个1x1卷积中间通道压缩为channels // se_ratio与 Sigmoid 生成通道权重再与原特征逐通道相乘。通道渐进式扩增按照final_ch / (self.depth // 3)的步长逐层线性增加通道数避免通道配置上的表征瓶颈。超参数input_ch16、final_ch180、width_mult1.5、depth_mult1.0、class_dim1000、use_seTrue、se_ratio12、dropout_ratio0.2、bn_momentum0.9。标签与分类头若不传label_list模块会读取同目录下的 label_list.txtImageNet-2012 的 1000 个类别分类头为Dropout 1x1 Conv2D输出维度等于类别数。模块通过moduleinfo装饰器注册为 PaddleHub 模块namerexnet_1_5_imagenettypeCV/classificationversion1.0.0并继承ImageClassifierModule基类获得predict、serving_method、run_cmd等标准能力见 cv_module.py。二、安装2.1 环境依赖使用该模块前请确认环境满足以下版本要求paddlepaddle 2.0.0paddlehub 2.0.02.2 安装模块在终端执行以下命令即可安装$ hub install rexnet_1_5_imagenet如您安装时遇到问题可参考零基础Windows安装 | 零基础Linux安装 | 零基础MacOS安装。三、模型 API 预测3.1 命令行预测安装完成后可直接通过hub run命令对单张图片进行分类--top_k控制返回概率最高的前 K 个类别$ hub run rexnet_1_5_imagenet --input_path /PATH/TO/IMAGE --top_k 5从 cv_module.py 的run_cmd实现可以看到该命令实际解析两个参数--input_path必填图片路径与--top_k可选默认值为 1随后调用self.predict(images[args.input_path], top_kargs.top_k)完成推理。3.2 预测代码示例在 Python 脚本中调用同样简洁import paddle import paddlehub as hub if __name__ __main__: model hub.Module(namerexnet_1_5_imagenet) result model.predict([flower.jpg])predict方法的完整签名与行为见 cv_module.py说明如下images(list[np.ndarray])待预测图片列表元素为 BGR 格式的np.ndarraybatch_size(int)预测批大小默认 1top_k(int)每张图片输出前 K 个分类结果默认 1返回值results(list[dict])每张图片的预测结果格式为{类别名: 概率}的字典。推理过程在paddle.no_grad()下进行先经self.transforms预处理再前向得到 logits经F.softmax转为概率最后按概率降序取前top_k个类别并映射为标签名。模块内置的预处理流程module.py为Resize((256, 256)) → CenterCrop(224) → Normalize(mean[0.485, 0.456, 0.406], std[0.229, 0.224, 0.225])to_rgbTrue。3.3 如何开始 Fine-tune在完成 PaddlePaddle 与 PaddleHub 安装后通过执行python train.py即可开始使用rexnet_1_5_imagenet对 Flowers 等数据集进行 Fine-tune。参考的完整训练脚本可见 demo/image_classification/train.py。整体分为以下 4 个步骤Step1定义数据预处理方式import paddlehub.vision.transforms as T transforms T.Compose([T.Resize((256, 256)), T.CenterCrop(224), T.Normalize(mean[0.485, 0.456, 0.406], std[0.229, 0.224, 0.225])], to_rgbTrue)transforms数据增强模块定义了丰富的数据预处理方式用户可按照需求替换自己需要的数据预处理方式。Step2下载数据集并使用from paddlehub.datasets import Flowers flowers Flowers(transforms) flowers_validate Flowers(transforms, modeval)参数说明transforms数据预处理方式mode选择数据模式可选项有train、test、val默认为train。数据集的准备代码可以参考 flowers.pyhub.datasets.Flowers()会自动从网络下载数据集flower_photos.tar.gz5 分类roses、tulips、daisy、sunflowers、dandelion并解压到用户目录下$HOME/.paddlehub/dataset目录。从源码可见train模式读取train_list.txt、test模式读取test_list.txt、val模式读取validate_list.txt每行形如图片相对路径 标签id__getitem__会调用传入的transforms对图片做预处理并返回(图像张量, 标签)。API 文档可参考 flowers.rst。Step3加载预训练模型model hub.Module(namerexnet_1_5_imagenet, label_list[roses, tulips, daisy, sunflowers, dandelion])参数说明name选择预训练模型的名字label_list设置输出分类类别默认为 ImageNet-2012 类别。从 module.py 的实现可以看到传入label_list后class_dim会自动取类别列表长度分类头输出维度随之改变同时模块构造时会自动加载model.pdparams预训练权重若指定load_checkpoint则加载自定义 checkpoint。Step4选择优化策略和运行配置optimizer paddle.optimizer.Adam(learning_rate0.001, parametersmodel.parameters()) trainer Trainer(model, optimizer, checkpoint_dirimg_classification_ckpt) trainer.train(flowers, epochs100, batch_size32, eval_datasetflowers_validate, save_interval1)优化策略Paddle 2.0 提供了SGD、Adam、Adamax等多种优化器其中Adam常用配置为learning_rate全局学习率默认为 1e-3与parameters待优化模型参数。运行配置Trainer主要控制 Fine-tune 的训练实现见 trainer.py包含以下可控制参数参数说明model被优化模型optimizer优化器选择use_vdl是否使用 VisualDL 可视化训练过程checkpoint_dir保存模型参数的地址compare_metrics保存最优模型的衡量指标默认取validation_step返回的主指标越大越好trainer.train主要控制具体的训练过程包含以下可控制参数参数说明train_dataset训练时所用的数据集epochs训练轮数batch_size训练的批大小如果使用 GPU请根据实际情况调整num_workersworkers 的数量默认为 0eval_dataset验证集设置后 Trainer 会按save_interval轮执行一次评估log_interval打印日志的间隔单位为执行批训练的次数save_interval保存模型的间隔频次单位为执行训练的轮数训练过程中的底层行为同样可以在 trainer.py 中印证每轮训练使用DistributedBatchSampler构造可打乱的数据加载器training_step在 cv_module.py 中由validation_step复用计算softmax_with_cross_entropy损失与paddle.metric.accuracy准确率若开启use_vdlloss 与指标会通过LogWriter写入checkpoint_dir/visualization每隔save_interval轮会保存model.pdparams与model.pdopt检查点并在eval_dataset存在时执行评估、记录最优指标。3.4 模型预测Fine-tune 之后当完成 Fine-tune 后Fine-tune 过程在验证集上表现最优的模型会被保存在${CHECKPOINT_DIR}/best_model目录下其中${CHECKPOINT_DIR}目录为 Fine-tune 时所选择的保存 checkpoint 的目录。我们使用该模型来进行预测predict.py 脚本如下import paddle import paddlehub as hub if __name__ __main__: model hub.Module(namerexnet_1_5_imagenet, label_list[roses, tulips, daisy, sunflowers, dandelion], load_checkpoint/PATH/TO/CHECKPOINT) result model.predict([flower.jpg])NOTE:进行预测时所选择的 module、checkpoint_dir、dataset 必须和 Fine-tune 所用的一样。四、服务部署PaddleHub Serving 可以部署一个在线分类任务服务。第一步启动 PaddleHub Serving运行启动命令$ hub serving start -m rexnet_1_5_imagenet这样就完成了一个分类任务服务化 API 的部署默认端口号为 8866。NOTE:如使用 GPU 预测则需要在启动服务之前设置CUDA_VISIBLE_DEVICES环境变量否则不用设置。第二步发送预测请求配置好服务端以下数行代码即可实现发送预测请求、获取预测结果import requests import json import cv2 import base64 import numpy as np def cv2_to_base64(image): data cv2.imencode(.jpg, image)[1] return base64.b64encode(data.tostring()).decode(utf8) def base64_to_cv2(b64str): data base64.b64decode(b64str.encode(utf8)) data np.fromstring(data, np.uint8) data cv2.imdecode(data, cv2.IMREAD_COLOR) return data # 发送HTTP请求 org_im cv2.imread(/PATH/TO/IMAGE) data {images:[cv2_to_base64(org_im)], top_k:2} headers {Content-type: application/json} url http://127.0.0.1:8866/predict/rexnet_1_5_imagenet r requests.post(urlurl, headersheaders, datajson.dumps(data)) data r.json()[results][data]请求体中images为 base64 编码的图片列表top_k指定返回的类别个数服务端收到请求后会调用模块的serving_method见 cv_module.py将 base64 解码为 BGR 图像后走与本地predict完全一致的前向推理流程返回格式为{data: [{类别名: 概率, ...}, ...]}的 JSON 结果。五、更新历史1.0.0初始发布。六、进一步阅读网络结构源码modules/image/classification/rexnet_1_5_imagenet/module.pyImageNet-2012 标签文件modules/image/classification/rexnet_1_5_imagenet/label_list.txt分类模块基类predict / serving / run_cmdpaddlehub/module/cv_module.pyFine-tune 训练器实现paddlehub/finetune/trainer.pyFlowers 数据集实现paddlehub/datasets/flowers.py 与 API 文档可运行的训练脚本示例demo/image_classification/train.py图像分类 Fine-tune 通用教程docs/docs_ch/finetune/image_classification.md赞分享人工智能大模型微调模型推理服务【免费下载链接】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 图像分类实战resnet50_vd_imagenet_ssld 模型安装、Fine-tune 与服务化部署全指南PaddleHub 图像分类实战resnet50_vd_imagenet_ssld 模型安装、Fine tune 与服务化部署全指南 导读 本文以 Paddl人工智能大模型微调模型推理服务PaddleFormers 中 ALBERT-Chinese-Small 预训练模型实战指南安装、Fine-tune 预测与服务化部署PaddleFormers 中 ALBERT Chinese Small 预训练模型实战指南安装、Fine tune 预测与服务化部署 本指南围绕仓库 mod人工智能大模型微调模型推理服务PaddleFormers 中 fcn_hrnetw48_cityscapes 图像分割模型实战预测、Fine-tune 与 Serving 部署全指南PaddleFormers 中 fcn_hrnetw48_cityscapes 图像分割模型实战预测、Fine tune 与 Serving 部署全指南 本指人工智能大模型微调模型推理服务创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
企业数字化 ERP 产品动态
相关推荐
广州表导生文化课补习哪家靠谱|弱基础冲刺机构盘点 广州表演、编导类艺考考生长期专注专业课集训,文化课复习周期短、知识断层明显、整体基础偏弱,且表导专业对文化课分数线要求处于中等偏上水平,适配这类学情的正规补习机构更看重文科适配教学与精细化分层辅导。结合广州本地机构办学合规性、… · 2026/9/23 22:02:57
分位数回归实战:从统计原理到PyQt工程落地 简介:本资源是一套基于Python与PyQt5开发的分位数回归分析完整项目,面向统计建模初学者、经济学/金融学专业学生及毕业设计、课程设计实践者,解决传统均值回归无法刻画条件分布异质性的问题,覆盖分位数Granger因果检验、分位数VAR… · 2026/9/23 22:02:50
一个月从零到四项目:AI编程起步路线图与项目纪律系统 1. 一个月从零到四项目:我的AI编程起步路线图1.1 为什么选择AI编程作为切入点说实话,我并不是计算机科班出身,之前写过的“代码”仅限于Excel里录几个公式。真正让我下决心动手的契机,是发现身边好几个做产品的朋友开始用AI工具直… · 2026/9/23 22:02:50
多平台自动发布是什么?自媒体跨平台内容分发方法介绍 在自媒体行业,只运营单一平台已经很难稳定获取流量。同一个原创内容,如果想要覆盖视频号、抖音、小红书、B 站、百家号等多个渠道,逐个登录账号上传素材、填写标题、制作封面、添加标签,会耗费创作者大量时间。多平台自动发布&… · 2026/9/23 22:42:32
SDM模型拆解:多兴趣召回与长短期行为融合的实践 做推荐系统的人应该都有这种体会:召回阶段决定了整个推荐链路的上限。排序模型再强,如果match阶段没把用户真正感兴趣的东西捞回来,后面全是白搭。早期我们常用的双塔结构简单高效,但对用户行为的建模非常浅,基本就是把… · 2026/9/23 22:42:32
中医康复理疗师证哪家培训机构靠谱?从报名学习到考试拿证,报考全攻略 近两年,中医康复理疗师证的报考热度持续上升,想考的人不少,但绝大多数人卡在了同一个问题上:培训机构那么多,到底哪家靠谱?网上搜一圈,广告铺天盖地、说法互相矛盾,越看越不知道信谁… · 2026/9/23 22:42:32
ComfyUI实战:QwenImageEdit图生图批量生成电商展示图 简介:这是一套面向 ComfyUI 用户的 QwenImageEdit 图生图工作流资源,聚焦 24 类商品模特分裂展示场景,适合电商美工、AIGC 创作者以及希望快速上手 ComfyUI 图像编辑工作流的进阶学习者。压缩包为 rar 格式,内含 1 个 json 工作流… · 2026/9/23 22:42:25
AI智能体应用工程师证哪家培训机构靠谱?从报名学习到考试拿证,报考全攻略 近两年,AI智能体应用工程师证的报考热度持续上升,想考的人不少,但绝大多数人卡在了同一个问题上:培训机构那么多,到底哪家靠谱?网上搜一圈,广告铺天盖地、说法互相矛盾,越看越不知道… · 2026/9/23 22:42:25
SSM+MySQL博客系统实战:从环境配置到答辩全攻略 简介:这是一份基于Java SSM框架与MySQL数据库开发的博客系统毕业设计项目,适合计算机相关专业学生用于毕业设计、课程设计或期末大作业。项目已通过导师指导与调试,可直接运行,覆盖前台博客展示与后台管理功能,界面简洁… · 2026/9/23 22:42:19
3招搞定手机怎么下载微信面试难题实战项目解析 3招搞定手机怎么下载微信面试难题实战项目解析 面试被问“手机怎么下载微信”背后的原理,90%的人答不上来。别笑,这看似弱智的问题,实则是考察你对移动应用分发机制、安全校验及网络协议理解的试金石。我带过不少校招新人,他们背了八股文,却连一个A… · 2026/9/23 0:00:03
你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型 你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型 面试被问“高并发下如何保证消息不丢失”,你张口就是“用Redis”,结果面试官追问“如果Redis宕机了怎么办”,你瞬间卡壳。这种场景太常见了,很多新手在背八股文时,只记住了技术名词… · 2026/9/23 0:00:29