一种网络模型运行方法、系统、电子设备及存储介质技术方案

技术编号:37964816 阅读:10 留言:0更新日期:2023-06-30 09:40
本申请公开了一种网络模型运行方法、系统、电子设备及存储介质,方法包括:根据外设存储模块存储的模型各层参数配置信息确定目标空间,根据目标空间从本地内存中申请目标内存区;从外设存储模块每读取一层参数配置信息,从外设存储模块读取该层参数配置信息对应的模型参数并存储到目标内存区;利用目标内存区存储的模型参数和该层参数配置信息执行一次运算。通过将模型部署到外设存储模块,提前申请的目标内存区,以满足网络模型中参数占用空间最大的网络层,在运行模型过程中,通过重复使用相同的内存区域,可以节省内存的使用,能够在MCU上实现层次结构较深的大型网络模型的运行。运行。运行。

【技术实现步骤摘要】
一种网络模型运行方法、系统、电子设备及存储介质


[0001]本申请涉及计算机
,具体涉及一种网络模型运行方法、系统、电子设备及存储介质。

技术介绍

[0002]目前,越来越多的物联网设备采用人工智能技术实现无人工干预的自主决策,使产品与所处环境之间实现更合乎逻辑、更接近人类的交互。大部分物联网设备都是以MCU(微控制单元,Microcontroller Unit)作为主控制器,而大部分MCU与传统意义上的CPU(中央处理器,Central Process Unit)相比,内存硬件资源相对受限,例如RAM(Random Access Memory,随机存取存储器)、FLASH等内存受限。借助轻量级人工智能推理框架,用户可以在MCU上部署深度学习网络模型。
[0003]然而,大部分的物联网设备,由于MCU的内存资源受限,导致无法运行太大的深度学习网络模型,使得在PC端或者服务端训练好的大型网络模型无法在资源受限的MCU上进行部署运行。

技术实现思路

