基于Paddle2.0的样式校正卷积网络SRM

本项目复现2019年论文提出的SRM网络,首次用Paddle2.0实现含风格校正的SRM,在10分类动物数据集(按8:2划分)上实验。对比SRM、GE、SE模块及ResNet50,SRM验证准确率0.8736,优于其他,表明风格校正机制提升分类效果。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

基于paddle2.0的样式校正卷积网络srm - 创想鸟

项目背景

SRM是2019年arxiv上的一篇论文SRM : A Style-based Recalibration Module for Convolutional Neural Networks中提出的基于风格迁移机制的通用卷积网络模型。本项目即对其进行复现。

风格迁移需要用到卷积神经网络。可否充分利用卷积神经网络中产生风格迁移的机制,并将其用于一般的计算机视觉任务呢?本项目复现SRM网络并用其来完成动物图像分类的实验。

项目简介

本项目首次使用paddle2.0复现了含有基于风格校正的网络SRM,并在动物数据集上进行了训练和验证。

动物数据集的划分是按8:2的的划分方法进行训练集与验证集划分的。

模型简介

SRM网络的核心思想是提出了SRM模块。该模块首先通过风格池化从每个通道的特征图中提取风格信息,然后通过风格集成来评估每个通道的校正权重。其中,风格池化是在空间维度上操作,风格集成是在通道维度上操作。这种将特征图和风格权重相结合的方式本质上是一种注意力机制,只不过这种注意力关注的是特征图中的风格信息。SRM示意图如图1所示。

基于Paddle2.0的样式校正卷积网络SRM - 创想鸟

图1 SRM模块示意图

SRM实现细节如图2所示。

基于Paddle2.0的样式校正卷积网络SRM - 创想鸟

图2 SRM模块实现细节示意图

具体实现可以fork后见代码细节。

论文原文:SRM : A Style-based Recalibration Module for Convolutional Neural Networks

参考代码:

轻幕 轻幕

轻幕是一个综合性短视频制作平台,诗词、故事、小说等一键成片转视频,让内容传播更生动!

轻幕 76 查看详情 轻幕

PyTorch的实现

数据集介绍

本项目使用10分类的动物数据集进行训练和测试.

该十分类动物数据集,包含dog,horse,elephant,butterfly,chicken,cat,cow,sheep,spider和squirrel。每一分类的图片数量为2k-5k。

文件结构

文件名或文件夹名 功能

recalibration_modules.py风格校正模块定义文件resnet.pyresnet网络定义文件animal_dataset.py数据集定义文件config.py配置文件train_val_split.py训练验证划分文件train.py模型训练eval.py模型验证

解压数据集

In [2]

!unzip -q data/data70196/animals.zip -d work/dataset

查看图片

In [ ]

