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

注释标准模板

观看main函数能够看出框架框架要简单比如训练不给它细分数据流向关注转为哪个数据而不是关注维度维度在调试的时候才关注1、表示数据流向2、# #包围的表示框架3、# 表示普通的框架内的注释4、# -----补充-----表示补充的注释5、总体框架以及流向以及说明写在文件最开头 基于PSO的BP神经网络预测 - PyTorch版本 框架 数据准备设备设置|数据加载→数据转换→参数设置→训练→结果展示以及预测 数据流向 # 加载数据P、T、P_test、T_test、cur_season数据转换P_tensor、T_tensor、P_test_tensor、T_test_tensor、cur_season_tensor # particle粒子particle粒子、cost、GlobalBest、BestCost预测的结果值prob importnumpyasnpimportmatplotlib.pyplotaspltfromscipy.specialimportsoftmaximporttimeimporttorchimporttorch.nnasnnimporttorch.optimasoptimfrombp_functionimportBpFunction np.random.seed(42)torch.manual_seed(42)# -----补充粒子类定义-----classParticle:def__init__(self,position,velocity,cost,best_position,best_cost):self.Positionposition# 粒子位置self.Velocityvelocity# 粒子速度self.Costcost# 粒子当前适应度self.Best{Position:best_position,Cost:best_cost}# 粒子个体最优defmain():start_timetime.time()# ## 设备设置——最终数据都需要经过这个设备来进行计算# #devicetorch.device(cudaiftorch.cuda.is_available()elsecpu)print(f使用设备:{device})# 加载数据P、T、P_test、T_test、cur_season# 数据加载print(加载数据...)Pnp.loadtxt(P_train.txt)Tnp.loadtxt(T_train.txt).reshape(-1,1)P_testnp.loadtxt(P_test.txt)T_testnp.loadtxt(T_test.txt).reshape(-1,1)cur_seasonnp.loadtxt(2022.txt)# 加载数据P、T、P_test、T_test、cur_season数据转换P_tensor、T_tensor、P_test_tensor、T_test_tensor、cur_season_tensor# ## # 数据转换——转换到PyTorch张量并移动到设备上# #P_tensortorch.FloatTensor(P).to(device)T_tensortorch.FloatTensor(T).to(device)P_test_tensortorch.FloatTensor(P_test).to(device)T_test_tensortorch.FloatTensor(T_test).to(device)cur_season_tensortorch.FloatTensor(cur_season).to(device)# ## # 参数设置——训练参数设置1-BP参数# #inputnumP.shape[1]# 输入层神经元个数hiddennum2*inputnum1# 初始隐层神经元个数outputnumT.shape[1]# 输出层神经元个数w1numinputnum*hiddennum# 输入层到隐层的权值个数w2numoutputnum*hiddennum# 隐层到输出层的权值个数Nw1numhiddennumw2numoutputnum# 待优化的变量个数print(f网络结构:{inputnum}-{hiddennum}-{outputnum})print(f待优化变量个数:{N})# ## # 参数设置——训练参数设置2-PSO参数设置# #nVarN VarMin-0.5VarMax0.5MaxIt200nPop40w1.0wdamp0.99c11.5c22.0VelMax0.1*(VarMax-VarMin)VelMin-VelMax# -----补充粒子变量保存以及最佳解保存-----particles[]GlobalBest{Position:None,Cost:np.inf}# 加载数据P、T、P_test、T_test、cur_season数据转换P_tensor、T_tensor、P_test_tensor、T_test_tensor、cur_season_tensor# particle粒子获得第一次BP网络训练之后的结果得到当前的最佳# ## 训练# #print(初始化粒子群...)foriinrange(nPop):positionnp.random.uniform(VarMin,VarMax,nVar)velocitynp.zeros(nVar)cost,_BpFunction(position,P_tensor,T_tensor,hiddennum,P_test_tensor,T_test_tensor,device)best_positionposition.copy()best_costcost particleParticle(position,velocity,cost,best_position,best_cost)particles.append(particle)ifbest_costGlobalBest[Cost]:GlobalBest[Position]best_position.copy()GlobalBest[Cost]best_cost# 初始化变量之后用来记录最优成本BestCostnp.zeros(MaxIt)# 加载数据P、T、P_test、T_test、cur_season数据转换P_tensor、T_tensor、P_test_tensor、T_test_tensor、cur_season_tensor# particle粒子particle粒子、cost、GlobalBest、BestCostPSO训练print(开始PSO优化...)foritinrange(MaxIt):foriinrange(nPop):# 更新速度r1np.random.rand(nVar)r2np.random.rand(nVar)particles[i].Velocity(w*particles[i].Velocityc1*r1*(particles[i].Best[Position]-particles[i].Position)c2*r2*(GlobalBest[Position]-particles[i].Position))# 速度限制particles[i].Velocitynp.clip(particles[i].Velocity,VelMin,VelMax)# 更新位置particles[i].Positionparticles[i].Positionparticles[i].Velocity# 位置边界处理反弹IsOutside(particles[i].PositionVarMin)|(particles[i].PositionVarMax)particles[i].Velocity[IsOutside]-particles[i].Velocity[IsOutside]particles[i].Positionnp.clip(particles[i].Position,VarMin,VarMax)# 评估适应度cost,_BpFunction(particles[i].Position,P_tensor,T_tensor,hiddennum,P_test_tensor,T_test_tensor,device)particles[i].Costcost# 更新个体最优ifcostparticles[i].Best[Cost]:particles[i].Best[Position]particles[i].Position.copy()particles[i].Best[Cost]cost# 更新全局最优ifcostGlobalBest[Cost]:GlobalBest[Position]particles[i].Position.copy()GlobalBest[Cost]cost BestCost[it]GlobalBest[Cost]print(fIteration{it1}: Best Cost {BestCost[it]:.6f})ww*wdamp# ## # 结果展示# #plt.figure(figsize(10,6))plt.semilogy(BestCost,linewidth2)plt.xlabel(迭代次数,fontsize12)plt.ylabel(误差的变化,fontsize12)plt.title(进化过程,fontsize14)plt.grid(True)plt.savefig(evolution_pso.png,dpi300,bbox_inchestight)plt.show()# 加载数据P、T、P_test、T_test、cur_season数据转换P_tensor、T_tensor、P_test_tensor、T_test_tensor、cur_season_tensor# particle粒子particle粒子、cost、GlobalBest、BestCost预测的结果值prob# ## # 预测# #print(f\n最优初始权值和阈值数量:{len(GlobalBest[Position])})print(f最小误差:{GlobalBest[Cost]:.6f})print(\n预测今年总冠军概率...)_,bestCur_simBpFunction(GlobalBest[Position],P_tensor,T_tensor,hiddennum,cur_season_tensor,None,device)probsoftmax(bestCur_sim.flatten())#将预测结果映射为和为1的概率print(f勇士队获得2022年NBA总冠军概率为:{prob[0]:.4f})print(f凯尔特人队获得2022年NBA总冠军概率为:{prob[1]:.4f})elapsed_timetime.time()-start_timeprint(f\n总耗时:{elapsed_time:.2f}秒)if__name____main__:main()

