人工智能预训练微调模型推理服务【免费下载链接】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 内置的 Flowers 花卉分类数据集paddlehub.datasets.Flowers为核心完整讲解其类定义、参数语义、自动下载与数据读取机制并结合仓库中 image_classification 示例 演示如何基于该数据集对图像分类预训练模型进行 Fine-tune 与预测。读完本文你将掌握 PaddleHub 数据集 API 的使用方式、底层数据组织原理以及一套可复现的 5 分类花卉识别训练流程。一、Flowers 数据集概述Flowers 是 PaddleHub 内置的图像分类数据集用于花卉识别任务包含5 个类别玫瑰roses、郁金香tulips、雏菊daisy、向日葵sunflowers、蒲公英dandelion。在 源码实现 中可以看到self.num_classes 5类别数量在初始化时被固定。该数据集在仓库中扮演着开箱即用的 CV 训练数据角色用户无需手动准备数据目录、划分训练集只需实例化Flowers并传入预处理方式即可直接用于 PaddleHub 的 Fine-tune 流程。它被 数据集总览文档 收录在 CV 数据集分组下与Canvas、OpticDiscSeg、MiniCOCO并列。二、API 签名与参数说明依据 API 文档Flowers 数据集类的完整签名为class paddlehub.datasets.Flowers(transform: Callable, mode: str train):各参数含义如下参数类型必填说明transformCallable是图像预处理方法通常传入paddlehub.vision.transforms中组合好的预处理算子modestr否数据集模式可选train、test、val默认为trainmode参数直接决定读取哪一份文件列表其对应关系在 flowers.py 中清晰可见modetrain→ 读取train_list.txt训练集modetest→ 读取test_list.txt测试集modeval或其它值→ 读取validate_list.txt验证集也就是说数据集在下载阶段就已经按 train/test/val 三份列表文件组织好了实例化时仅需通过mode切换视图。三、数据集的自动下载机制Flowers最突出的特性是自动下载。查看 flowers.py 可以看到类定义上方的装饰器download_data(urlhttps://bj.bcebos.com/paddlehub-dataset/flower_photos.tar.gz) class Flowers(paddle.io.Dataset):这个装饰器定义在 paddlehub/utils/download.py 中其工作流程如下以 URL 文件名flower_photos.tar.gz推导出解压目录名flower_photos拼接目标路径DATA_HOME/flower_photos其中DATA_HOME来自 paddlehub/env.py 的环境配置默认即~/.paddlehub/dataset使用filelock.FileLock加锁保证多进程并发实例化时只会下载一次若目标目录不存在则调用Downloader.download_file_and_uncompress完成带进度条的下载与解压下载和解压过程都会通过log.ProgressBar实时展示进度见 download.py。因此当你的代码中第一次出现Flowers(transforms)时PaddleHub 会自动联网拉取数据并解压到本地随后每次实例化都直接复用本地缓存无需重复下载。数据存储位置数据落盘位置遵循 PaddleHub 统一的目录规范见 env.py 中的目录树说明HUB_HOME (~/.paddlehub) └── dataset # DATA_HOME存放自动下载的数据集 └── flower_photos # Flowers 数据集解压目录 ├── train_list.txt ├── test_list.txt └── validate_list.txt提示可通过设置环境变量HUB_HOME来改变~/.paddlehub的默认位置参见 env.py从而自定义数据集的存放根目录。四、数据读取与样本返回格式Flowers继承自paddle.io.Dataset即 PaddlePaddle 2.0 的标准数据集基类实现了两个核心方法__getitem__(self, idx)flowers.pydef __getitem__(self, idx) - Tuple[np.ndarray, int]: img_path, grt self.data[idx].split( ) img_path os.path.join(hubenv.DATA_HOME, flower_photos, img_path) im self.transforms(img_path) return im, int(grt)读取列表文件中的一行按空格拆分为图片相对路径 类别标签将相对路径与DATA_HOME/flower_photos拼接得到完整路径调用构造函数传入的transforms(img_path)完成图像加载与预处理注意这里传入的是路径字符串预处理算子内部负责cv2.imread读图返回(预处理后的图像, 整数标签)二元组。__len__(self)flowers.py直接返回列表文件行数供 DataLoader 计算批次数。由此可见transform参数是整个数据管线的核心它既负责读图也负责尺寸调整、归一化、通道转换等全部预处理逻辑。五、预处理 Transform 配置实战在 image_classification 示例 中官方给出的典型预处理配置为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)各算子说明算子作用T.Resize((256, 256))将图像缩放到 256×256可指定interpolation如LINEAR、CUBIC详见 transforms.pyT.CenterCrop(224)中心裁剪出 224×224 区域与 ImageNet 系列预训练模型的输入尺寸对齐T.Normalize(mean, std)使用 ImageNet 统计均值与标准差做通道级归一化to_rgbTrue将 OpenCV 读取的 BGR 图像转为 RGB 模式T.Compose的底层行为见 transforms.py当传入的参数是字符串路径时Compose 会先执行cv2.imread读图若设置了to_rgb则先做 BGR→RGB 转换随后按顺序执行列表中的每个算子最后在channel_firstTrue默认时把图像从[H, W, C]置换为[C, H, W]以适配 PaddlePaddle 的卷积输入布局。注意Compose要求transforms必须是非空列表否则会抛出TypeError/ValueError见 transforms.py。六、基于 Flowers 的 Fine-tune 完整流程下面把 train.py 的四个步骤拆解讲解这也是 PaddleHub 2.0 Fine-tune API 的标准范式。Step 1加载数据集from paddlehub.datasets import Flowers flowers Flowers(transforms) # 训练集mode 默认 train flowers_validate Flowers(transforms, modeval) # 验证集首次运行会触发自动下载。之后trainer.train会将flowers传入 Paddle 的 DataLoader 逐 batch 读取。Step 2加载预训练模型model hub.Module( nameresnet50_vd_imagenet_ssld, label_list[roses, tulips, daisy, sunflowers, dandelion], load_checkpointNone)name预训练模型名可无缝切换为efficientnetb7_imagenet等其它分类模型label_list必须与 Flowers 的 5 个类别顺序一致将整数标签映射为可读类别名load_checkpoint续训时指定 checkpoint 路径首次训练传None。Step 3配置优化器import paddle optimizer paddle.optimizer.Adam(learning_rate0.001, parametersmodel.parameters())PaddlePaddle 2.0 提供SGD、Adam、Adamax等多种优化器learning_rate默认为 1e-3parameters传入待优化的模型参数。Step 4创建 Trainer 并开始训练from paddlehub.finetune.trainer import Trainer trainer Trainer(model, optimizer, checkpoint_dirimg_classification_ckpt, use_gpuTrue) trainer.train(flowers, epochs100, batch_size32, eval_datasetflowers_validate, save_interval10)Trainer的关键参数实现见 trainer.py参数说明model被优化的模型optimizer优化器use_vdl是否用 VisualDL 记录训练过程默认True日志写入checkpoint_dir/visualizationcheckpoint_dircheckpoint 保存目录不指定时自动生成ckpt_时间戳compare_metrics最优模型筛选指标的比较函数默认按主指标比较trainer.train的关键参数见 trainer.py参数说明train_dataset训练数据集epochs训练轮数batch_size批大小GPU 场景下按显存调整num_workersDataLoader 工作进程数默认 0eval_dataset验证集每隔save_interval轮评估一次log_interval打印日志的间隔以批为单位默认 10save_interval保存 checkpoint 的间隔以轮为单位默认 10训练结束后验证集上表现最优的模型会被保存到checkpoint_dir/best_model目录保存逻辑见 trainer.py。七、模型预测与 Serving 部署Fine-tune 完成后使用 predict.py 加载最优模型进行预测model hub.Module( nameresnet50_vd_imagenet_ssld, label_list[roses, tulips, daisy, sunflowers, dandelion], load_checkpoint/PATH/TO/CHECKPOINT) result model.predict([flower.jpg])注意预测时使用的module、checkpoint_dir、dataset必须与 Fine-tune 时保持一致否则标签映射和模型结构会对不上。如果需要将训练好的分类模型服务化可借助 PaddleHub Servinghub serving start -m resnet50_vd_imagenet_ssld服务默认监听 8866 端口随后通过 HTTP POST 发送 base64 编码图像即可获取分类结果完整请求代码见 image_classification 示例。若使用 GPU 推理需在启动服务前设置CUDA_VISIBLE_DEVICES环境变量。八、小结从文档到源码的证据链回顾整个Flowers数据集其行为可以从三层证据得到印证API 层API 文档 定义签名Flowers(transform, modetrain)与两个参数语义实现层flowers.py 中的装饰器实现自动下载、mode到列表文件的映射、__getitem__/__len__的读取逻辑以及num_classes 5的类别数应用层train.py 与 predict.py 展示了从数据加载、模型微调到推理预测的完整闭环其中label_list的 5 个花卉类别与数据集定义一一对应。理解这套装饰器自动下载 列表文件驱动 Transform 预处理的数据集设计模式后你可以在paddlehub/datasets/目录下对照 ChnSentiCorp、ESC50 等其它内置数据集快速迁移到文本分类、音频分类等更多任务中。赞分享人工智能预训练微调模型推理服务【免费下载链接】PaddleFormersPaddleFormers is an easy-to-use library of pre-trained large language model zoo based on PaddlePaddle.项目地址https://gitcode.com/gh_mirrors/pa/PaddleFormers点击查看免费下载相关推荐CNTK Flowers 数据集详解102 类花卉图像分类数据的获取、格式与迁移学习实战CNTK Flowers 数据集详解102 类花卉图像分类数据的获取、格式与迁移学习实战 导读 Flowers 数据集是 Microsoft Cognitiv深度学习机器学习人工智能NCMconverter技术解密打破音乐格式壁垒的Go语言解决方案NCMconverter技术解密打破音乐格式壁垒的Go语言解决方案 在数字音乐时代格式兼容性往往成为用户体验的隐形障碍。网易云音乐的NCM格式凭借其加密保护人工智能预训练微调模型推理服务PaddleHub 实战基于 repvgg_a0_imagenet 的图像分类预测、Fine-tune 与 Serving 部署全指南PaddleHub 实战基于 repvgg_a0_imagenet 的图像分类预测、Fine tune 与 Serving 部署全指南 本文以 PaddleH人工智能预训练微调模型推理服务创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
企业数字化 ERP 产品动态
相关推荐
BI与AI一体化:打通数据分析最后一公里 1. 这不是概念炒作,而是数据团队正在经历的真实转型阵痛“AI数据分析如何真正落地?BI与AI一体化是关键”——这句话最近在数据圈被反复提起,但很多人听完只觉得像一句漂亮的口号。我带过6个企业级数据平台项目,从传统报表系统升级… · 2026/9/23 5:24:20
3个坑解决好玩的字谜游戏代码跑不通最佳实践 3个坑解决好玩的字谜游戏代码跑不通最佳实践 刚把网上扒来的“好玩的字谜游戏”源码复制进IDE,结果报错连片,调了一下午还是没头绪?这种复制粘贴后代码直接罢工、不知从何下手的绝望感,是无数开发者深夜加班时的真实写照。其实问题往往出在环境依赖、… · 2026/9/23 5:24:20
CNN手写数字识别全流程:从模型训练到图像识别实战 简介:基于Python实现的CNN卷积神经网络训练与识别资源,是一套面向深度学习初学者的完整项目方案,涵盖经典LeNet-5在MNIST数据集与AlexNet在CIFAR-10数据集上的训练与识别流程,可用于课程设计、毕业设计或新手入门实战。压缩包共7个… · 2026/9/23 5:24:14
Flutter数据校验库鸿蒙化改造实践 1. 项目背景与核心价值在鸿蒙应用开发领域,数据校验一直是保障业务逻辑稳定性的关键环节。Flutter生态中广受欢迎的data_validator库因其强大的多维校验能力,成为众多企业级应用的首选。但原生Flutter库无法直接在鸿蒙平台运行,这就需要对dat… · 2026/9/23 6:02:24
科研人春节攻坚:国自然基金申请的时间战场与策略 1. 科研人的春节:国自然本子背后的时间战场大年三十的实验室走廊,偶尔传来几声零星的键盘敲击声。这不是值班人员在消遣,而是一群科研工作者在争分夺秒地修改他们的国家自然科学基金申请书。春节假期对普通人意味着团圆和放松,但对… · 2026/9/23 6:02:24
Java+SSM与Flask混合架构在物资物流系统中的应用实践 1. 项目概述:物资物流系统的全栈实现这个基于JavaSSMFlask的混合架构物资物流系统,是我去年为一家中型制造企业实施的供应链数字化解决方案。系统整合了从采购申请到最终配送的全流程管理,特别针对传统物流管理中常见的"信息孤岛"问… · 2026/9/23 6:02:24
Python操作MySQL:从基础连接到高级优化 ## 1. Python操作MySQL的完整指南作为后端开发工程师,数据库操作是日常工作中最频繁接触的部分之一。MySQL作为最流行的关系型数据库,与Python的结合使用尤为常见。本文将全面介绍Python操作MySQL的各种技术细节,从基础连接到高级用法&#x… · 2026/9/23 6:02:24
金蝶云星空V3.5操作手册实战:客户端部署、网页登陆与数据库重建排错指南 简介:金蝶云星空操作手册V3.5是一份面向企业ERP实施人员、财务与供应链岗位用户及信息化管理者的实操型文档,帮助读者快速上手金蝶云星空云端系统,解决日常操作与基础数据维护中的常见问题。资源包内含1个docx文件,约18.2MB&#… · 2026/9/23 6:02:24
Python实现可审计急诊分诊系统的架构与安全设计 1. 项目背景与核心价值急诊分诊系统作为医疗信息化建设的关键环节,其可靠性和安全性直接关系到患者的生命安全。传统分诊系统往往存在以下痛点:操作记录不可追溯、分诊规则缺乏透明性、系统修改无法回溯。这个Python实现的可审计急诊分诊平台,… · 2026/9/23 6:02:18
3招搞定手机怎么下载微信面试难题实战项目解析 3招搞定手机怎么下载微信面试难题实战项目解析 面试被问“手机怎么下载微信”背后的原理,90%的人答不上来。别笑,这看似弱智的问题,实则是考察你对移动应用分发机制、安全校验及网络协议理解的试金石。我带过不少校招新人,他们背了八股文,却连一个A… · 2026/9/23 0:00:03
你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型 你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型 面试被问“高并发下如何保证消息不丢失”,你张口就是“用Redis”,结果面试官追问“如果Redis宕机了怎么办”,你瞬间卡壳。这种场景太常见了,很多新手在背八股文时,只记住了技术名词… · 2026/9/23 0:00:29