基于 GhostNet 不同版本的图像识别

1、介绍

GhostNet 文章地址:[1911.11907] GhostNet: More Features from Cheap Operations (arxiv.org)

主要思想:

特征提取的时候,很多特征图是具有高度相似性的,也就是说存在许多的冗余特征图。

从另一个角度想,利用一系列的线性变化,以很小的代价生成许多能从原始特征发掘所需信息的“幻影”特征图呢

冗余的特征图是非常有必要的,可以保证网络对输入数据的理解更为全面。

ghostnet 的版本,本人在github上搜到了三个版本,这里干脆一起实现了

文末有项目下载

2、代码解释

代码目录如下:

  • 红色框为ghostnet 的主干网络
  • 蓝色框为数据集,数据保存在不同目录中,如果有测试集的话,也放在这里即可
  • 绿色框为训练生成的结果

2.1 训练脚本 train

传入参数如下:

网络的输出个数,代码会计算数据集,然后自动设定!

都是很常规的参数,优化器可供选择的有SGD、Adam,学习率采用自适应衰减

2.2 评估脚本 val

这里评估的代码从训练中独立出来,参数如下:

  • pth 传入测试集。没有的话,传入验证集也可以
  • 数据集的mean和std在训练日志log文件中可以找到

2.3 训练过程和结果

运行train脚本如下:

评估脚本如下:这里采用的评估指标是混淆矩阵、F1分数等等

训练结果:

weights 下有最好的权重和最后的权重文件

训练和验证集的loss、acc曲线

注意:这里val 比 train 的acc高,因为数据划分不平衡所致,val集数量加多一点即可

学习率衰减:

训练日志:这里有mean和std

 

数据预处理的可视化:

 

3、使用

项目地址: 基于ghostNet网络对将香蕉5种不同阶段成熟度的分类【包含数据集+代码+训练结果】资源-CSDN文库

配置GPU的torch训练,参考:Pytorch 配置 GPU 环境_pytorch gpu-CSDN博客

新建虚拟环境:conda create -n ghost python=3.8

激活虚拟环境:conda activate ghost

安装库文件即可:pip install -r requirements.txt

训练自己数据集,将数据集摆放好即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/22305.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从零开始实现自己的串口调试助手(5) -实现HEX显示/发送/接收

实现HEX显示: HEX 显示 -- 其实就是 十六进制显示 --> a - 97(10) --> 61(16) 添加槽函数(bool): 实现槽函数: 注意: 注意QString 没有处理HEX显示的相关API 需要使用 toUtf-8 来 转换位QByteArry 类型, 利用其中的API 来处理HEX格式(toHex fromHex) vo…

【做一道算一道】字节实习笔试(A出来的两道)

快乐氛围 题意大概是派对上每个人的氛围值不同,值高的跟值低的打招呼,总氛围会产生变化,值相同的打招呼不产生变化,求整体派对的氛围值。 氛围值变化公式高值-低值 示例 输入: 3 2 4 0 输出: 8 意为&…

Kubernetes外部服务管理Ingress介绍

前言 在 Kubernetes 集群中,管理外部服务的访问和流量路由至关重要。通过使用 Ingress 控制器,我们能够实现对外部服务的有效管理,配置灵活的路由规则,并实现负载均衡和流量控制。 目录 一、Ingress 介绍 1. Ingress 概述 2.…

【求助】ansible synchronize 问题

求助贴,不是解答贴哈 最近把一台服务器从centos7.9升级到alibaba cloud linux3之后,出现了一个ansible的问题。 版本是ansible8.3.0ansible-core-2.15.3,在使用synchronize模块时,我使用了别名(比如web1)会…

Windows下搭建Cmake编译环境进行C/C++文件的编译

文章目录 1.下载Cmake2.安装MinGW-w643.进行C/C文件的编译 1.下载Cmake 网址:https://cmake.org/download/ 下载完成后安装,勾选“Add CMake to the system PATH for the current user" 点击Finish完成安装,在cmd窗口验证一下是否安…

C++并发之线程(std::thread)

目录 1 概述2 使用实例3 接口使用3.1 construct3.2 assigns3.3 get_id3.4 joinable3.5 join3.6 detach3.7 swap3.8 hardware_concurrency 1 概述 Thread类来表示执行的各个线程。   执行线程是指可以在多线程环境中与其他此类序列同时执行的指令序列,同时共享相同…

python使用pandas的常用操作

