以102flowers数据集为例训练ResNet50模型

以102flowers数据集为例训练ResNet50模型

使用飞桨高阶API,使用最少的代码量,实现在102flowers数据集训练ResNet50模型。同时可以一条命令修改成Mnist、Cifar10、Cifar100等数据集,换成其它模型也是只需要一句话代码。

数据集介绍

102flowers数据集是一个专门用于图像分类的数据集,主要涵盖了102种英国常见的花类。每个类别包含40到258张图像,总计包含了大量的图像数据。这些图像在比例、姿势以及光照方面有着丰富的变化,为图像分类任务提供了丰富的素材。官网网址为:https://www.robots.ox.ac.uk/\~vgg/data/flowers/102/

飞桨自带了该数据集,直接调用即可,会从飞桨站点自动下载数据文件。若是自定义数据集,可参考相关文档:https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/beginner/data_load_cn.html

ResNet模型介绍

ResNet(Residual Neural Network)是一种深度卷积神经网络,在2015年提出。ResNet通过使用残差块(ResNet Block)成功解决了深度网络训练时的梯度消失问题,使得更深的网络能够被训练。ResNet模型在ILSVRC2015比赛中取得了冠军,并在多个视觉任务中表现突出,因此在实践中得到了广泛应用。

根据网络深度,ResNet有18、34、50、101和152层等多种。一直到今天,ResNet依然是使用最广泛的模型。

在飞桨中可以用一条命令直接调用该模型,非常简单方便。

训练模型

使用飞桨高层API,在配置好数据集和模型后,只需要两句代码就可以开始训练。

完整训练代码

python 复制代码
# 导入飞桨PaddlePaddle框架
import paddle
# 导入PaddlePaddle的视觉处理模块中的函数,ToTensor用于将图像数据转换为张量格式,Resize用于调整图像大小,Compose用于组合多个转换操作。
from paddle.vision.transforms import ToTensor,Resize, Compose
# 导入Flowers数据集
from paddle.vision.datasets import Flowers

# 定义了一个转换组合,首先使用Resize将图像大小调整为224x224,然后使用ToTensor将图像转换为张量格式。
transform = Compose([Resize(size=(224, 224)), ToTensor()]) 
# 加载花朵数据集的训练集和测试集,并应用之前定义的转换组合。
train_dataset = Flowers(mode='train', transform=transform)
test_dataset = Flowers(mode='test', transform=transform)

# 直接调用飞桨ResNet34模型
resnet = paddle.vision.models.resnet34()

# model包含了训练功能
model = paddle.Model(resnet)

# 设置训练模型所需的optimizer, loss, metric
model.prepare(
    paddle.optimizer.Adam(learning_rate=0.001, parameters=model.parameters()),
    paddle.nn.CrossEntropyLoss(),
    paddle.metric.Accuracy(topk=(1, 2))
    )

# 启动训练,20个epochs V100下大约10分钟
model.fit(train_dataset, epochs=20, batch_size=32, log_freq=100)

# 启动评估
model.evaluate(test_dataset, log_freq=20, batch_size=64)

最终精度为:

python 复制代码
{'loss': [1.3582209348678589], 'acc_top1': 0.6813725490196079, 'acc_top2': 0.8}
相关推荐
广州灵眸科技有限公司3 分钟前
瑞芯微(EASY EAI)RV1126B 语音识别
人工智能·语音识别
2501_942191777 分钟前
基于YOLOv5-RepHGNetV2的青椒目标检测方法研究原创
人工智能·yolo·目标检测
wukangjupingbb18 分钟前
从英矽智能与晶泰科技在港股的上市看目前中国AI制药研发的趋势以及竞争态势
人工智能·科技
Jack___Xue24 分钟前
LLM知识随笔(一)--Transformer
人工智能·深度学习·transformer
AC赳赳老秦34 分钟前
Dify工作流+DeepSeek:运维自动化闭环(数据采集→报告生成)
android·大数据·运维·数据库·人工智能·golang·deepseek
Deepoch36 分钟前
Deepoc具身模型:清洁机器人的智能决策引擎
人工智能·机器人·生活·开发板·清洁机器人·具身模型·deepoc
莫非王土也非王臣1 小时前
迁移学习详情介绍
人工智能·机器学习·迁移学习
AI即插即用1 小时前
即插即用系列 | CVPR 2025 MK-UNet: 多核深度可分离卷积,重新定义轻量级医学图像分割
图像处理·人工智能·深度学习·神经网络·计算机视觉·视觉检测
汽车仪器仪表相关领域1 小时前
全程高温伴热,NOx瞬态精准捕捉:MEXA-1170HCLD加热型NOx测定装置项目实战全解
大数据·服务器·网络·人工智能·功能测试·单元测试·可用性测试
发光的叮当猫1 小时前
什么是梯度
人工智能·深度学习