import osimport randomfrom matplotlib import pyplot as pltfrom PIL import Imageimgs = []paths = os.listdir('work/dataset')for path in paths:       img_path = os.path.join('work/dataset', path)    if os.path.isdir(img_path):        img_paths = os.listdir(img_path)        img = Image.open(os.path.join(img_path, random.choice(img_paths)))        imgs.append((img, path))f, ax = plt.subplots(3, 3, figsize=(12,12))for i, img in enumerate(imgs[:9]):    ax[i//3, i%3].imshow(img[0])    ax[i//3, i%3].axis('off')    ax[i//3, i%3].set_title('label: %s' % img[1])plt.show()

划分训练集和验证集

In [3]

!python code/train_val_split.py
finished train val split!

使用SRM-ResNet50网络进行动物分类的训练并验证

训练

In [1]

!python code/train.py --net 'attention_resnet' --recalibration_type 'srm'

验证

In [2]

!python code/eval.py --net 'attention_resnet' --recalibration_type 'srm'
Eval begin...The loss value printed in the log is the current batch, and the metric is the average value of previous step.step 3276/3276 [==============================] - loss: 7.0645e-04 - acc: 0.8736 - 297ms/step         Eval samples: 3276{'loss': [0.0007064453], 'acc': 0.8736263736263736}

图示SRM训练验证过程

基于Paddle2.0的样式校正卷积网络SRM - 创想鸟

图3. 使用SRM的训练验证比较图示

使用GE-ResNet50网络进行动物分类的训练并验证

In [3]

!python code/train.py --net 'attention_resnet' --recalibration_type 'ge'

验证

In [3]

!python code/eval.py --net 'attention_resnet' --recalibration_type 'ge'
Eval begin...The loss value printed in the log is the current batch, and the metric is the average value of previous step.step 3276/3276 [==============================] - loss: 0.6899 - acc: 0.8614 - 228ms/step             Eval samples: 3276{'loss': [0.6899206], 'acc': 0.8614163614163615}

图示GE训练验证过程

基于Paddle2.0的样式校正卷积网络SRM - 创想鸟

图4. 使用GE的训练验证比较图示

使用SE-ResNet50网络进行动物分类的训练并验证

In [4]

!python code/train.py --net 'attention_resnet' --recalibration_type 'se'

验证

In [3]

!python code/eval.py --net 'attention_resnet' --recalibration_type 'se'
W0222 10:36:03.112169  9128 device_context.cc:362] Please NOTE: device: 0, GPU Compute Capability: 7.0, Driver API Version: 10.1, Runtime API Version: 10.1W0222 10:36:03.116613  9128 device_context.cc:372] device: 0, cuDNN Version: 7.6.Eval begin...The loss value printed in the log is the current batch, and the metric is the average value of previous step.step 103/103 [==============================] - loss: 0.6246 - acc: 0.8730 - 175ms/step        Eval samples: 3276{'loss': [0.6245543], 'acc': 0.873015873015873}

图示SE训练验证过程

基于Paddle2.0的样式校正卷积网络SRM - 创想鸟

图5. 使用SE的训练验证比较图示

使用ResNet50网络进行动物分类的训练并验证

训练

In [5]

!python code/train.py --net 'resnet'

验证

In [ ]

!python code/eval.py --net 'resnet'
W0213 21:34:50.038996 12684 device_context.cc:362] Please NOTE: device: 0, GPU Compute Capability: 7.0, Driver API Version: 10.1, Runtime API Version: 10.1W0213 21:34:50.043457 12684 device_context.cc:372] device: 0, cuDNN Version: 7.6.Eval begin...The loss value printed in the log is the current batch, and the metric is the average value of previous step.step 103/103 [==============================] - loss: 1.4232 - acc: 0.5888 - 191ms/step        Eval samples: 3276{'loss': [1.4232028], 'acc': 0.5888278388278388}

图示ResNet50训练验证过程

基于Paddle2.0的样式校正卷积网络SRM - 创想鸟

图6. 使用ResNet的训练验证图示

比较

基于Paddle2.0的样式校正卷积网络SRM - 创想鸟

图7. 使用SRM,GE,SE和ResNet的验证比较图示

以上就是基于Paddle2.0的样式校正卷积网络SRM的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/740789.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月25日 15:21:47
下一篇 2025年11月25日 15:22:29

