当前位置: 首页 > news >正文

1.4 基于模拟退火改进蛇算法优化VGG13SE网络超参数的故障诊断模型

本博客来源于CSDN机器鱼,未同意任何人转载。

更多内容,欢迎点击本专栏,查看更多内容。

目录

0 引言

1 改进原理

2 本文改进方法

3 改进蛇优化VGG13SE的故障诊断模型

4 结语


0 引言

在【博客】中,我们采用了蛇算法来对VGG13SE网络的15个超参数进行优化,为进一步提高论文的充实性,体现工作量,我们将对原始的蛇算法进行改进,具体是在蛇算法中融入模拟退火的思路。

1 改进原理

我个人认为所有的智能优化算法都是以下步骤组成:

        步骤1.初始化。种群随机初始化获得初始最优解与初始最优适应度。
        步骤2.寻优过程。进入for循环,利用更新公式对种群中的每个个体进行的位置(解)移动,并计算更新后的解对应的新适应度值。如果新适应度比旧的适应度更优,则更新每个个体的解与其适应度值。

        步骤3.最优解更新。将种群的每个个体的适应度与最优适应度进行比较,如果个体的适应度更优,则更新最优适应度与最优解。

        步骤4.寻优结束。一般是for结束退出,或者是达到了需要的值退出。

其中步骤3、4是固定的,没办法改。因此常见的改进都是对步骤1与步骤2改进。

改进步骤1的文章认为随机初始化并不是真正的随机,初始种群不会都遍布寻优空间,就跟吃鸡跳伞一样,最理想的情况肯定是整个地图均匀分布,但实际上很多人会集中往某个区域跳,那万一98k就在那些没得人覆盖的地方喃。因此改进步骤1就是用更均匀的方法让初始化解遍布寻优空间。

改进步骤2的一般有四种情况,①发现了原作者的公式存在某些弊端,显然咱只是用一下而已,根本不去管公式啥样,从3月29日写代码到4月2日写到这篇博客,蛇算法我都没看过公式与原理;②针对算法的某些固定的参数进行动态更新,就像吃鸡找装备一样,在空旷的区域可以快速跑动找建筑物,但是进建筑物之后要慢慢走,才能找到好的装备。③给算法加上随机变异,此部分人认为算法在后期可能会陷入局部最优解,就像吃鸡要是一开始方向就跑错了,结果玩半天都只找到一个波波枪,要是能随机将自己传送到其他建筑物里面该多好,说不定就能找到好的装备。④就是继续堆公式,在算法里面加入其他算法的思想,本来人家循环一次已经完成一次更新了,但在后面再加个公式,让其再更新一次,这样当然效果更好,但同时消耗的时间也更长。

2 本文改进方法

本文分别对步骤1与2进行一次改进,步骤1的随机初始化加上Tent映射,让初始化分布更均匀,步骤2在更新完毕之后,再进行一次模拟退火更新。具体代码如下:


