Septemper daily training (一)

深度学习之Encoder-Only原理与实战 【代码】深度学习之Encoder-Only原理与实战。 阅读详情

写在前面:

这是自己选的一场codeforce 1400-1600 的题。

写写训练日常吧,杜绝自己摸鱼 -- 训练时间 8.9下午

A.Diverse game

       解析:

       题目保证了矩阵a中的所有数字都是不同的,直接将所有元素往后挪一位,将最后一位挪到第一位即可。

#include <bits/stdc++.h>
using namespace std;
using ll =long long;
const int N=1e5;


inline void solve() {
	int n,m; cin >> n >> m;
	vector<int>a(n*m);
	int cnt=0;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			cin >> a[cnt++];
		}
	}
	if(n*m==1) {cout << -1 <<'\n';return;}
	int jx=1;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			if(i==n && j==m) {cout << a[0] <<'\n';return;}
			cout << a[jx++] << ' ';
		}
		cout << '\n';
	}
}

int main() {
	ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
	int T = 1;
	std::cin >> T;
	while (T--) solve();
	return 0;
}

B. Fun Game

解析:

        考虑到,01序列中任意一个字符可以被第一个字符单点修改,那么只要 s 的第一个是‘1’,s就一定可以转换为t,进一步的我们可以发现,后面的数字是可以被前面的数字影响的,而前面的数字最多只能被自己影响,又因为1可以将0变1,1变0,所以我们只需要找到俩个序列的第一个1,判断一下,s的第一个1是不是出现得比 t 早就可以了。特判一下,t 中没有1的情况即可。

#include <bits/stdc++.h>
using namespace std;
using ll =long long;
const int N=1e5;


inline void solve() {
	int n; string s,S; cin >> n >> s >> S;
	if(s[0]=='1') cout << "YES" << '\n';
	else {
		int c=-1,d=-1;
		for(int i=0;i<n;i++){
			if(s[i]=='1' && c==-1) c=i;
			if(S[i]=='1' && d==-1) d=i;
			if(c!=-1 && d!=-1) break; 
		}
		if(d==-1) cout <<"YES"<<'\n';
		else if(c<=d && c!=-1 && d!=-1) cout << "YES"<<'\n';
		else
		cout << "NO" << '\n';
	}	
}

int main() {
	ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
	int T = 1;
	std::cin >> T;
	while (T--) solve();
	return 0;
}

C. Hungry Games

解析:

        正难则反,考虑到所有子区间为 n*(n+1)/2 ,计算出g值为0的区间数目,俩者相减就是答案

双指针扫一遍就好了,注意俩个相邻的区间可以合并。

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int N = 2e5 + 10;

ll a[N];
inline void solve() {
	//有多少个存在子区间大小刚好超过x的连续子区间
	ll n, x;
	cin >> n >> x;
	for (int i = 1; i <= n; i++) cin >> a[i];
	ll sum = 0, ans = 0, cnt = 1; // cnt 为左端点
	map<int, int>mp; // 存以端点 i 为右端点的区间和刚好大于x的数目,此时对于另一个紧挨着的以端点 i + 1
	// 为左端点的同样一个区间,此时对于答案的贡献就是 mp[i-1] + 1
	for (int i = 1; i <= n; i++) {
		sum += a[i];
		if (sum > x) {
			while (sum > x) sum -= a[cnt], ans += mp[cnt - 1] + 1, mp[i] += mp[cnt - 1] + 1, cnt++;
		}
	}
	cout << n*(n + 1) / 2 - ans << '\n';


}

int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	int T = 1;
	std::cin >> T;
	while (T--) solve();
	return 0;
}

D. Two Movies

解析:

简单模拟题,注意细节贪心求即可

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int N = 2e5 + 10;