相关推荐

  • php学哪些语言

    有效使用 PHP 需掌握以下语言技能:HTML 和 CSS,用于构建用户界面;SQL,用于与数据库交互;JavaScript,用于增强客户端交互;其他服务器端语言,以了解概念和集成组件;PHP 框架,以提高开发效率和可维护性;版本控制系统,以管理代码更改。 PHP 所需掌握的语言 PHP (Hype…

    2025年12月12日
    000
  • php需要掌握哪些

    PHP入门需掌握:基础语法(数据类型、运算符、控制结构、循环结构、函数)、MVC架构、数据库交互、面向对象编程、Web开发(HTTP协议、HTML/CSS/JavaScript、框架)、调试和错误处理、安全实践、持续集成和部署,以及其他编程语言、Unix/Linux命令行和文档/版本控制基础。 PH…

    2025年12月12日
    000
  • php包含哪些语言

    PHP 是一种通用脚本语言,用于创建动态 Web 应用程序,包含以下特性:嵌入 HTML 和 CSS与数据库交互与 JavaScript 集成XML 处理正则表达式支持可与其他脚本语言一起使用 PHP 中包含的语言 PHP 是一种流行的通用脚本语言,用于创建动态 Web 应用程序。它包含多种语言特性…

    2025年12月12日
    000
  • 想学php需要哪些基础

    学习 PHP 需要具备以下基础: HTML 和 CSS、编程基础、数据库基础、版本控制、操作系统、对 Web 开发的兴趣以及解决问题的技能。 想学 PHP 需要哪些基础? 要学习 PHP,需要具备以下基础: 1. HTML 和 CSS 了解 HTML 结构和语义掌握 CSS 元素样式和布局 2. 编…

    2025年12月12日
    000
  • 框架扩展机制的优点和缺点

    框架扩展机制允许开发人员通过创建模块和插件来扩展其功能,提供灵活性、可定制性和可重用性。它还促进了社区支持和丰富的扩展生态系统。然而,扩展机制也带来了复杂性、性能开销、兼容性问题和安全隐患。实战案例展示了使用 django 框架的扩展机制,允许开发人员创建自定义模板标签以扩展框架功能。 框架扩展机制…

    2025年12月12日
    000
  • php哪些需求做不了

    PHP 无法满足高性能要求、实时处理、移动开发、并发性和可扩展性、严格类型检查、跨平台支持以及复杂数据结构处理等需求。 PHP 无法满足哪些需求 PHP 虽然是一种功能强大的脚本语言,但在某些情况下它并不是理想的选择。以下是一些 PHP 无法满足的需求: 1. 极高的性能要求 虽然 PHP 的性能已…

    2025年12月12日
    000
  • php可以嵌入哪些语言

    PHP 可嵌入多种语言,包括 HTML、CSS、JavaScript、XML 等核心语言,以及 Python、Ruby 等其他语言。通过嵌入这些语言,PHP 可以扩展其自身功能,用于动态生成 web 页面、控制页面样式、添加交互性、生成结构化数据等任务。 PHP 可嵌入的语言 PHP 是一种广泛使用…

    2025年12月12日
    000
  • 学php有哪些好处

    PHP 的优势包括:易学性:语法简单,易于上手。广泛应用:广泛用于创建后端 Web 应用程序。开源和免费:可自由下载、修改和分发。数据库集成:与流行数据库无缝集成,简化数据管理。OOP 支持:可重用代码和组织应用程序,提高可维护性。Web 框架支持:提供构建 Web 应用程序所需工具和功能。社区支持…

    2025年12月12日
    000
  • php的魅力有哪些

    PHP 具有诸多优势,包括:开源和免费广泛的社区支持强大的生态系统易于学习和使用可扩展性和灵活性性能优化与其他语言的集成广泛的应用程序范围高安全性持续的发展 PHP 的魅力 PHP 作为一种流行的编程语言,拥有众多优势,使其备受开发者青睐。 1. 开源和免费 PHP 是开源软件,任何人都可以免费下载…

    2025年12月12日
    000
  • php面试问哪些问题

    在PHP面试中,常见问题涵盖核心PHP知识、数据库交互、框架和工具、安全、版本控制和团队协作以及其他问题,涉及广泛的PHP技能和知识评估。 PHP面试常见问题 在PHP面试中,面试官通常会询问一系列问题来评估候选人的技能和知识。以下列出一些常见问题: 核心PHP知识 解释PHP中面向对象编程的概念。…

    2025年12月12日
    000
  • Humanity Protocol(H)币是什么?如何购买?H代币经济与价格预测

    当 ai 已经聪明到可以模仿你的声音、生成你的头像,甚至冒充你与他人对话时,一个问题开始频繁出现:在数字世界里,我们要如何证明“我真的在这里”?就在这样的时代背景下,humanity protocol 站了出来,而且恰逢其时。它给出的方案既直观又突破传统,不依赖容易伪造的密码、验证码或身份文件,而是…

    2025年12月12日 好文分享
    100
  • 什么是PIEVERSE币?值得购买吗?PIEVERSE主要功能、运作方式及代币经济学

    Binance币安 欧易OKX ️ Huobi火币️ 摘要 Pieverse旨在重新定义数字经济中的时间估值和货币化。总供应量为10亿枚PIEVERSE代币,目前流通量为1.75亿枚。24小时交易量为9,654.2619万美元,仅在CoinEx上交易。主要功能包括质押、治理和生产力目标奖励。最近的合…

    2025年12月12日
    000
  • 什么是柚子币(EOS)?EOS价格预测2025-2030

    柚子币(eos)是专为支撑大规模去中心化应用(dapps)而构建的区块链平台,采用委托权益证明(dpos)共识机制与零手续费的资源分配模型,致力于实现超高吞吐量与极致用户体验;其2025至2030年间的价格演化路径,将深度绑定于核心技术迭代、生态扩张节奏及行业竞争格局变化,虽具备显著增长潜质,但也需…

    2025年12月12日
    000
  • 山寨币ETF扎堆上市,币价却在下跌,ETF获批还能算利好吗?

    山寨币etf扎堆上市,币价却持续走弱,etf获批是否仍具长期支撑力? Binance币安 欧易OKX ️ Huobi火币️ 一、价格承压:短期情绪主导下的“利好兑现即利空” 10月下旬至11月,DOGE、XRP、Solana(SOL)、Litecoin(LTC)、Hedera(HBAR)及Chain…

    2025年12月12日
    000
  • 一文详细了解韩国推动在12月10日截止日期前制定稳定币草案

    Binance币安 欧易OKX ️ Huobi火币️ 韩国议员为稳定币监管草案设定12月10日最后期限,警告若监管机构未按时提交,将自行推动立法。 韩国执政党向金融监管机构发出“最后通牒”,要求其在12月10日前提交稳定币监管框架草案。据《每日经济新闻》周一报道,民主党议员康俊贤表示:“如果政府未能…

    2025年12月12日
    000
  • 什么是加密资产?有哪些类型?监管情况如何?

    我们早已习惯将资金与贵重物品托付给银行或政府登记系统进行保管。然而,近年来一种崭新的资产形态悄然兴起——它仅存在于互联网之中,且以一种前所未有的方式被管理:去中心化、公开可验、自主可控。这便是加密资产(crypto assets)。 Binance币安 欧易OKX ️ Huobi火币️ 要真正理解它…

    2025年12月12日
    000
  • Daeler Node (DNODE) 币是什么?如何运作?2026–2030年价格预测

    加密货币和人工智能的世界正在快速演变,dealer node (dnode) 已成为最令人瞩目的新基础设施解决方案之一。 Binance币安 欧易OKX ️ Huobi火币️ 与其提供另一个区块链、代币或模糊承诺的L2,DNODE更专注于一些非常实用的东西:去中心化运算,这开发者和自主代理可以立即使…

    2025年12月12日
    000
  • 2025年12月有望爆发的6大AI Meme(迷因)币详细介绍

    ai meme币已从一个有趣的利基市场发展成为加密市场中最不可预测的类别之一。过去忽视 meme币的交易者现在正密切关注,因为市场行为不再像一个笑话,而更像一个快节奏的趋势实验室,几乎每周都会形成新的叙事。 Binance币安 欧易OKX ️ Huobi火币️ 整个AI meme领域目前的市值已轻松…

    2025年12月12日
    000
  • 一文了解瑞波币(XRP)ETF资金流入超过7.56亿美元,看涨背离暗示趋势逆转

    币安 Binance OKX 欧易 ️ 火币 Huobi️ 现货XRP ETF已连续11个交易日实现资金净流入,与此同时,价格走势图上的RSI指标正显现典型的看涨背离形态——这两大技术信号共同预示着新一轮上涨行情或已悄然启动。 当前,XRP现货ETF持续获得资本青睐,日均资金流入稳定,市场普遍关注其…

    2025年12月12日 好文分享
    000
  • 2025年币安IP限制了怎么办?新手用户注册币安详细教程

    币安IP限制可通过代理工具或远程服务器解决,新用户需用邮箱/手机注册并完成KYC认证及2FA安全设置。 当遇到币安的ip访问限制时,可尝试使用网络工具或配置远程服务器。对于新用户,完成注册需要通过邮箱或手机,并进行必要的身份验证以激活账户功能。 一、使用专业的网络代理工具 此方法通过改变你的网络出口…

    2025年12月12日
    000

发表回复

登录后才能评论
关注微信