'''tent映射'''
def tent(dim):x=np.zeros([dim])x[0]=np.random.rand()#初始点a=0.7 #参数a的值for i in range(dim-1):if x[i]<a:x[i+1]=x[i]/aelse:x[i+1]=(1-x[i]) / (1 - a)return x
''' Tent种群初始化函数 '''
def initialnew(pop, dim, ub, lb):X = np.zeros([pop, dim])for i in range(pop):tentvalue=tent(dim)for j in range(dim):X[i, j] = tentvalue[j]*(ub - lb) + lbreturn X
# 修正后的邻域生成函数
def neighbor(x, solution_bound):perturbation = np.random.uniform(-1, 1, size=x.shape)x_new = x + perturbation# 确保扰动后仍在边界内x_new = np.clip(x_new, solution_bound[0], solution_bound[1])return x_newdef sa_snake_optimization(search_agents_no, max_iter, dim, solution_bound):# 参数初始化T = 1000T_min = 0.01alpha = 0.9vec_flag = [1, -1]food_threshold = 0.25temp_threshold = 0.6c1 = 0.5model_threshold = 0.6c2 = 0.5c3 = 2# 种群初始化(使用numpy数组代替矩阵)#X = solution_bound[0] + np.random.rand(search_agents_no, dim) * (solution_bound[1] - solution_bound[0])X = initialnew(search_agents_no, dim, solution_bound[1] ,  solution_bound[0]) #初始化种群# 适应度计算fitness = np.array([chung_reynolds(x) for x in X])g_best_idx = np.argmin(fitness)food = X[g_best_idx].copy()gy_best = fitness[g_best_idx]# 性别分组male_number = search_agents_no // 2female_number = search_agents_no - male_numbermale = X[:male_number].copy()female = X[male_number:].copy()# 性别相关参数male_fitness = fitness[:male_number]female_fitness = fitness[male_number:]male_best_idx = np.argmin(male_fitness)male_best = male_fitness[male_best_idx]male_best_solution = male[male_best_idx].copy()female_best_idx = np.argmin(female_fitness)female_best = female_fitness[female_best_idx]female_best_solution = female[female_best_idx].copy()gene_best = np.zeros(max_iter)for t in range(max_iter):temp = math.exp(-t / max_iter)quantity = c1 * math.exp((t - max_iter) / max_iter)quantity = min(quantity, 1)new_male = male.copy()new_female = female.copy()if quantity < food_threshold:# 无食物模式for i in range(male_number):leader = random.choice(male)am = math.exp(-(chung_reynolds(leader) / (male_fitness[i] + 1e-30)))direction = random.choice(vec_flag)new_male[i] = leader + direction * c2 * am * np.random.rand(dim) * (solution_bound[1] - solution_bound[0])for i in range(female_number):leader = random.choice(female)am = math.exp(-(chung_reynolds(leader) / (female_fitness[i] + 1e-30)))direction = random.choice(vec_flag)new_female[i] = leader + direction * c2 * am * np.random.rand(dim) * (solution_bound[1] - solution_bound[0])else:if temp > temp_threshold:# 热态探索for i in range(male_number):direction = random.choice(vec_flag)new_male[i] = food + direction * c3 * temp * np.random.rand(dim) * (food - male[i])for i in range(female_number):direction = random.choice(vec_flag)new_female[i] = food + direction * c3 * temp * np.random.rand(dim) * (food - female[i])else:if random.random() < model_threshold:# 战斗模式for i in range(male_number):fm = math.exp(-female_best / (male_fitness[i] + 1e-30))direction = random.choice(vec_flag)new_male[i] = male[i] + direction * c3 * fm * np.random.rand(dim) * (quantity * male_best_solution - male[i])for i in range(female_number):ff = math.exp(-male_best / (female_fitness[i] + 1e-30))direction = random.choice(vec_flag)new_female[i] = female[i] + direction * c3 * ff * np.random.rand(dim) * (quantity * female_best_solution - female[i])else:# 交配模式for i in range(male_number):mm = math.exp(-female_fitness[i % female_number] / (male_fitness[i] + 1e-30))direction = random.choice(vec_flag)new_male[i] = male[i] + direction * c3 * np.random.rand() * mm * (quantity * female[i % female_number] - male[i])for i in range(female_number):mf = math.exp(-male_fitness[i % male_number] / (female_fitness[i] + 1e-30))direction = random.choice(vec_flag)new_female[i] = female[i] + direction * c3 * np.random.rand() * mf * (quantity * male[i % male_number] - female[i])if random.random() < 0.5:worst_male = np.argmax(male_fitness)new_male[worst_male] = solution_bound[0] + np.random.rand(dim) * (solution_bound[1] - solution_bound[0])worst_female = np.argmax(female_fitness)new_female[worst_female] = solution_bound[0] + np.random.rand(dim) * (solution_bound[1] - solution_bound[0])# 边界处理new_male = np.clip(new_male, solution_bound[0], solution_bound[1])new_female = np.clip(new_female, solution_bound[0], solution_bound[1])# 更新雄性种群for i in range(male_number):new_fit = chung_reynolds(new_male[i])if new_fit < male_fitness[i]:male[i] = new_male[i]male_fitness[i] = new_fit# 更新雌性种群for i in range(female_number):new_fit = chung_reynolds(new_female[i])if new_fit < female_fitness[i]:female[i] = new_female[i]female_fitness[i] = new_fit# 更新全局最优current_male_best = np.min(male_fitness)current_female_best = np.min(female_fitness)gene_best[t] = min(current_male_best, current_female_best)if current_male_best < current_female_best:if current_male_best < gy_best:gy_best = current_male_bestfood[:] = male[np.argmin(male_fitness)]else:if current_female_best < gy_best:gy_best = current_female_bestfood[:] = female[np.argmin(female_fitness)]# 模拟退火if T > T_min:food_new = neighbor(food, solution_bound)f_new = chung_reynolds(food_new)delta = f_new - gy_bestif delta < 0 or np.random.rand() < math.exp(-delta / T):food[:] = food_newgy_best = f_newT *= alphareturn food, gy_best, gene_best
if __name__ == "__main__":# Problem settingsdim = 10search_agents_no = 26bounds = (-100, 100)max_iter = 100initial_temp = 1000cooling_rate = 0.98best_solution2, best_fitness2, fitness_history2 = snake_optimization(search_agents_no, max_iter, dim, bounds)best_solution3, best_fitness3, fitness_history3 = sa_snake_optimization(search_agents_no, max_iter, dim, bounds)# Plot optimization processplt.figure(figsize=(10, 6))plt.plot(fitness_history2, linewidth=2,label='SO')plt.plot(fitness_history3, linewidth=2,label='SASO')plt.legend()plt.title("Optimization Process")plt.xlabel("Iteration")plt.ylabel("Best Fitness")plt.grid(True)plt.show()print("SO最佳解决方案:", best_solution2)print("SO最佳适应度:", best_fitness2)print("SASO最佳解决方案:", best_solution3)print("SASO最佳适应度:", best_fitness3)
SO最佳解决方案: [-7.18304079e-04  2.99050463e-04  4.11682735e-04  9.49958913e-05-3.24086231e-04  1.01366699e-03 -3.25997173e-04  1.86127080e-032.60402360e-04 -5.85704982e-04]
SO最佳适应度: 1.3505001036507069e-11
SASO最佳解决方案: [ 2.46793435e-05  1.43884017e-04  1.11257355e-04  8.70514697e-051.46319530e-05  2.40548315e-04 -3.72922538e-05 -1.02563608e-05-5.73090196e-05  2.23889093e-04]
SASO最佳适应度: 6.5132243165577145e-15