int A[N], B[N];
inline void solve() {
	int n;
	cin >> n;
	int x = 0, y = 0;
	int a = 0, b = 0;
	for (int i = 1; i <= n; i++) cin >> A[i];
	for (int i = 1; i <= n; i++) cin >> B[i];
	for (int i = 1; i <= n; i++) {
		int u, v;
		u = A[i], v = B[i];
		if (u == v) {
			if (u == 0) continue;
			if (u > 0) a++;
			else b++;
		} else if (u > v) x += u;
		else y += v;
	}
	if (x < y) swap(x, y);
	int k = min(x - y, b);
//	cerr << x <<" "<< y;
	x -= k;
	b -= k;
	if (b == 0) {
		k = min(x - y, a);
		a -= k;
		y += k;
		if (a == 0) cout << y << '\n';
		else cout << x + a / 2  << '\n';
	} else {
		if (a > b) cout << x + (a - b) / 2 << '\n';
		else cout << x - (b - a + 1) / 2 << '\n';
	}



}

int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	int T = 1;
	std::cin >> T;
	while (T--) solve();
	return 0;
}

E. Mathematical Problem

解析:

插入 n - 2 个运算符,说明至少要合并俩个数字,考虑合并字典序最小的俩个数字,但是注意如果有俩个数字第一个数相同,那么第二个数为1的反而更不优。

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int N = 1e5;


inline void solve() {
	int n;
	cin >> n;
	string s;
	cin >> s;
	if (s.size() <= 2) {
		cout << stoi(s)  << '\n';
		return;
	}
	if (s[0] == '0' || s[n - 1] == '0') {cout << 0 << '\n';return;}
	else if (s.size() >= 4) {
        for(int i=1;i<n;i++){
			if(s[i]=='0') {cout << 0 << '\n';return;}
		}
	}
	ll res = 0;
	string t = "", ss = ""; //最小串,当前串
	t += s[0], t += s[1];
	ss = t;
	for (int i = 2; i < n; i++) {
		ss[0]=ss[1];
		ss[1]=s[i];
		if(t[1]=='1' && ss[0]==t[0]){
			 t=ss;
		}
		else {
			if(t[0]==ss[0] && ss[1]=='1') continue;
			if(ss<t) t=ss;
		}
	}
	int flag=0;
	for(int i=0;i<n;i++){
		if(i!=n-1 && s[i]==t[0] && s[i+1]==t[1] && !flag) {
			int tt=stoi(t);
			if(tt!=1) res+=tt;
			i++;
			flag=1;
		}
		else if(s[i]=='1'){
			continue;
		} 
		else res+=s[i]-'0';
	}
	if(res==0) res++;
	cout << res <<'\n';
}

int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	int T = 1;
	std::cin >> T;
	while (T--) solve();
	return 0;
}

F. D-Function

解析:注意数据范围,此题需要O(1)去完成,逆元和快速幂不懂的自行百度哦

#include <bits/stdc++.h>
using namespace std;
using ll =long long;
const int N=1e5,p=1e9+7;

ll qpow(ll a,ll x){
	ll ans=1;
	while(x){
		if(x & 1) ans=ans * a %p;
		a=a*a%p;
		x>>=1;
	}
	return ans;
}
inline void solve() {
	int l,r,k; cin >> l >> r >> k;
	l++,r++;
    //注意到,对于满足条件的数,最大使用数字 i 满足 k*i<= 9
	//所以就是用 0-i 的所有数字 去填 l -- r-1 个空,保证第一个数不为0
	ll mx=9/k;
	if(mx<1) {
		cout << 0 << '\n';
		return ;
	}
	ll ans=0;
//	for(int i=l;i<r;i++){
//      分步乘法运算,先确定第一个数有 mx 种放法,后面每一个位置有  mx + 1 种放法
//		ans=(ans+qpow(mx+1,i-1)*mx)%p;
//	}
    // 设 l 位时的贡献是 x, l+1 位的贡献是 x * (mx+1) 等差数列求和
	// 答案即为 x * (1- qpow(mx+1,r-l))/(1-mx-1)
	// 注意逆元
	ans= qpow(mx+1,l-1)*mx%p;
	cout << ans*(qpow(mx+1,r-l)-1+p)%p*qpow(mx,p-2)%p << '\n';
}

int main() {
	ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
	int T = 1;
	std::cin >> T;
	while (T--) solve();
	return 0;
}

G. Game On Tree

解析:

        对于一个只有俩片叶子的树来说,其实就是一个瘦高的“人”字形树,我们首先建树,再判断一下起始点在头还是脚就可以了,这是一个很简单的根据奇偶性的博弈