[0004]本申请的目的是针对上述现有技术的不足提出的一种网络模型运行方法、系统、电子设备及存储介质,该目的是通过以下技术方案实现的。
[0005]本申请的第一方面提出了一种网络模型运行方法,所述方法包括:
[0006]根据外设存储模块存储的模型各层参数配置信息确定目标空间,并根据所述目标空间从本地内存中申请目标内存区;
[0007]从所述外设存储模块每读取一层参数配置信息,从所述外设存储模块读取该层参数配置信息对应的模型参数并存储到所述目标内存区;
[0008]利用所述目标内存区存储的模型参数和该层参数配置信息执行一次运算,并清除所述目标内存区存储的模型参数。
[0009]在本申请的一些实施例中,所述根据外设存储模块存储的模型各层参数配置信息确定目标空间,包括:
[0010]从所述外设存储模块读取各层参数配置信息;利用各层参数配置信息包含的算子函数确定各层输出数据量,从各层输出数据量中选取最大输出数据量;从各层参数配置信息包含的参数所需空间中选取最大的参数所需空间;将所述最大输出数据量所需的输出数据空间和最大参数所需空间确定为目标空间。
[0011]在本申请的一些实施例中,所述目标内存区包括参数内存区、输入内存区和输出内存区;所述根据所述目标空间从本地内存中申请目标内存区,包括:
[0012]按照所述最大参数所需空间,从本地内存中申请参数内存区;按照预设的输入数据量,从本地内存中申请输入内存区;按照所需的输出数据空间,从本地内存中申请输出内存区。
[0013]在本申请的一些实施例中,所述从所述外设存储模块每读取一层参数配置信息,从所述外设存储模块读取该层参数配置信息对应的模型参数并存储到所述目标内存区,包括:
[0014]如果读取的是模型第一层参数配置信息,则将第一层参数配置信息对应的模型参数存储到参数内存区,将已获取到的输入数据存储到输入内存区;如果读取的是除模型第一层参数配置信息之外的其他层参数配置信息,则将其他层参数配置信息对应的模型参数存储到参数内存区,并将输出内存区中存储的输出数据作为输入数据移至输入内存区。
[0015]在本申请的一些实施例中,所述利用所述目标内存区存储的模型参数和该层参数配置信息执行一次运算,包括:
[0016]根据参数内存区存储的模型参数和输入内存区存储的输入数据,调用该层参数配置信息包含的算子函数执行运算;将运算得到的输出数据存储到输出内存区。
[0017]在本申请的一些实施例中,在根据外设存储模块存储的模型各层参数配置信息确定目标空间之前,所述方法还包括:
[0018]接收到上电指令时,检测相关外设模块是否正常,所述相关外设模块包括外设存储模块;若相关外设模块均正常,则执行根据外设存储模块存储的模型各层参数配置信息确定目标空间的步骤。
[0019]本申请的第二方面提出了一种网络模型运行系统,所述系统包括:
[0020]外设存储模块,用于存储已训练模型包含的各个网络层的参数配置信息和模型参数;
[0021]数据源模块,用于将采集或者传输的数据作为模型的输入数据发送至MCU模块;
[0022]MCU模块,用于根据所述外设存储模块存储的模型各层参数配置信息确定目标空间,并根据所述目标空间从本地内存中申请目标内存区;从所述外设存储模块每读取一层参数配置信息,从所述外设存储模块读取该层参数配置信息对应的模型参数并存储到所述目标内存区,并利用所述目标内存区存储的模型参数和该层参数配置信息执行一次运算,并清除所述目标内存区存储的模型参数。
[0023]在本申请的一些实施例中,所述目标内存区包括参数内存区、输入内存区和输出内存区;所述MCU模块,具体用于在从所述外设存储模块每读取一层参数配置信息,从所述外设存储模块读取该层参数配置信息对应的模型参数并存储到所述目标内存区过程中,当读取的是模型第一层参数配置信息时,将第一层参数配置信息对应的模型参数存储到参数内存区,并将所述数据源模块发送的输入数据存储到输入内存区;当读取的是除模型第一层参数配置信息之外的其他层参数配置信息时,将其他层参数配置信息对应的模型参数存储到参数内存区,并将输出内存区中存储的输出数据作为输入数据移至输入内存区。
[0024]本申请的第三方面提出了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序以实现如上述第一方面所述方法的步骤。
[0025]本申请的第四方面提出了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行以实现如上述第一方面所述方法的步骤。
[0026]基于上述第一方面和第二方面所述的网络模型运行方法及系统,本申请至少具有如下有益效果或优点:
[0027]由于网络模型中每一网络层的参数占用内存比较大并且各不相同,随着网络模型深度加深,网络层也会增加,本申请通过将训练好的网络模型的模型参数和参数配置信息部署到外设存储模块,在运行网络模型之前,通过根据各层参数配置信息确定目标空间,提前根据目标空间申请目标内存区,以满足网络模型中参数占用空间最大的网络层,然后在运行网络模型过程中,从外设存储模块每读取一层参数配置信息,便将该层参数配置信息对应的模型参数存储到目标内存区,并利用目标内存区存储的模型参数和该层参数配置信息执行一次运算,这样通过重复使用相同的内存区域,可以节省内存的使用,能够在MCU上实现层次结构较深的大型网络模型的运行。
附图说明
[0028]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0029]图1为本申请根据一示例性实施例示出的一种网络模型运行系统的结构示意图;
[0030]图2为本申请根据一示例性实施例示出的一种网络模型运行方法的实施例流程图;
[0031]图3为本申请根本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种网络模型运行方法,其特征在于,所述方法包括:根据外设存储模块存储的模型各层参数配置信息确定目标空间,并根据所述目标空间从本地内存中申请目标内存区;从所述外设存储模块每读取一层参数配置信息,从所述外设存储模块读取该层参数配置信息对应的模型参数并存储到所述目标内存区;利用所述目标内存区存储的模型参数和该层参数配置信息执行一次运算,并清除所述目标内存区存储的模型参数。2.根据权利要求1所述的方法,其特征在于,所述根据外设存储模块存储的模型各层参数配置信息确定目标空间,包括:从所述外设存储模块读取各层参数配置信息;利用各层参数配置信息包含的算子函数确定各层输出数据量,从各层输出数据量中选取最大输出数据量;从各层参数配置信息包含的参数所需空间中选取最大的参数所需空间;将所述最大输出数据量所需的输出数据空间和最大的参数所需空间确定为目标空间。3.根据权利要求2所述的方法,其特征在于,所述目标内存区包括参数内存区、输入内存区和输出内存区;所述根据所述目标空间从本地内存中申请目标内存区,包括:按照最大的参数所需空间,从本地内存中申请参数内存区;按照预设的输入数据量,从本地内存中申请输入内存区;按照所需的输出数据空间,从本地内存中申请输出内存区。4.根据权利要求3所述的方法,其特征在于,所述从所述外设存储模块每读取一层参数配置信息,从所述外设存储模块读取该层参数配置信息对应的模型参数并存储到所述目标内存区,包括:如果读取的是模型第一层参数配置信息,则将第一层参数配置信息对应的模型参数存储到参数内存区,将已获取到的输入数据存储到输入内存区;如果读取的是除模型第一层参数配置信息之外的其他层参数配置信息,则将其他层参数配置信息对应的模型参数存储到参数内存区,并将输出内存区中存储的输出数据作为输入数据移至输入内存区。5.根据权利要求4所述的方法,其特征在于,所述利用所述目标内存区存储的模型参数和该层参数配置信息执行一次运算,包括:根据参数内存区存储的模型参数和输入内存区存储的输入数据,调用该层参数配置信息包含的算子函数执行运算;将运算得到的输出数据存储到输出内存区。6.根...

【专利技术属性】
技术研发人员:田春雨毕志勇句秋月王凌宇刘伟超王维根
申请(专利权)人:杭州未名信科科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1