基于DigiThread的仿真模型调参功能

仿真模型调参是指通过调整模型内部的参数值,使仿真模型的输出更符合实际系统的行为或者预期结果的过程。

仿真过程中,往往需要频繁对模型参数进行调整,通过观察不同参数下系统整体的运行情况,实现系统的性能、可靠性和效率的优化。在进行模型调参时,需要注意选择合适的调参方法和调参参数。不同的仿真模型可能需要采用不同的调参方法和参数,以获得最佳的调参效果。

以下是仿真模型调参的一些基本概念:

模型参数:指模型中可以调整的变量,直接影响模型行为的特性,可能包括物理性质、初始条件、系统参数等。仿真模型中,参数调参的目标是找到使模型输出与实际观测相匹配的最佳参数值。

初始参数:开始调参之前,需要为模型参数设定初始值,通常基于先验知识、文献研究或经验来确定,将会影响调参的收敛速度和最终结果。

实验数据:实验数据是从实际系统获得的观测值或测量结果。这些数据用于与仿真模型的输出进行比较,以确定模型的准确性和可靠性。

误差分析:误差分析用于评估仿真模型输出与实际数据之间的差异。通过比较模型的预测结果和实测数据,可以确定模型的偏差和误差。 

文档记录:包括使用的数据集、选定的目标函数、调参算法、最终的参数值以及验证结果,有助于重现调参过程并进行模型维护。

综合这些基本概念可知,有效的仿真模型调参不仅能够提高模型的准确性和实用性,使其更好地反映实际系统的行为,还能提升效率并优化仿真模型的性能,有助于节约仿真模型搭建成本,对提高仿真模型的适用范围和应用价值有着重要意义,使之可以更加广泛地应用于各个领域。

01.仿真模型调参的研究背景和现状

背景

科学与工程复杂性增加:随着科学研究和工程设计的发展,系统变得越来越复杂,传统的试验和分析方法难以涵盖所有可能的情况。仿真模型成为了研究人员和工程师理解和预测系统行为的重要工具。

计算能力的提升:随着计算能力的不断提升,研究人员能够使用更复杂的数学模型进行仿真,进一步加强了对调参方法和技术的需求。

数据的可用性提高:大规模数据的可用性使得研究人员能够更好地对比仿真模型的输出与实测数据,从而进行更准确的调参。

跨学科研究需求:许多涉及多个学科领域的问题需要跨学科的综合研究方法。仿真模型调参在这种情境下发挥着重要作用。

现状

实时调参:针对实时系统的需要,研究人员开始研究实时调参的方法,以在系统运行过程中不断地调整模型参数。

不确定性建模:不确定性是影响仿真模型应用的重要因素,如何在调参中更好地建模和处理不确定性成为关注焦点。

应用领域的多样性:仿真模型调参的研究在涵盖了多个应用领域,包括工程、医学、环境科学、经济学等。

研究者们在不断尝试改进调参算法、提高调参的精度、适应不同模型和系统,并探索与其他计算方法的整合,以满足复杂系统建模的需求。该领域的研究不断发展将为更好地利用仿真模型提供强大工具。

02.仿真模型调参的解决方案

DigiThread是一款国产自主可控的多领域分布式协同仿真平台,基于DDS(数据分发服务)通信模式并通过协同仿真软总线连接多种仿真模型,可实现点对点的数据通讯,已被广泛应用于复杂系统集成仿真和数字孪生等。

DigiThread仿真软总线开放了API,允许外界访问软总线上的数据,并进行读取与写入。

在对仿真工程进行建模作业时,会将仿真模型的输入/输出端口与仿真软总线的Topic进行绑定。开放的软总线API可根据Topic name获取该Topic中的数据,也支持修改该Topic中的数据。

基于此实现,当仿真模型的某个输出值依赖于一个动态变化的参数时,我们可以在此仿真模型中注入一个Parameter类型的端口,利用仿真软总线的API访问该端口,并对该端口绑定的参数进行读取、修改等操作。

▲参数注入功能的实现架构图

03.仿真模型调参的应用案例

打开DigiThread Workspace目录下的示例工程,项目中含一个Sender输出模型和一个Receiver输入模型,Sender模型的所有输出由Receiver接收。

▲DemoC100示例工程建模界面