3 改进蛇优化VGG13SE的故障诊断模型

4月3日更新

4 结语

相关文章:

1.4 基于模拟退火改进蛇算法优化VGG13SE网络超参数的故障诊断模型

本博客来源于CSDN机器鱼&#xff0c;未同意任何人转载。 更多内容&#xff0c;欢迎点击本专栏&#xff0c;查看更多内容。 目录 0 引言 1 改进原理 2 本文改进方法 3 改进蛇优化VGG13SE的故障诊断模型 4 结语 0 引言 在【博客】中&#xff0c;我们采用了蛇算法来对VGG1…...

Vue + Scss项目中实现自定义颜色主题的动态切换

当时面试的时候遇到面试官问的一个问题如何实现自定义颜色主题切换,当时我做的只是elementUIPlus提供的暗黑和默认主题切换​​​​​​​ theme.scss // 增加自定义主题类型 $themes: (light: (/* 原有配置保持不变 */),dark: (/* 原有配置保持不变 */),custom: () // 空映射…...

C#实现HiveQL建表语句中特殊数据类型的包裹

用C#实现搜索字符串中用’(‘和’)‘包裹的最外层的里面里面的字符串&#xff0c;将里面的记录按一个或多个空格、换行或tab&#xff0c;或者是它的在一起的组合作为分隔&#xff0c;分隔出多个字符串组&#xff0c;如果组中有字符串中同时包含’<‘和’>’&#xff0c;则…...