#include <bits/stdc++.h>
using namespace std;
using ll =long long;
const int N=2e5+10;

vector<int>g[N];
inline void solve() {
	int n,t; cin >> n >> t;
	for(int i=1;i<n;i++){
		int u,v; cin >> u >> v;
		g[u].push_back(v);
		g[v].push_back(u);
	}
	map<int,int>mp; //记录每一个节点的儿子的个数
	auto dfs=[&](auto self,int x, int pr)->int{
		int sum=0;
		for(auto i:g[x]){
			if(i==pr) continue;
			sum+=self(self,i,x)+1;
		}
		mp[x]=sum;
		return sum;
	};
	dfs(dfs,1,0);
	int st; cin >> st;
// 事实上 st 最多只有俩个子树,考虑左子树和右子树的大小即可
	int flag=0;
//	for(int i= 1;i<=n;i++) cout << mp[i] << ' ';
	if(mp[st]+1==n) {
		for(auto j:g[st]) if((mp[j]+1) & 1) flag=1;
	}
	else {
		int t=n-mp[st]-1;
		if(t & 1) flag=1;
		else if(mp[st] & 1) flag=1;
	}
	if(flag) cout << "Ron";
	else cout << "Hermione";
}

int main() {
	ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
	int T = 1;
//	std::cin >> T;
	while (T--) solve();
	return 0;
}

H.Turtle vs. Rabbit Race: Optimal Trainings

解析:

        对于一个左端点来说,越往右训练的节数肯定是单调增加的,所以我们可以二分找一个分界点,答案就是分界点的左右俩个数中的一个。

#include <bits/stdc++.h>
using namespace std;
using ll =long long;
const int N=1e5+10;

ll a[N],p[N];
inline void solve() {
	int n; cin >> n;
	for(int i=1;i<=n;i++) {
		cin >> a[i];
		p[i]=p[i-1]+a[i];
	}
	int q; cin >> q;
	while(q--){
		ll l,r=n,u; cin >> l >> u;
		// 我们要尽量找到一个以l为起点的子段,使得sum 尽可能的接近 u
		// 也就是 a[r + 1] +sum > u && sum - a[r] < u 的分界点
		// 我们可以通过预处理前缀和加二分的方式解决这个问题
		ll lr=l;
		while(lr+1<r){
			ll mid = lr+r >> 1;
			if(p[mid]-p[l-1]>u) r=mid;
			else lr=mid;
		}
		ll t=p[lr]-p[l-1],tt=p[r]-p[l-1];
		ll t1=(u+(u-t+1))*t/2,t2=(u+1)*u/2-(tt-u-1)*(tt-u)/2;
		if(t1>=t2) cout << lr << ' ';
		else cout << r << ' ';
	}
	cout << '\n';
}

int main() {
	ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
	int T = 1;
	std::cin >> T;
	while (T--) solve();
	return 0;
}

写在最后:

循序渐进,劳逸结合才是王道。

深度学习之Seq2Seq原理与实战 【代码】深度学习之Seq2Seq原理与实战。 阅读详情

相关推荐

深度学习之TF-IDF原理与实战

【代码】深度学习之TF_IDF原理与实战。

yumiwangzi30的博客 183

深度学习0:数学知识:正态分布1

步骤内容结果1引入e−x2e^{-x^2}e−x2钟形曲线2算它的面积I∫−∞∞e−x2dxI∫−∞∞​e−x2dx3平方变成二重积分I2I^2I24换极坐标简化计算5算出I2πI^2 = \piI2πIπIπ​6代入σ\sigmaσ和μ\muμ做变量替换得到σ2πσ2π​7除以它归一化得到正态分布公式2π2π​不是随便写的,它来自高斯积分∫−∞∞e−x2。

tellmewhoisi的博客 192

深度学习之LoRA(低秩适配)原理与实战

【代码】深度学习之LoRA(低秩适配)原理与实战。

yumiwangzi30的博客 254

【原创深度学习项目】基于深度学习的建筑工地防护装备检测系统|安全帽与反光衣检测系统(RT-DETR-L 模型)