文章目录 安装导入主要数据结构常用方法和操作创建数据结构读取和写入数据数据选择和过滤数据操作基本统计分析分组和聚合合并和连接重塑数据1. pivot 和 pivot_table2. melt3. stack和 unstack 常用方法总结pandas操作excel安装相关库 读取单个工作表读取指定工作表读取多个工…

短视频矩阵系统源码---开发BS架构B/S(Browser/Server Architecture)架构

短视频矩阵系统源头开发------- 第一款叫做筷子科技,这个筷子科技剪辑和发布都是没有问题的,但是前一段时间他的剪辑发个公告,每个账号只能发两条,另外它的唯一缺点就是它成本比较高的,入门门槛应该在12800左右&#…

CHATGPT升级plus(已有账号前提下)

注册wildcard(虚拟卡) 注册号账号后先进行充值,充值后选择CHATGPT一键升级按照他的流程来即可 Wildcard网址:Wildcard跳转注册 填写邀请码充值时少两美金合计14¥ 邀请码:OL3QXTRH

【2022-2011年】地级市数字经济指数原始数据+测算dofile+结果

参照赵涛等(2020)的文章,利用熵值法对城市数字经济指数进行测算,包括原始数据、线性插值、回归填补3种版本下测算的数字经济指数。保留原始数据、stata代码和测算结果,大家可进行复现 一、数据介绍 数据名称&#x…

useState和store的区别

useState 和 useStore 是 React 应用中用于管理数据状态的两种不同的 Hook。它们在功能和用途上有一些区别: useState useState 是 React 提供的一个 Hook,用于在函数组件中添加局部状态。每个 useState 调用都会返回一个数组,包含两个元素…

Python爬虫协程批量下载图片

import aiofiles import aiohttp import asyncio import requests from lxml import etree from aiohttp import TCPConnectorclass Spider:def __init__(self, value):# 起始urlself.start_url value# 下载单个图片staticmethodasync def download_one(url):name url[0].spl…

电机启动器:变频驱动器故障的原因

变频驱动器 (VFD)是 一种电子电机控制器,用于调节同步或感应电机 的转速 并驱动电力行业的负载。VFD也称为变频器、逆变器驱动器、交流驱动器、可调频驱动器、可调速驱动器、微型驱动器或变速驱动器,其 功能是选择电压频率并在用于驱动电机之前改变它。 …

12年外贸人的肺腑之言

转自Vicky 大家好,作为一个有着12年外贸经验的老鸟,今天我要和大家分享一些宝贵的建议,这些建议可能会对你的外贸之路产生重大影响。拿好小本本,记好笔记,我们直接进入正题。 首先,如果你决心要在外贸领域…

几万块投入,预防几百万损失——客户风险管理如何高效落地?

作为公司的风控负责人,老张近来最头疼的莫过于某大客户突然暴雷,一次性“送”了公司几十万坏账。事后复盘,老张发现公司现有的客户风险管理体系已相对落后,不再适用于快速变化的商业环境: 客户风险定级依靠销售人员提…

哥斯拉、冰蝎、中国蚁剑在护网中流量特征分析,收藏起来当资料吧,24年护网用得上

护网哥斯拉、冰蝎、中国蚁剑流量分析 【点击免费领取】CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》🔗包含了应急响应工具、入侵排查、日志分析、权限维持、Windows应急实战、Linux应急实战、Web应急实战。 护网中最担心的是木马已经到了服…

Java2实用教程上机实践9,10,11

前言 大家好呀,大家肯定遇到过学校布置的作业不会做的情况吧?这个时候大量的网上找资料,找如何做这道题,为了帮助用Java2实用教程(耿祥义 张跃平主编)的学子们拿满平时分,这里整理出这本书中比…

数据集成赛道重回数据领域兵家“必争之地”!

作者 | 郭炜 导读:此前,《技术成熟度曲线2024》第一、二部分内容已发布,详见《「从ETL 到ELT,到 EtLT的趋势」》、《数据集成成熟度模型解读》。本文为报告的最后一篇,主要对数据集成技术进行趋势预测与总结&#xff0…

python的DataFrame和Series

Series、DataFrame 创建 pd.Series() pd.DataFrame() # 字典{列名:[值1,值2],} [[]] [()] numpy Pandas的底层的数据结构,就是numpy的数组 ndarray 常用属性 shape (行数,) (行数,列数) values → ndarray index 索引名 siz…