27 python 标准库概览

在办公室里,每个员工都有一套预装的办公软件:Word 处理文档、Excel 制作表格、Outlook 收发邮件... Python 的标准库就像公司预装的 "办公全家桶",包含 100 多个模块,覆盖文件操作、时间管理、数据分析等日常需求,无需额外安装即可直接使用。 一、文件管理 1.…...

whisper 语音识别的安装与使用

Whisper 是由OpenAI开发的开源自动语音识别&#xff08;ASR&#xff09;模型&#xff0c;不仅支持音频转录&#xff0c;还可以用于视频转录。通过调用ffmpeg处理视频&#xff0c;支持主流音视频格式的转录‌。 安装 安装ffmpeg&#xff1a;下载ffmpeg&#xff0c;Releases B…...

搜广推校招面经六十四

滴滴搜推算法 一、定义一个树结构、特征结构。写一个决策树对样本打分 逆天啊&#xff0c;上来就是暴击 import numpy as np class TreeNode:def __init__(self, feature_indexNone, thresholdNone, leftNone, rightNone, scoreNone):self.feature_index feature_index #…...

zabbix监控网站(nginx、redis、mysql)

目录 前提准备&#xff1a; zabbix-server主机配置&#xff1a; 1. 安装数据库 nginx主机配置&#xff1a; 1. 安装nginx redis主机配置&#xff1a; 1. 安装redis mysql主机配置&#xff1a; 1. 安装数据库 zabbix-server&#xff1a; 1. 安装zabbix 2. 编辑配置文…...

动态规划,如何应用动态规划解决实际问题?

一、动态规划核心概念 动态规划是一种分阶段解决问题的数学方法&#xff0c;它将复杂问题分解为更小的子问题&#xff0c;通过存储子问题的解来避免重复计算。 关键特征&#xff1a; ​最优子结构&#xff1a;问题的最优解包含子问题的最优解​重叠子问题&#xff1a;问题可…...

常见操作系统特点及区别对比

操作系统名称类型特点主要用途许可证类型内核类型Windows桌面/服务器图形界面友好&#xff0c;软件生态丰富&#xff0c;闭源个人电脑、企业办公专有商业许可混合内核macOS桌面 (Unix-like)高度优化的硬件整合&#xff0c;Unix基础&#xff0c;闭源创意设计、开发专有商业许可混…...

【资讯分享】为Apple Intelligence打造的有效屏障:“隐私保护气泡”

导读&#xff1a;苹果在WWDC大会上推出Apple Intelligence&#xff0c;主打个性化智能服务&#xff0c;深度整合iOS生态&#xff0c;支持跨App操作与内容感知。通过本地计算与私密云计算&#xff08;PCC&#xff09;技术实现端到端加密&#xff0c;确保数据匿名化处理与高透明度…...

AT_abc306_b [ABC306B] Base 2

题目描述 给定一个长度为64的序列A(A\_0,A\_1,\dots,A\_{63})A(A_0,A_1,…,A_63)&#xff0c;由0和1组成。 求A\_0 2^0 A\_1 2^1 \dots A\_{63} 2^{63}A_020A_121⋯A_63263。 约束条件 A\_iA_i是0或1。 输入 从标准输入中以以下格式给出输入&#xff1a; A_0A0​ A_1A…...

C++IO流类库