相关文章:

注释标准模板

观看main函数能够看出框架,框架要简单,比如训练不给它细分,数据流向关注转为哪个数据,而不是关注维度,维度在调试的时候才关注 1、>表示数据流向 2、# #包围的表示框架 3、# 表示普通的框架内的注释 4、# -----补充…...

如何通过SEO优化让网站排名首页_网站UX设计对SEO有什么影响

如何通过SEO优化让网站排名首页 在当今竞争激烈的互联网环境中,网站排名首页是每个网站主的共同目标。搜索引擎优化(SEO)作为提高网站流量和可见性的关键手段,不可忽视。SEO不仅仅是关于关键词、内容和链接的优化,网站…...

Unity URP描边效果终极指南:5分钟实现专业级游戏轮廓的完整教程

Unity URP描边效果终极指南:5分钟实现专业级游戏轮廓的完整教程 【免费下载链接】Unity-URP-Outlines A custom renderer feature for screen space outlines 项目地址: https://gitcode.com/gh_mirrors/un/Unity-URP-Outlines 你是否曾经为游戏角色在复杂场…...

HunterPie终极指南:免费提升怪物猎人世界游戏体验的完整教程

HunterPie终极指南:免费提升怪物猎人世界游戏体验的完整教程 【免费下载链接】HunterPie-legacy A complete, modern and clean overlay with Discord Rich Presence integration for Monster Hunter: World. 项目地址: https://gitcode.com/gh_mirrors/hu/Hunter…...

无需配置环境,用快马平台5分钟搭建你的第一个java学生管理系统原型

最近在尝试用Java写一个简单的学生信息管理系统原型,发现用传统方式从零开始搭建实在太费时间。光是安装JDK、配置环境变量这些前置工作就能劝退不少初学者。后来发现了InsCode(快马)平台,整个过程变得异常简单,5分钟就能跑通核心流程。 项目…...

3大创新突破:Element-Plus-X助力企业级AI交互应用的实战指南

3大创新突破:Element-Plus-X助力企业级AI交互应用的实战指南 【免费下载链接】Element-Plus-X Enterprise-level AI component library front-end solution 🤖 项目地址: https://gitcode.com/gh_mirrors/el/Element-Plus-X 在数字化转型加速的今…...

WaveTools终极指南:如何解锁鸣潮120FPS帧率限制并优化游戏体验