Sender模型内部定义了不同种类端口,其中包含输出端口(Output)和参数端口(Parameter):

  • u 输出端口可以显示在模型上,支持与其他模型的输入端口进行连接。
  • 参数端口用于接收调参传入的值,当传入值发生变化时,与该参数具有数学运算关系的输出端口的仿真数据也会随之变化。

仿真模型调参功能出现之前,若想修改模型参数,必须进行熟悉模型源码、手动修改参数值、编译模型、导入模型到仿真软件等步骤。由于过程繁杂,需要调试人员掌握不同仿真模型的源码结构以及编译过程;同时也会消耗大量时间,不利于多次调参以达到预期结果。引入仿真模型参数注入功能后,调试人员仅需了解参数与输出端口之间的关系,便可以在仿真过程中实时调整参数值。

下面将重点介绍基于DigiThread调参的具体操作过程。

启动仿真后,右键单击Sender模型,打开DataDouble的端口监视界面,可以看到示波器绘制出一条振荡在 -1 到 1 之间的曲线。此时再次右键单击Sender模型并选择“调参”选项,打开Sender模型的调参界面。点击左下角的“+”按钮,增加一条配置项。在“端口名”一列中可以选择要调参的输出端口(Output)或参数端口(Parameter)。DigiThread的调参功能支持多个端口同时调参,可以根据需要增加多条配置项。

▲Sender模型调参窗口

选择需要调整的AmpDataDouble并设定注入值为10,点击确定后,DataDouble端口输出值随即发生变化,余弦波振幅扩大到 -10 到 10。

▲DataDouble端口输出实时监视

仿真模型调参是一个不断发展的领域,其未来的发展趋势将朝着实时性、不确定性、多学科整合、开源与标准化及人机交互等方向继续发展。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

UDP通信

UDP通信-快速入门 客户端程序 服务端程序 步骤 UDP通信-多发多收 客户端 服务端 步骤

Sentinel核心类解读:Node

基本介绍 Sentinel中的簇点链路是由一个个的Node组成的,Node是一个接口。Node中保存了对资源的实时数据的统计,Sentinel中的限流或者降级等功能就是通过Node中的数据进行判断的。 Sentinel中是这样描述Node的: Holds real-time statistics…

抑郁症中西医治疗对比?

抑郁症是一种常见的心理障碍,治疗方法包括中医和西医两种。下面就抑郁症中西医治疗进行对比: 治疗方法:中医治疗抑郁症强调整体观念和辨证论治,通过调理身体各部分的功能,达到治疗抑郁症的目的。中医治疗抑郁症多采用天…

YOLOv8创新魔改教程(一)如何进行模块创新

YOLOv8创新魔改教程(一)如何进行模块创新 YOLOv8创新魔改教程 本人研一,最近好多朋友问我要如何修改模型创新模块,就想着不如直接开个专栏歇一歇文章,也算是对自己学习的总结,本专栏以YOLOv8为例&#xf…

FH Admin Shiro反序列化漏洞复现

0x01 产品简介 FH Admin 是一款 java 快速开发平台。 0x02 漏洞概述 FH Admin CMS 存在 shiro 反序列化漏洞,该漏洞源于软件存在硬编码的 shiro-key,攻击者可利用该 key 生成恶意的序列化数据,在服务器上执行任意代码,执行系统命…

HT71778 实时音频信号跟踪同步升压转换器的特性

HT71778是一款高功率、全集成升压转换器,集成16mΩ功率开关管和18mΩ同步整流管,为便携式系统提供G效的小尺寸处理方案。 HT71778 实时音频信号跟踪同步升压转换器的特性: ・实时音频信号跟踪的电源供电 SN 短接地, VIN 2.7~4.5V, VOUT 5…

Leetcode—2661.找出叠涂元素【中等】

2023每日刷题(四十六) Leetcode—2661.找出叠涂元素 题意解读 题目意思就是,按照arr数组从左到右的顺序遍历各个arr[i],涂抹这个值在矩阵中对应位置的网格,一旦你发现它所在的行或者列满员了,就返回这个i…

自定义Vue的DockPanel-Layout

创作来源 1、在vue项目中需要有停靠、浮动、面板布局等需求,如arcgis的界面布局 2、在npm中搜索了关于vue的docklayout组件,搜索后就一个组件imengyu/vue-dock-layout,截图如下,该组件没有停靠组件,没有浮动组件&…