一、输入输出流(I/O strea) 编译系统已经以运算符或函数的形式做好了对标准外设&#xff08;键盘、屏幕、打印机、文件&#xff09;的接口&#xff0c;使用时只需按照要求的格式调用即可。 cin>>x; cout<<x; cin.get(ch); C语言的I/O系统向用户提供一个统一…...

常见的锁策略+synchronized(特性解释)

该篇文章主要是对常见的锁策略的总结&#xff08;主要的作用是扫盲&#xff09;&#xff0c;如想要了解其他部分&#xff0c;这部分可以不用看 目录 一、常见的锁策略1. 悲观锁vs乐观锁举例&#xff1a; 2. 重量级锁vs轻量级锁3. 挂起等待锁vs自旋锁举例 4.普通互斥锁vs读写锁…...

spring打包,打包错误

打包(idea) 通过点击井盖样式的符号可以将test测试类取消打包进去 点击“M”&#xff0c;双击package即可打包 打包出错 ❯ java -jar /home/ying/Documents/java_workspace/spring-01-ioc/target/spring-01-ioc-0.0.1-SNAPSHOT.jar Error: LinkageError occurred while loadi…...

【Linux系统】进程间通信-System V消息队列

&#x1f381;个人主页&#xff1a;我们的五年 &#x1f50d;系列专栏&#xff1a;Linux网络编程 &#x1f337;追光的人&#xff0c;终会万丈光芒 &#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐文章 ​ Linux网络系列文章计算机网络&#xff08;Linux网…...

DeepSeek×擎创科技:当智能运维遇见大模型「懂行」革命

运维人最懂「动态阈值」的痛 在数字化转型浪潮中&#xff0c;运维监控正经历从"人工经验"到"智能决策"的跃迁。传统动态阈值设置依赖人工分析历史数据、反复调整规则的模式&#xff0c;既难以应对业务波动性&#xff0c;又消耗大量技术资源。 擎创科技基…...

手绘风格流程图工具:简单高效的在线流程图绘制工具

手绘风格流程图&#xff1a;简单高效的在线流程图绘制工具 &#x1f389; 项目介绍 大家好&#xff01;我很高兴向大家分享我最近开发的一个项目 —— 在线绘制手绘风格流程图&#xff0c;这是一个简单高效的在线流程图绘制工具。无论是整理思路、规划项目还是准备演示&#…...

leetcode287.寻找重复数

与寻找链表环的起始点一样 &#xff0c;用快慢指针让二者相遇后&#xff0c;慢指针回到起始点二者以同样速度移动最终会在环的起始点相遇 class Solution {public int findDuplicate(int[] nums) {int slow nums[0], fast nums[0];do {slow nums[slow];fast nums[nums[fas…...

error LNK2019: 无法解析的外部符号 __imp__XXXX,该符号在函数xxxxx中被引用

这个链接错误表明在编译过程中&#xff0c;链接器无法找到 XXXX 函数的实现。以下是解决这个问题的步骤&#xff1a; 可能的原因和解决方案&#xff1a; 函数声明与实现不匹配&#xff1a; 检查 XXXX 函数的声明和实现是否完全一致&#xff08;包括返回类型、参数列表和调用约…...

【LeetCode基础算法】二叉树所有类型

1.遍历二叉树 二叉树的前序遍历二叉树的中序遍历二叉树的后序遍历叶子相似的树 1288 LCP 44. 开幕式焰火左叶子之和 2.自顶向下DFS 二叉树的最大深度二叉树的最小深度路径总和求根节点到叶节点数字之和二叉树的右视图统计二叉树中好节点的数目 1360 3.自底向上 DFS 二叉树…...

AIGC5——AIGC的伦理与法律挑战:数据隐私、真实性危机与版权治理

引言 随着生成式AI&#xff08;AIGC&#xff09;的爆发式增长&#xff0c;其引发的伦理与法律问题日益凸显。从数据隐私泄露到AI幻觉导致的虚假信息&#xff0c;再到训练数据版权争议&#xff0c;AIGC正在挑战现有法律框架与社会信任体系。本文将系统分析三大核心问题&#xf…...