WaveTools终极指南:如何解锁鸣潮120FPS帧率限制并优化游戏体验 【免费下载链接】WaveTools 🧰鸣潮工具箱 项目地址: https://gitcode.com/gh_mirrors/wa/WaveTools WaveTools是一款专为《鸣潮》玩家设计的开源工具箱,通过智能配置修改…...

如何让《十字军之王II》完美支持中文:双字节字符补丁全面解析

如何让《十字军之王II》完美支持中文:双字节字符补丁全面解析 【免费下载链接】CK2dll Crusader Kings II double byte patch /production : 3.3.4 /dev : 3.3.4 项目地址: https://gitcode.com/gh_mirrors/ck/CK2dll 《十字军之王II》双字节字符补丁是一款专…...

【Ease UI】2026-04-03组件更新:新增组件xly-file-preview文件预览组件

🚀 即插即用的 Vue 3 业务组件库,让中后台开发回归简单 Ease UI 是一套为「快速复制」而生的 Vue 3 业务组件库。每个组件都是独立的 .vue 单文件,不依赖任何外部样式或工具函数,直接复制到你的项目即可使用。它仅依赖 Element P…...

如何通过AI技术让千年中医智慧赋能现代诊疗?仲景中医大语言模型的创新实践

如何通过AI技术让千年中医智慧赋能现代诊疗?仲景中医大语言模型的创新实践 【免费下载链接】CMLM-ZhongJing 首个中医大语言模型——“仲景”。受古代中医学巨匠张仲景深邃智慧启迪,专为传统中医领域打造的预训练大语言模型。 The first-ever Traditiona…...

cpp学习——类的封装

#include <iostream> using namespace std; #define PI 3.14class Circle { public:double Radius;double calculateZC(){return 2 * PI * Radius;} };int main() {Circle C1;//类的实例化cout << "请输入半径&#xff1a;";cin >> C1.Radius;cou…...

Python全栈开发实战指南:7大技术领域×100个实践案例

Python全栈开发实战指南&#xff1a;7大技术领域100个实践案例 【免费下载链接】Python-100-Days Python - 100天从新手到大师 项目地址: https://gitcode.com/GitHub_Trending/py/Python-100-Days Python作为一门通用编程语言&#xff0c;已渗透到软件开发的各个领域。…...

System-Controller完整能力手册

System Controller 完整能力手册基于你电脑的实际硬件&#xff08;小米笔记本 i5-6200U / 8GB / 940MX / 1080p&#xff09;和 System Controller 技能的全部能力边界。一、能力总览 用户自然语言指令↓ ┌─────────────────────────────────…...

GTE-Pro企业级语义智能实战:从模型加载到热力评分可视化的完整链路

GTE-Pro企业级语义智能实战&#xff1a;从模型加载到热力评分可视化的完整链路 1. 引言&#xff1a;告别关键词匹配&#xff0c;拥抱语义理解 想象一下&#xff0c;你是一个新员工&#xff0c;想查一下公司怎么报销餐费。你打开公司的知识库&#xff0c;输入“怎么报销吃饭的…...

Claw Code 系统架构与 Agent 运行机制解析

作为专注于 AI 领域的前端研发&#xff0c;我们在构建下一代 AI 交互界面时&#xff0c;往往需要深入理解底层 Agent 的运行机制、上下文管理以及工具调用链路。近期我对 Claw Code 这个双语言&#xff08;Python Rust&#xff09;实现的 AI Agent Harness 系统进行了深度的逆…...

经典美剧《暗黑》1-3季4K中英字幕 网盘发送

对《暗黑》任何“烧脑”“神剧”“开挂”的标签都是极其肤浅的论断。 看懂“暗黑”&#xff0c;已然不只是对众多人物关系线的梳理&#xff0c;对单个人物本身时间线的捋顺&#xff0c;它已经站在了哲学或者说神学的山巅尽量地发出凡人能够接受的光波和光谱。 是爱因斯坦相对论…...

接口隔离原则原理理解

01.前沿简单介绍学习了 SOLID 原则中的单一职责原则、开闭原则和里式替换原则&#xff0c;今天我们学习第四个原则&#xff0c;接口隔离原则。它对应 SOLID 中的英文字母“I”。对于这个原则&#xff0c;最关键就是理解其中“接口”的含义。那针对“接口”&#xff0c;不同的理…...

如何用轻量级工具替代Armoury Crate实现华硕笔记本性能优化

如何用轻量级工具替代Armoury Crate实现华硕笔记本性能优化 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF, Strix, Scar, an…...

Dress Code:突破性高分辨率虚拟试衣数据集的技术架构与实战应用

Dress Code&#xff1a;突破性高分辨率虚拟试衣数据集的技术架构与实战应用 【免费下载链接】dress-code 项目地址: https://gitcode.com/gh_mirrors/dre/dress-code Dress Code是由意大利摩德纳大学研究团队开发的高分辨率多类别虚拟试衣数据集&#xff0c;为计算机视…...