Linux学习——模拟实现mybash小程序

目录 一,跟正宗的bash见个面 二,实现一个山寨的bash 1.提示符 2.输入命令与回显命令 3.解析命令 4.执行命令 5.执行逻辑 三,全部代码 一,跟正宗的bash见个面 在这篇文章中,我会写一个myshell小程序。这个小程序…

Linux中top命令输出日志分析?

以下是对输出的各部分的解释: 09:54:34:系统当前时间。up 161 days, 2:08:系统已经运行了161天2小时8分钟。5 users:有5个用户登录系统。load average: 0.13, 0.08, 0.05:系统的1分钟、5分钟、15分钟的平均负载。负载…

数据结构与算法之美学习笔记:29 | 堆的应用:如何快速获取到Top 10最热门的搜索关键词?

目录 前言堆的应用一:优先级队列堆的应用二:利用堆求 Top K堆的应用三:利用堆求中位数解答开篇内容小结 前言 本节课程思维导图: 搜索引擎的热门搜索排行榜功能你用过吗?搜索引擎每天会接收大量的用户搜索请求&#x…

Opencv制作电子签名(涉及知识点:像素过滤,图片通用resize函数,像素大于某个阈值则赋值为其它的像素值)

import cv2def resize_by_ratio(image, widthNone, heightNone, intercv2.INTER_AREA):img_new_size None(h, w) image.shape[:2] # 获得高度和宽度if width is None and height is None: # 如果输入的宽度和高度都为空return image # 直接返回原图if width is None:h_ratio …

手机上的记事本怎么打开?安卓手机通用的记事本APP

有不少上班族发现,自己想要在电脑上随手记录一些工作文字内容,直接使用电脑上的记事本工具来编辑文字是比较便捷的。但是如果想要在手机上记录文字内容,就找不到手机上的记事本了。那么手机上的记事本怎么打开?安卓手机通用的记事…

MySQL:找回root密码

一、情景描述 我们在日常学习中,经常会忘记自己的虚拟机中MySQL的root密码。 这个时候,我们要想办法重置root密码,从而,解决root登陆问题。 二、解决办法 1、修改my.cnf配置文件并重启MySQL 通过修改配置文件,来跳…

Symbol()和迭代器生成器

目录 1、Symbol() 2、迭代器生成器 执行流程 模拟生成器函数 for of 遍历迭代选择器 yield * Generator函数应用 1、Symbol() Symbol表示独一无二的值 const s1 Symbol(a)const s2 Symbol(a)console.log(s1 s2) // fa…

Elasticsearch 如何处理 Aggs 顺序中的大写字母和小写字母?

Elasticsearch 排序允许你根据特定条件对搜索结果进行排序。 然而,在排序时处理区分大小写时,Elasticsearch 将大写和小写字母视为不同的字符,分别对它们进行排序。 这是因为 ASCII 表顺序是从大写 A 到小写 z。 默认情况下,Elas…

MySQL之性能分析和系统调优

MySQL之性能分析和系统调优 性能分析 查看执行计划 EXPLAIN EXPLAIN作为MySQL的性能分析神器,可以用来分析SQL执行计划,需要理解分析结果可以帮助我们优化SQL explain select … from … [where ...]TABLE 表名 查询的每一行记录都对于着一张表 id 该…

【数据结构】最短路径(Dijskra算法)

一.引例 计算机网络传输的问题: 怎样找到一种最经济的方式,从一台计算机向网上所有其他计算机发送一条消息。 抽象为: 给定带权有向图G(V,E)和源点v,求从v到G中其余各顶点的最短路径。 即&…

优化问题,详解静态优化

优化问题,尤其静态优化问题,在控制系统设计中随处可见,例如基于燃油经济性和驾驶体验的多目标优化的汽车发动机 MAP 标定,基于性能指标优化的飞行器结构设计参数优化,以实验数据与模型输出匹配为目标的电池 RC 等效电路…

[WP] ISCTF2023 Web 部分题解

圣杯战争!!! 反序列化伪协议读取 where_is_the_flag 环境变量根目录当前目录 绕进你的心里 利用正则最大回溯绕过 easy_website or select 用双写绕过 空格用/**/绕,报错注入 wafr codesystem(ca\t /f*) webinclude 扫描得到index.bak备份文件打开为加密的代码 写…