LLM架构解析:词嵌入模型 Word Embeddings(第二部分)—— 从基础原理到实践应用的深度探索

本专栏深入探究从循环神经网络&#xff08;RNN&#xff09;到Transformer等自然语言处理&#xff08;NLP&#xff09;模型的架构&#xff0c;以及基于这些模型构建的应用程序。 本系列文章内容&#xff1a; NLP自然语言处理基础词嵌入&#xff08;Word Embeddings&#xff09…...

marked库(高效将 Markdown 转换为 HTML 的利器)

文章目录 前言使用基本使用自定义渲染器例子 代码高亮 前言 最近尝试了一下通过星火大模型将ai引入到项目上&#xff0c;但是ai返回的数据可以显而易见的发现是markedown语法的&#xff0c;那么就需要一个工具&#xff0c;将类似这种的格式转换为markdown格式 Marked 是一个用…...

Vue3 + Element Plus + AntV X6 实现拖拽树组件

Vue3 Element Plus AntV X6 实现拖拽树组件 介绍 在本篇文章中&#xff0c;我们将介绍如何使用 Vue 3 和 Element Plus 结合 antv/x6 实现树形结构的拖拽功能。用户可以将树节点拖拽到图形区域&#xff0c;自动创建相应的节点。我们将会通过简单的示例来一步步讲解实现过程…...

在 Rocky Linux 9.2 上编译安装 Redis 6.2.6

文章目录 在 Rocky Linux 9.2 上编译安装 Redis 6.2.6Redis 介绍官网Redis 的核心特性高性能支持多种数据结构多种持久化机制复制与高可用2.5 事务与 Lua 脚本消息队列功能 Redis 适用场景Redis 与其他数据库对比Redis 的优势与劣势Redis 优势Redis 劣势 部署过程系统环境信息环…...

中和农信:让金融“活水”精准浇灌乡村沃土

2025年政府工作报告首提“投资于人”概念&#xff0c;并22次提及“金融”&#xff0c;强调要着力抓好“三农”工作&#xff0c;深入推进乡村全面振兴&#xff1b;一体推进地方中小金融机构风险处置和转型发展&#xff1b;扎扎实实落实促进民营经济发展的政策措施&#xff0c;切…...

4. 理解Prompt Engineering:如何让模型听懂你的需求

引言:当模型变成“实习生” 想象一下,你新招的实习生总把“帮我写份报告”理解为“做PPT”或“整理数据表”——这正是开发者与大模型对话的日常困境。某金融公司优化提示词后,合同审查准确率从72%飙升至94%。本文将用3个核心法则+5个行业案例,教你用Prompt Engineering让…...

cocos 图片上传与下载

创建一个场景 在 Cocos Creator 中&#xff0c;我们将从接口获取的图片 URL 列表动态创建图片节点并显示在页面上。使用 assetManager.loadRemote 来加载这些图片并显示。 目录结构如下 为按钮button和文本Lable挂载ts脚本 运行界面 图片上传测试 背景会变成上传的图片 以下是…...

Unity中的UI坐标和点击接口

默认已经知道UI中的基础知识&#xff0c;这里提供一些细节 &#x1f4da;️锚点和轴心点 锚点是根据父物体的确定的&#xff0c;锚点Anchor分为两种状态&#xff0c;Min Max 和 Min ! Max Min ! Max时会根据锚点进行自适应拉伸 参考文章&#xff1a;Unity 锚点 Anchors的通俗…...

基于JavaWeb的二手图书交易系统(源码+lw+部署文档+讲解),源码可白嫖!

摘要 人类现已迈入二十一世纪&#xff0c;科学技术日新月异&#xff0c;经济、资讯等各方面都有了非常大的进步&#xff0c;尤其是资讯与网络技术的飞速发展&#xff0c;对政治、经济、军事、文化等各方面都有了极大的影响。 利用电脑网络的这些便利&#xff0c;发展一套二手图…...

