自封装的链表

YOLO26算法水面与液体识别+训练好的模型+393张数据集+pyqt可视化界面.zip 附训练好的 YOLO 权重与 PyQt 可视化检测界面,页面底部含可视化效果预览,毕设/课设开箱即用。 【数据集概况】 · 检测类别(中文):[未获取()] 【训练曲线与评估图】 【模型训练配置】 参数 | 值 模型 | yolo26n 训练轮数 | 100 epochs 输入尺寸 | 640x640 批次大小 | 24 优化器 | auto 初始学习率 | 0.01 训练设备 【关键指标汇总】 训练了 52 个 epoch,最终轮指标: 指标 | 数值 mAP50 | **0.8528** mAP50-95 | 0.3441 Precision | 0.7729 Recall | 0.8354 train/box_loss | 1.5367 train/cls_loss | 1.0228 val/box_loss | 1.6809 val/cls_loss | 1.1758 【训练过程分析】 我这次训练了52个周期,模型在训练初期确实收敛速度很快,前20个周期mAP50从0.74逐步提升至0.82,这说明模型开始适应数据集,学习到一些关键特征。但到第30个周期后,提升速度逐渐放缓,到了40个周期时,mAP50达到0.85,这个阶段的曲线走势有些像磨砂玻璃,平滑且不规则,后期更是趋于平缓,表明模型可能已经达到最优解,再继续训练可能会有少量提升但代价较大。整体而言,从loss曲线来看,训练集的box_loss和cls_loss在52个周期内分别从1.80和1.25降到1.54和1.02,下降曲线较为稳定,但到了后期,这两项指标下降幅度逐渐减缓,尤其cls_loss下降至1.10左右后趋于稳定,这可能是模型对训练数据已有了较强的泛化能力,但也提示我们分类的稳定性可能还欠些火候。 至于验证集的表现,box_lo... 使用场景:毕业设计、课程设计、深度学习入门、工业场景落地验证。 立即下载
由于最近工作需求,自封装的链表,代码:
#include <stdio.h>
#include <stdexcept>
#include <exception>
#include <iostream>

using namespace std;

struct timer_list 
{
	int type;
	timeval tval;
	// tv_sec;
	// tv_usec;

	void(*function)(unsigned long);   //timer超时回调函数
	unsigned long data;                  //传递给回调函数的数据,也就是定时器数据
};


typedef timer_list T;

class List
{
 private:
   struct Node
   {  //内部类
      T data;
      Node* next;
      Node(T& d):data(d),next(){}
   };
   Node *head;  //头指针
   int sz;      //元素个数
   Node*& getptr(int pos)
   {
      Node* p = head;
      if(pos == 0)
	  {
         return head;
      }
      for(int i=0;i<pos-1;++i)
	  {
         p = p->next;
      }
      return p->next;
   }
public:
   List(void):head(NULL),sz(0){}
   ~List(){clear();}
   //向链表中插入一个元素
   bool insert(T& d)
   {
      return insert(sz,d);
   }
   // //打印链表
   // void travel(void)
   // {
      // Node* p = head;
      // while(p)
	  // {
         // cout << p->data << ' ';
         // p = p->next;
      // }
      // cout << endl;
   // }
   //在指定位置增加元素
   bool insert(int pos, T& d)
   {
      if(pos < 0 || pos > sz)
	  {
         return false;
      }
      Node*& r = getptr(pos);
      Node* pn = new Node(d);
      pn->next = r;
      r = pn;
      sz++;
      return true;
   }
   //清空链表
   void clear(void)
   {
      Node* p = head;
      while(head)
	  {
         head = head->next;
         delete p;
         p = head;
      }
      sz = 0;
   }
   //删除节点
   bool erase(int pos)
   {
      if(pos < 0 || pos >= sz)
	  {
         return false;
      }
      Node*& r = getptr(pos);
      Node* q = r;
      r = r->next;
      delete q;
      sz--;
      return true;
   }
   T& at(int pos)throw(out_of_range)
   {
      if(pos < 0 || pos >= sz)
	  {
         throw out_of_range("out");
      }
      Node*& r = getptr(pos);
      return r->data;
   }
   int size(void)
   {
      return sz;
   }
   //返回最后一个元素
   T& back(void)
   {
      return at(sz-1);
   }
   //返回第一个元素
   T& front(void)
   {
      return at(0);
   }
   //判空
   bool empty(void)
   {
      return (sz == 0);
   }
    //在链表尾插入元素
    void push_back(T& d)
	{
       insert(sz,d);
    }
    //在链表首插入元素
    void push_front(T& d)
	{
       insert(0,d);
    }
    void pop_back(void)
	{
       erase(sz-1);
    }
    void pop_front(void)
	{
       erase(0);
    }
 };