本文设计并实现了一套基于RT-DETR-L的建筑工地防护装备检测系统,采用Django+Vue前后端架构,实现对安全帽、反光背心等7类装备及“无PPE”“未戴安全帽”等缺失状态的精准识别。系统支持图片、视频、摄像头实时检测,具备参数可调、数据可视化与统计分析功能,有效解决小目标漏检、误检及管理难问题,助力智慧工地安全管理落地。文末可获取源码。

qq_1445749146的博客 209

深度学习之词袋(Bag-of-Words, BoW)原理与实战

【代码】深度学习之词袋(Bag-of-Words, BoW)原理与实战。

yumiwangzi30的博客 218

深度学习之LSTM原理与实战

【代码】深度学习之LSTM原理与实战。

yumiwangzi30的博客 129

图解循环神经网络(RNN)

RNN(循环神经网络)就是“带记忆的网络”:让网络拥有一块“记忆”,在处理当前数据时,能同时参考之前看过的内容;它不一次性看完全部输入,而是像人读书一样,一个字一个字地读,每读一个字就更新一次脑子里的记忆,然后用这份记忆去理解当前这个字。但便签一直在被改写,新信息不断挤占旧信息,传到第 40 步时,“巴黎”的痕迹已经淡得几乎没了。读到“贵”的时候,网络并没有重新去查“好看”这个词——但“好看”的影响已经融在了便签里(那个 1.5)。这三个困难的共同点:答案不在当前这一个字里,而在“前面那串东西”里。

技术管理两手抓,两手都要硬. 351

AI对战五子棋——深度学习策略网络

在本篇博文中,我们完成了:✔ 构建一个 CNN 五子棋策略网络✔ 让神经网络输出落子概率✔ 使用 Policy Gradient 强化学习训练 AI✔ 让 AI 实现人与 AI、AI 自对弈博弈。

X2829352498的博客 17

神经网络入门指南:从 CNN、RNN 到 Attention

神经网络的学习,本质是“预测—比较—纠错”的循环;CNN 通过局部连接与权重共享理解图像;RNN 通过隐藏状态传递上下文;LSTM 和 GRU 用门控机制管理记忆;Encoder–Decoder 把理解与生成拆成两个阶段;Attention 则让模型在每一步都能主动寻找最相关的信息。到这里,我们已经走完了从普通神经网络到 Attention 的完整路线。下一篇将正式进入 Transformer,看看它如何摆脱 RNN 的顺序计算,又如何让每个 Token 直接找到与自己相关的信息。

爱敲代码的小黄 348

Linux中断子系统分析之(四):驱动程序申请中断

中断子系统中有一个重要的设计机制,那就是Top-half和Bottom-half,将紧急的工作放置在Top-half中来处理,而将耗时的工作放置在Bottom-half中来处理。 如果中断不分上下半部处理,那么意味着只有等上一个中断完成处理后才会打开中断,下一个中断才能得到响应。当某个中断处理处理时间较长时,很有可能就会造成其他中断丢失而无法响应,影响系统性能。 中断分成上下半部处理可以提高中断的响应能力,在上半部处理完成后便将中断打开,这样就可以响应其他中断了,等到中断退出的时候再进行下半部的处理。为了进

m0_46525308的博客 1225

施耐德 Modicon M580 ePAC 项目实战:从硬件选型到 Control Expert V15 组态

本文详细解析了施耐德 Modicon M580 ePAC 在工业自动化项目中的实战应用,从硬件选型到 Control Expert V15 组态的全流程。重点介绍了水处理站控制系统的硬件配置、网络架构设计、软件安装授权及程序框架开发,帮助工程师高效实施中大型控制系统项目。

weixin_33701617的博客 326

基于深度学习的垃圾分类系统的设计与实现

本系统是一个基于 Flask Web 框架与 PyTorch 深度学习模型的垃圾分类智能识别平台。系统面向垃圾图像分类场景,能够对上传图片中的玻璃、纸张、纸板、塑料、金属、其他垃圾等六类垃圾进行自动识别与置信度评估,并提供识别历史、数据统计、模型在线训练与记录导出等完整功能。系统使用 TrashNet 公开垃圾分类数据集进行模型训练,管理员可手动发起模型训练,训练完成后自动加载新权重。启动服务不会自动训练。

aiyuanma_vip的博客 384