人脸表情识别数据集的正确使用方法(Affectnet、RAF-DB、FERPlus数据集通用)

众所周知深度学习是个很玄学的东西&#xff0c;不同的数据集加载方式会训练出不一样的精度&#xff0c;导致无法复现论文精度。 这里分享下正确的加载数据集的方法&#xff1a; 拿RAF-DB数据集举例&#xff1a; ①准备好RAF-DB数据集&#xff0c;训练集和测试集放进同一目录&…...

【408--考研复习笔记】操作系统----知识点速览

目录 一、计算机系统概述 1.计算机系统的组成 2.操作系统的定义与作用 3.操作系统的发展历程 4.操作系统的基本特性 5.操作系统的结构 简单结构 分层结构 微内核结构 模块化结构 宏内核结构 6.用户接口 7.系统调用 8.处理机的工作状态 9.中断机制 10.特权指令与…...

Java常用异步方式总结

使用建议 完整代码见https://gitee.com/pinetree-cpu/parent-demon 提供了postMan调试json文件于security-demo/src/main/resources/test_file/java-async.postman_collection.json 可导入postMan中进行调试 Java异步方式以及使用场景 继承Thread类 新建三个类继承Thread&…...

算法设计学习3

实验目的及要求&#xff1a; 1.加强对结构体的应用。 2.熟悉字符计数排序。 实验设备环境&#xff1a; 1.微型计算机 2.DEV C(或其他编译软件) 实验步骤&#xff1a; 任务&#xff1a;要求使用自定义函数来实现 输入一段文本&#xff0c;统计每个字符出现的次数&#xff0c;按…...

OpenCV 图形API(或称G-API)(1)

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 引言 OpenCV 图形API&#xff08;或称G-API&#xff09;是一个新的OpenCV模块&#xff0c;旨在使常规图像处理更快且更便携。通过引入一种新的基于图的执行…...

解决Luckysheet在线预览编辑Excel、PDF.....无法在同一个界面创建多个luckysheet实列问题

luckysheet插件由于是实列挂载到windows.luckysheet实列上&#xff0c;导致同时只能使用一个luckysheet于是我们使用<iframe/>标签进行隔离&#xff1a; 1.每个<iframe>创建独立的浏览器上下文环境&#xff0c;避免多个Luckysheet实例共享同一JavaScript执行环境 …...

php8属性注解使用教程

简介 PHP 8 引入了 属性&#xff08;Attributes&#xff09;作为新的元数据机制&#xff0c;用于替代传统的 PHPDoc 注解&#xff0c;使得代码更具类型安全性和结构化。 基本语法 PHP 8 的属性&#xff08;Attributes&#xff09;使用 #[...] 语法表示&#xff0c;并可以用于…...

Redis6数据结构之List类型

redis的List类型底层结构是双向链表&#xff0c;插入删除时间复杂度O(1)快,查找为O(n)慢。 应用场景&#xff1a;简单队列、最新评论列表、非实时排行榜&#xff08;定时计算榜单&#xff0c;如笔记本日销榜单&#xff09;。 常用命令&#xff1a; lpush将一个或多个值从左边…...

【视觉与语言模型参数解耦】为什么?方案?

一些无编码器的MLLMs统一架构如Fuyu&#xff0c;直接在LLM内处理原始像素&#xff0c;消除了对外部视觉模型的依赖。但是面临视觉与语言模态冲突的挑战&#xff0c;导致训练不稳定和灾难性遗忘等问题。解决方案则是通过参数解耦方法解决模态冲突。 在多模态大语言模型&#xf…...

[笔记.AI]初始向量

&#xff08;借助 DeepSeek-V3 辅助生成&#xff09; 初始向量的生成方式 在自然语言处理&#xff08;NLP&#xff09;中&#xff0c;初始向量是指模型在处理输入文本时&#xff0c;将每个 Token&#xff08;如词、子词或字符&#xff09;映射到高维向量空间的起点。这些初始…...