LLC谐振变换器恒压恒流双竞争闭环控制simulink仿真(附说明文档) 内容概要:本资源是一套面向电力电子与智能控制领域的综合性科研仿真资料合集,核心聚焦于LLC谐振变换器的恒压恒流双竞争闭环控制策略设计与Simulink建模仿真实现,涵盖半桥LLC、双向全桥LLC等拓扑结构的调频闭环仿真,并提供详尽的说明文档与PPT辅助材料。资源体系不仅深入呈现LLC变换器的动态响应与控制逻辑,还扩展至双有源桥(DAB)变换器的软开关协同优化、最小应力控制、EPS调制策略及新扩展移相角优化等前沿技术,同时集成三相PWM整流器在电网不平衡条件下的功率平衡控制、VOC+SVPWM双闭环控制等典型应用场景。此外,资源包涵盖状态估计(如EKF、UKF、PF)、微电网经济调度、卡尔曼滤波融合、神经网络控制、PID优化、储能系统管理等多个交叉方向,特别强调对顶级EI期刊研究成果的高精度复现,旨在帮助科研人员快速掌握先进控制算法的核心思想与仿真实现方法。; 适合人群:电气工程、自动化、电力电子、新能源科学与工程等相关专业的硕士博士研究生、高校科研人员,以及从事新能源变换器、智能电网、电动汽车、微电网系统研发的工程技术人员。; 使用场景及目标:① 深入理解LLC与DAB变换器的闭环控制机理,掌握恒压恒流切换、软开关实现与损耗优化方法;② 利用Simulink平台构建复杂电力电子系统模型,开展动态性能分析与控制器参数整定;③ 复现高水平期刊论文中的先进控制策略,提升科研创新能力与论文发表竞争力;④ 支持毕业设计、科研课题、项目申报及工程原型开发中的仿真验证环节。; 阅读建议:建议结合提供的完整资源目录循序渐进学习,优先研读标注“顶级EI复现”的案例以获取权威方法参考,配合MATLAB/Simulink动手搭建模型,重点关注控制框图设计、调制逻辑实现与仿真结果对比,深入理解算法背后的物理意义与数学推导过程。 立即下载

相关推荐

多智能体强化学习论文——SEAC(NIPS 2020)

存在的问题&研究动机&研究思路 在稀疏奖励的环境下,多智能体的exploration存在效率不足等问题。 在IAC的基础上尝试加入重要性采样,使得每次更新智能体iii的参数时,不再仅仅使用智能体iii的数据,而是使用所有智能体的数据进行智能体iii数据的更新。 对于原始的IAC算法是on-policy的,而SEAC则是off-poligy的。 创新点 在每个智能体iii的actoriactor_iactori​和criticicritic_icritici​的更新过程中,都加入了重要性

我的AI笔记 1206

Android 自封装的各种类