Oracle19c时区升级实战:从32到42版本的数据泵TSTZ报错解决方案

本文详细介绍了Oracle19c时区版本从32升级到42的实战步骤,重点解决数据泵TSTZ报错问题。通过检查时区版本、下载补丁包、应用补丁及执行升级脚本等关键操作,确保数据库时区数据更新,避免夏令时转换错误和历史时区规则不匹配等问题。文章还提供了常见问题排查和升级后的注意事项,帮助DBA高效完成时区升级任务。

n7o8p的博客 284

【人工智能驱动的电催化研究-01】人工智能是什么?AI、机器学习、深度学习和神经网络之间有什么区别?

介绍人工智能、机器学习、神经网络和深度学习的基本概念及相互关系。围绕催化剂性能预测,解释样本、特征、标签、模型、参数、训练、预测与验证的含义。结合二硫化钼边缘位点与析氢活性的研究案例,说明科学问题如何指导特征选择。利用真实文献中的析氢数据,通过手算和Python实践,对比人工规则与均值模型,理解参数学习和误差评价。强调数据学习不保证预测更优,相关性不能直接证明反应机理,文献数据还须核查实验条件与适用范围,为后续编程、数学和电催化机器学习课程建立基础。

2402_84593233的博客 789

【第一章】基于Simulink的控制器开发教程——目录

摘要:本文系统介绍了基于Simulink的控制器开发方法,涵盖PID、状态反馈、模型预测(MPC)、模糊控制、自适应控制等8类主流控制器。针对每种控制器,详细阐述了其基本原理、适用场景,并通过Simulink建模与仿真测试进行实践验证。文章采用"理论+实践"的结构,从算法设计到硬件实现全流程展开,为汽车、航空航天、工业控制等领域的控制器开发提供完整解决方案,最后通过应用对比与学习总结帮助读者掌握不同控制器的核心特性和应用场景。(149字)

熟悉MATLAB/fpga/RK3588/LABVIEW/protus/单片机/dsp/Multisim 387

谁在 SAP 系统里说了算:事务码 SCC4 与 SE06 的分工、优先级与实战管控

SAP系统通过SE06和SCC4两套机制控制变更权限:SE06作为系统级"总闸"管理跨Client对象修改,SCC4作为Client级"分闸"控制Client内配置变更。两者存在明确优先级,SE06的全局设置优先于SCC4。当SE06设为"不可修改"时,即使SCC4开放也无法更改跨Client对象。实际项目中需同时检查两处设置,并遵循"最小开放"原则进行变更管理。这种分层设计既满足日常维护需求,又能实现严格的变更管控。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 228

图解常用深度学习优化器

来隐式构造 Hessian 逆的近似,从而直接估计出“谷底在哪”,而非仅仅判断“哪边最陡”。即SGD/Adam 主要看“当前坡度”,LBFGS 还会看“最近几步坡度怎么变”,像用局部地形图来规划路线。训练 Transformer 时,有些层梯度大,有些层梯度小。如果用 Adam + L2,梯度大的参数反而可能被“少衰减”,正则效果不稳定;:你要下山,但每次迈步前都要派侦察兵把整座山的每一个坡面都测量一遍,算出“绝对最陡”的方向才走一步。:还是下山,但这次你只问身边一个路人“哪边最陡”,然后就走。

技术管理两手抓,两手都要硬. 198

Apple Store 上架过包:iOS审核4.3被拒原因分析与解决修改方案

Apple Store 上架过包:iOS审核4.3被拒原因分析与解决修改方案

专业解决各种上架过包问题,专业团队专业处理 751

证件阅读机如何用多光谱光学成像、端到端深度学习 OCR 与 MRZ 解析、13.56MHz 射频芯片认证三层能力,把单证核验压缩到 1–2 秒

"说走就走"的外国游客多了,酒店前台的压力也就跟着一起"入境"了。复印件在红外图里会丢掉层次,屏幕翻拍件在紫外图里会暴露像素网格和屏幕的摩尔纹,PS 改过的资料页在红外和可见光的交叉比对下常常"对不上"。客人只觉得"这家酒店办入住挺快",前台只觉得"今天没被催",店长只觉得"这个月没收到整改通知"。三只眼睛和一个 AI 大脑在 1–2 秒里跑完的一整套核验,被压缩成了体验里那句轻飘飘的"好的,您的房卡"。有意思的是,真正在缓解这个压力的,不是多招几个前台,而是柜台上多了一台巴掌大的小设备——证件阅读机。