MySQL(一)

MySQL定义 ⭐ MySQL是一个“客户端——服务器”结构的软件 客户端&#xff1a;主动给服务器发起的数据&#xff0c;称为请求。 服务器&#xff1a;被动接收&#xff0c;给客户端返回的数据&#xff0c;称为响应。 客户端和服务器是通过网络通信进行的。 内存和硬盘的区别&am…...

(C语言)虚数运算(结构体教程)(指针解法)(C语言教程)

#include <stdio.h> //定义结构体 typedef struct {float realpart;float imagpart; }Complex; //初始化虚数 //传递值&#xff0c;和指针分开 void assign(const float real,const float imag,Complex* A){A->imagpartimag;A->realpartreal; } //虚数相加 //同样…...

大模型LLMs框架Langchain之工具Tools

写在前文&#xff1a; 下面是官方对工具的流程&#xff1a; 创建工具 创建工具时&#xff0c;必须指定参数&#xff1a;name、description、args_schema、return_direct 初始化环境 import asyncio from typing import Annotated, Listfrom langchain.agents import initia…...

让AI帮写个modbus slave小工具

工作中用到modbus&#xff0c;也下载过modbus poll和slave&#xff0c;试用期到了就要License&#xff0c;那不如让AI帮写一个简单的&#xff0c;够用即可。 步骤&#xff1a; 一、先安装python 1、windows电脑microsoft store搜索python安装 2、打开IDLE 2、选择菜单新建一…...

使用el-select回显时显示value,不显示对应的label

原因&#xff1a;后端传过来的是string类型 解决&#xff1a;向后端传过来的String类型的数据强制转换为Number类型 代码&#xff1a; <el-select clearable v-model"deviceinfo.Type" placeholder"请选择类型"><el-optionv-for"dict in ty…...

Spring IOC:容器管理与依赖注入秘籍

Java Spring 核心容器、IOC 一、IOC&#xff08;控制反转&#xff09;核心概念 基本概念 控制反转是一种将对象的创建、依赖关系的管理和生命周期的控制权从应用程序代码转移到外部容器的设计原则。在传统编程中&#xff0c;对象的创建和依赖关系是由程序自身控制的&#xff0…...

Cpp网络编程Winsock API

Cpp网络编程Winsock API 作者&#xff1a;blue 时间&#xff1a;2025.3.31 文章目录 Cpp网络编程Winsock API**1.服务端**&#xff08;Server&#xff09;1.1初始化网络库1.2创建套接字对象1.3设置ip和端口1.4将套接字对象与ip和端口绑定1.5设置套接字为监听状态1.6等待客户端…...

聊聊Spring AI的Chat Model

序 本文主要研究一下Spring AI的Chat Model Model spring-ai-core/src/main/java/org/springframework/ai/model/Model.java public interface Model<TReq extends ModelRequest<?>, TRes extends ModelResponse<?>> {/*** Executes a method call to …...

VUE3+Mapbox-GL 实现鼠标绘制矩形功能的详细代码和讲解

以下是如何使用 Mapbox GL JS 实现鼠标绘制矩形功能的详细代码和讲解。Mapbox GL JS 是一个强大的 JavaScript 库&#xff0c;可以用来创建交互式地图。下面将通过监听鼠标事件并动态更新地图图层来实现这一功能。 实现步骤 初始化地图 在 HTML 文件中引入 Mapbox GL JS 库&…...

Python数据类型-list

列表(List)是Python中最常用的数据类型之一&#xff0c;它是一个有序、可变的元素集合。 1. 列表基础 创建列表 empty_list [] # 空列表 numbers [1, 2, 3, 4, 5] # 数字列表 fruits [apple, banana, orange] # 字符串列表 mixed [1, hello, 3.14, True] # 混合类型…...