1、完全关闭应用程序一般在activity中使用finish等各种方法,都仅仅只能关闭部分activity。 这里采用的方法是:链表中注册每个activity,在结束时,结束所有的activitySysApplication类如下public class SysApplication extends Application { private List<Activity> mList =

feather(猎羽) 684

机器学习模型——非线性回归

升维是一种常用的处理非线性问题的方法,它通过将原始数据从低维空间映射到高维空间来增强模型的表达能力。我们可以看出,二维数据用一维直线很难去很好的拟合。升维里的degree设置的不易过大,否则容易造成维度灾难。升维后,拟合的线与原数据比较符合。将非线性问题转换为线性问题。

qq_60688380的博客 1421

php mysql自封装简易ORM类

1 <?php 2 3 class OrmModel{ 4 const JOIN_TYPE_INNER = 'INNER'; 5 const JOIN_TYPE_LEFT = 'LEFT'; 6 const JOIN_TYPE_RIGHT = 'RIGHT'; 7 const INSERT_IGNORE = 'IGNORE'; 8 cons...

weixin_30344995的博客 176

GAMES101学习-第8课进行shader的初步了解

详细理解课上展示的像素着色器GLSL,以及了解了API、OpenGL、DirectX到底是什么,还有shadertoy这个网站的初步探索。

qq_41835314的博客 1917

东方财富网API接口逆向分析:手把手教你破解那个带jQuery回调的股票数据接口

本文详细解析了东方财富网股票数据API接口的逆向工程实战技巧,重点介绍了JSONP接口的核心机制、参数解析及数据处理方法。通过Python代码示例演示了如何构造请求、处理分页数据及应对反爬策略,帮助开发者高效获取股票数据。文章还提供了完整的爬虫实现案例和常见问题排查指南。

weixin_30790841的博客 714

Netty Pipeline

Netty 中的业务处理流程都是在 Pipeline 中被处理的,它底层是一个双向链表,链表元素是ChannelInBoundHandler 和 ChannelOutBoundHandler,二者都是 ChannelHandler 接口类,一个 Channel 拥有一个 Pipeline, 当 Channel 被创建时会创建一个空的Pipeline。

qq_38148090的博客 542

AD9361 Fast Lock实战:Python脚本自动生成Profile寄存器配置(附完整代码)

本文详细介绍了利用Python脚本实现AD9361 Fast Lock Profile寄存器自动化配置的实战方案。通过解析频率合成公式、VCO约束及查表机制,脚本能根据目标频率一键生成完整的16进制寄存器序列,大幅提升射频系统开发中多频点切换的效率和准确性,并支持CSV、JSON、C头文件等多种输出格式,便于与FPGA/嵌入式系统集成。

weixin_29194693的博客 475

Linq语句查询数据

Linq语句查询数据 开发工具与关键技术:VS MVC 作者:小赵 撰写时间:2019/04/03 对于一个项目初学者来说,项目设计到完成的模块知识都是空白的;整个过程学习也遇到很多问题,尽管问题小,但对于一个初学者来说是很大的问题;在项目中数据表格绑定数据,需要项目链接数据库查询数据,定义一个linq语句查询数据的方法。 在写方法之前,需先了解linq查询语句,Linq to SQL 全称基...

weixin_44519188的博客 1183

【Python】秋招机考 —— 2025/9/17 华为 AI 方向

秋招机考,华为 AI,使用 Python 完成编程。

一杯水果茶!足矣~ 1164

基于STC8G1K08A单片机的PCA捕获外部信号(100~1000HZ)程序实现

基于STC8G1K08A单片机的PCA捕获外部信号(100~1000HZ)程序实现

weixin_74013772的博客 254

《Netty深入剖析》一、二:Netty基本组件和Netty服务端启动

1 Netty基本组件 1.1 网络通信之Netty模型 NioEventLoop NioEventLoop#run方法对应着Bio的while(true)轮询,里面存放业务逻辑代码; 对应着两个Thread:一个是服务端的监听,一个是对客户端的读写 用法: 创建两个NioEventLoopGroup,一个bossGroup一个workerGroup; bossGroup是服务端的监听,,w...

416

(持续更新中!)详解【计算机类&面试真题】军队文职考试 ——第一期(真题+解析)| TCP、UDP的区别;程序局部性;ICMP协议及主要功能;重定位所需的计算机硬件

在当今信息化时代,军队中对于计算机专业人才的需求与日俱增。因此,了解面试和复试中常见的问题和要求对于准备应聘者来说至关重要。本文将围绕面试的准备要点、常见问题以及面试技巧进行探讨,并提供一些建议和经验。通过了解面试和复试的准备要点、常见问题以及技巧,读者将能够提升应对能力和成功率。本文为准备军队文职面试和计划考研复试的读者提供了有价值的参考和指导。通过阅读本篇博客,读者将能够获得关于军队文职计算机类面试和计算机考研复试的全面了解,提升自身的应对能力和成功率。

追光者♂:记录、分享、总结、提升,现象级专栏《Python从入门到人工智能》作者,无惧黑暗,坚信曙光 1689

Redis面试精讲 Day 26:Redis源码分析:事件循环与网络模型

术语 | 定义 | 作用 || 事件循环(Event Loop) | Redis主线程中持续运行的循环体,负责监听并处理各类事件 | 驱动整个服务的运行 || 文件事件(File Event) | 对Socket读写事件的封装,如客户端连接、命令读取、响应发送 | 处理网络I/O操作 || 时间事件(Time Event) | 定时任务事件,如服务器定时任务、过期键清理 | 执行周期性或延迟操作 |

在未来等你的专栏 968

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

重构的艺术

在吗?在吗?在吗?---》不要慌,我还在经典重读:改善既有代码的设计一、重构的定义重构:对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本。重构:使用一些列重构手法,在不改变软件可观察行为的前提下,调整其结构。二、重构的时机1、如果你发现自己需要为程序添加一个特性,而代码结构使你无法很方便的达成目的,那就先重构那个程序,使特性的......

super_scan的专栏 296

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

飞车竞速-姜雪伟-专题视频课程

本课程是一款真正的商业游戏开发,该产品涉及的技术点非常多,从编码规范到系统架构设计给大家一一展现,其主要技术点包括: 全新的游戏架构设计理念 打造自己的UI系统,不使用任何第三方UI(NGUI或UGUI)。 文本文件的加密以及多语言版本的实现。 场景的无缝拼接。 数值驱动游戏开发 多关卡设计 绚丽的特效系统 游戏商店设计 丰富的游戏玩法 升级系统设计 新手引导等等...

海洋个人博客 463

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

C++高性能网络服务器:多Reactor模型与epoll边缘触发实战

网络服务器作为现代分布式系统的核心组件,其性能直接影响用户体验和系统吞吐量。其工作原理基于I/O多路复用技术,通过事件驱动模型高效管理海量并发连接。在追求极致性能的场景下,C++凭借其零开销抽象和精细的资源控制能力,成为构建底层网络基础设施的首选语言。通过直接操作系统调用和自定义内存管理,开发者可以优化内存分配、减少数据拷贝,从而显著提升吞吐量和降低延迟。这种技术价值在高频交易、实时通信和大型在线服务等场景中尤为突出。本文以多Reactor模型为核心架构,结合epoll边缘触发模式,深入探讨如何利用C++实

weixin_30856725的博客 389

常见嵌入式操作系统中的并发与竞争保护机制

本文系统性的梳理了嵌入式并发保护的十大机制:关中断、关调度、自旋锁、互斥锁、信号量、读写锁、原子操作、无锁结构、临界区抽象与内存屏障。每种机制先讲原理与适用边界,再逐一给出 Linux、FreeRTOS、μC/OS-II/III、RT-Thread、Zephyr、ThreadX、NuttX、LiteOS、AliOS Things 共 10 个系统的接口详解与实现差异,并对优先级反转、选型决策给出对照表、思维导图与工程军规,可作为跨平台开发与技术选型的速查手册。

smallerxuan的博客 6972

金山办公C++校招笔试考点全解析:从内存管理到工程实践

C++作为系统级编程语言,其底层机制如内存管理、RAII、智能指针、虚函数等,直接影响大型软件的性能与稳定性。对于校招笔试而言,理解指针与引用、虚函数表、STL容器选型与迭代器失效规则,是应对选择题和编程题的关键。这些知识不仅用于算法题,更在WPS这类大型桌面软件的开发中发挥着核心作用。本文以金山办公C++校招笔试为背景,系统梳理从内存管理到多线程并发的高频考点,帮助求职者建立“底层机制优先、工程意识并行”的备考体系,掌握典型考题的解题思路,提升通过率。

weixin_32247165的博客 338

error MSB6006: “cmd.exe”已退出,代码为 1

我有一个VS 12解决方案与我自己的项目,这取决于一些依赖项(使用cmake生成的项目文件)。我使用cmake生成这些VS12项目,并将这些项目添加到我的解决方案(使用相对路径)。然后我不得不调整这些项目的输出目录,建立目标在其他地方我自己的项目可以找到他们(所以只是运行cmake后,路径更改不能解决我的问题,因为我将编辑所有项目 如果现在解决方案的绝对路径更改,解决方案仍然可以找到

编程拾掇 1万+

设计模式--六大原则与三种类型

一.6大原则 1.单一职责原则(Single Responsibility Principle) 定义:就一个类而言,应该仅有一个引起它变化的原因;     如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责变化可能会消弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏;     T负责两个不同的职责:职责P1

编程拾掇 3886

win32 用户自定义消息范围

WINDOWS自定义消息WM_USER和WM_APP WM_USER常量是Windows帮助应用程序定义私有窗口类里的私有消息,通常使用WM_USER+一个整数值,但总值不能超过0x7FFF。 #define WM_USER       0x0400                  -->1024 WM_APP常量是Windows帮助应用程序定义私有消息,通常使用WM_APP+

编程拾掇 1951

curl+openssl编译

编译win32需要使用vs命令行x86,64需使用x64 pushd D:\curl+openssl\source_code\openssl-master perl Configure VC-WIN32 no-asm no-shared --prefix="D:\curl+openssl\source_code\openssl_bulider" 这个时候如果返回 “警告被视为误错误,,没有生成ob...

编程拾掇 1641

QTCreater调试提示ptrace

编程拾掇 935

c++面试宝典

1.new、delete、malloc、free关系 delete会调用对象的析构函数,和new对应free只会释放内存,new调用构造函数。malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要

编程拾掇 839
上一篇: 不负此生
下一篇: Linux内核系统定时器TIMER实现过程分析
小姐不得无礼
博客等级 码龄14年 672粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值