跨平台资源下载终极方案:res-downloader如何破解多平台内容获取难题

跨平台资源下载终极方案&#xff1a;res-downloader如何破解多平台内容获取难题 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader …...

新手福音:通过快马AI生成openclaw安卓自动化入门项目,零基础跑通第一个脚本

新手福音&#xff1a;通过快马AI生成openclaw安卓自动化入门项目&#xff0c;零基础跑通第一个脚本 作为一个刚接触安卓自动化测试的新手&#xff0c;我最近在尝试使用openclaw进行安卓设备操作时遇到了不少困难。从环境配置到脚本编写&#xff0c;每一步都可能踩坑。好在发现…...

鸣潮帧率解锁:用WaveTools轻松突破60FPS限制的终极指南

鸣潮帧率解锁&#xff1a;用WaveTools轻松突破60FPS限制的终极指南 【免费下载链接】WaveTools &#x1f9f0;鸣潮工具箱 项目地址: https://gitcode.com/gh_mirrors/wa/WaveTools 还在为鸣潮被锁定在60FPS而烦恼吗&#xff1f;明明拥有高性能硬件&#xff0c;却只能在低…...

3大维度解锁YimMenu:GTA5安全增强工具全方位使用指南

3大维度解锁YimMenu&#xff1a;GTA5安全增强工具全方位使用指南 【免费下载链接】YimMenu YimMenu, a GTA V menu protecting against a wide ranges of the public crashes and improving the overall experience. 项目地址: https://gitcode.com/GitHub_Trending/yi/YimMe…...

安卓集成Google TTS引擎:实现离线中文语音播报的完整实践

1. 为什么需要Google TTS引擎 很多安卓开发者都遇到过这样的需求&#xff1a;在应用中实现文字转语音功能。系统自带的Pico TTS引擎虽然轻量&#xff0c;但最大的痛点就是不支持中文。我去年开发一个盲人辅助应用时就踩过这个坑&#xff0c;测试时发现语音输出全是英文&#xf…...

6个核心步骤构建自定义Minecraft地形世界

6个核心步骤构建自定义Minecraft地形世界 【免费下载链接】ReTerraForged a 1.19 port of https://github.com/TerraForged/TerraForged 项目地址: https://gitcode.com/gh_mirrors/re/ReTerraForged ReTerraForged是一款专为Minecraft 1.19版本设计的高级地形生成模组&…...

基于QGIS分区统计与栅格重分类的GlobeLand30地表覆盖面积精准测算

1. 数据准备与预处理 做地表覆盖分析的第一步就是获取高质量的数据源。GlobeLand30作为国产30米分辨率全球地表覆盖数据&#xff0c;在精度和易用性上都有不错的表现。我去年参与的一个省级生态评估项目就用到了这套数据&#xff0c;实测下来分类效果相当可靠。 下载数据时有个…...

别再只用WPF自带的DragDrop了!手把手教你从零封装一个可拖拽合并数据的自定义控件

突破WPF原生拖拽限制&#xff1a;构建高定制化数据合并控件的实战指南 在构建现代企业级桌面应用时&#xff0c;拖拽交互已成为提升用户体验的关键要素。WPF虽然提供了基础的DragDrop API&#xff0c;但当我们需要实现类似看板系统中卡片合并、数据聚合等复杂交互时&#xff0c…...

AI辅助开发:让快马AI为你深度解读并延展Python antigravity的趣味文化

最近在玩Python的时候&#xff0c;发现了一个特别有意思的彩蛋——import antigravity。这个看似简单的语句背后&#xff0c;其实藏着一段有趣的开发者文化。今天我就来分享一下&#xff0c;如何用InsCode(快马)平台的AI功能&#xff0c;把这个彩蛋玩出更多花样。 初识antigrav…...

告别MoveIt!用Pinocchio、OMPL和Ruckig手搓一个轻量级机械臂规划模块(附完整C++代码)

轻量级机械臂规划模块&#xff1a;Pinocchio、OMPL与Ruckig的黄金组合 在机器人开发领域&#xff0c;机械臂的运动规划一直是核心挑战之一。传统ROS生态中的MoveIt框架虽然功能全面&#xff0c;但其重型架构和高耦合性往往成为追求高性能和灵活性的开发者的桎梏。本文将带你探索…...

像素语言·维度裂变器:5分钟上手,像玩游戏一样改写你的文字

像素语言维度裂变器&#xff1a;5分钟上手&#xff0c;像玩游戏一样改写你的文字 1. 认识你的文字冒险工坊 像素语言维度裂变器是一款将AI文本改写变成像素冒险游戏的创意工具。它基于MT5-Zero-Shot-Augment引擎&#xff0c;但完全颠覆了传统AI工具的刻板印象&#xff0c;把枯…...