智能图像识别 344

Simulink仿真模块 -Scope

如果您将 Scope 模块放在具有锁定链接的库或者锁定的库中,当尝试打开示波器窗口时,Simulink 会显示错误。要显示某个库模块中的内部数据,请为库模块添加一个输出端口,然后将此端口连接到您模型中的 Scope 模块。当您在示波器内可视化多个基于帧的信号时,部分帧大小为 1 的信号采样可能不会显示。当在示波器内可视化多个基于帧的信号时,部分帧大小为 1 的信号采样可能不会显示。如果在仿真开始时波形视图关闭,则当在仿真后打开波形视图时,波形视图将显示附加的输入信号的仿真结果。

jk_101的博客 3790

【CANoe】CAPL_ECU上电后首帧报文发出时间检测

【CANoe】CAPL_ECU上电后首帧报文发出时间检测,通过CANoe I/O口检测电压实现

星Yeah 的博客 2509

深度学习0:数学知识:正态分布2(积分,幂函数积分公式)

积分符号∫(\int∫= 把无数个极窄的小矩形面积(高度×dx(\times dx×dx))“拼接”起来。dx(dxdx= 无穷小的宽度。定积分的结果= 曲线下方的总面积(一个具体的数字)。不定积分= 寻找求导前的那个原函数。这就是“积分求面积”最朴素的意思!

tellmewhoisi的博客 207

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

基于深度学习的肌肉骨骼X光骨折分类方法研究——数据清洗、ResNet50训练与Django部署全流程

本文介绍基于深度学习的肌肉骨骼X光骨折分类方法研究。课题基于公开FracAtlas数据集,先做错标清洗与分层划分,再以ResNet50迁移学习训练二分类模型,通过类别权重与早停应对类别不平衡,模型导出ONNX后配合能量分数与近邻阈值实现域外拒识。系统采用Django与Vue实现,包含图片识别、识别历史管理与可视化大屏等功能,全流程可复现,适合作为计算机专业毕业设计的参考方向。

WEIXIN_JSJBSZDS的博客 394

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

边缘AI芯片的规则变了:从跑CNN到跑LLM和VLM

128 TFLOPS(每秒万亿次浮点运算)级别(数据中心版单核128 TFLOPS,汽车版96 TFLOPS,移动版64 TFLOPS,边缘版32 TFLOPS,不同产品线按场景裁剪),多核可以到PetaFLOPS(每秒千万亿次浮点运算)级别。难点在于,传统NPU的性能模型是按CNN的平均吞吐建的,预填充和解码混在一起算,出来的数对不上真实负载。AI芯片,最近有个明显变化:边缘设备跑的东西跟几年前不一样了,以前跑CNN(卷积神经网络),现在跑LLM(大语言模型)和VLM(视觉语言模型)。

weixin_73406674的博客 213

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

【深度学习实验】—— YOLOv12 添加 SE 注意力机制:实现、训练与水果检测对比

本次实验在 YOLOv12n 中接入 SE(Squeeze-and-Excitation)通道注意力,使用已有四类水果数据集,完成模块编写、模型解析器注册、前向与梯度检查、模型训练和最佳权重评估。项目本次设置与结果模型YOLOv12n 基线 / YOLOv12n SE 替换版任务四类水果目标检测数据集200 张图片,594 个标注框划分训练 160 张 / 验证 20 张 / 测试 20 张训练两组各 2 轮,batch=2,imgsz=640,seed=0,随机初始化。

weixin_65899656的博客 215

遥感大棚语义分割数据集 深度学习 语义分割 遥感影像 农业大棚 YOLO格式 数据集发布5025期

遥感大棚语义分割数据集 深度学习 语义分割 遥感影像 农业大棚 YOLO格式 数据集发布5025期

qq_2529413168的博客 121
上一篇: 一道基础的动态规划--捡馅饼
下一篇: 你是否也迷茫于期望dp
江远...
博客等级 码龄3年 367粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值