CN115982110A - 文件运行方法、装置、计算机设备及可读存储介质 - Google Patents

文件运行方法、装置、计算机设备及可读存储介质 Download PDF

Info

Publication number
CN115982110A
CN115982110A CN202310275273.6A CN202310275273A CN115982110A CN 115982110 A CN115982110 A CN 115982110A CN 202310275273 A CN202310275273 A CN 202310275273A CN 115982110 A CN115982110 A CN 115982110A
Authority
CN
China
Prior art keywords
neural network
memory
preset
parameters
container
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202310275273.6A
Other languages
English (en)
Other versions
CN115982110B (zh
Inventor
鲁勇
严勇猛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Intengine Technology Co Ltd
Original Assignee
Beijing Intengine Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Intengine Technology Co Ltd filed Critical Beijing Intengine Technology Co Ltd
Priority to CN202310275273.6A priority Critical patent/CN115982110B/zh
Publication of CN115982110A publication Critical patent/CN115982110A/zh
Application granted granted Critical
Publication of CN115982110B publication Critical patent/CN115982110B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Control By Computers (AREA)
  • Feedback Control In General (AREA)

Abstract

本申请公开了一种文件运行方法、装置、计算机设备及可读存储介质,所述文件运行方法包括:从存储器中获取包括至少一个容器的整合文件;提取所述容器中预设神经网络的神经网络参数;根据所述神经网络参数将预设神经网络安装至预设平台的内存中;根据已安装的神经网络进行初始;在初始化后运行所述神经网络的子网,并在所述神经网络运行结束后释放资源。本申请提供的文件运行方案可以提高神经网络的处理效率。

Description

文件运行方法、装置、计算机设备及可读存储介质
技术领域
本申请涉及数据处理领域,具体涉及一种文件运行方法、装置、计算机设备及可读存储介质。
背景技术
随着人工智能技术的发展,神经网络应用到越来越多的领域,对人们的生产和生活带来了改善。神经网络是一种神经网络学习算法,是由输入层、中间层、输出层组成的阶层型神经网络,中间层可扩展为多层。相邻层之间各神经元进行全连接,而每层各神经元之间无连接,网络按有教师示教的方式进行学习,当一对学习模式提供给网络后,各神经元获得网络的输入响应产生连接权值(Weight)。然后按减小希望输出与实际输出误差的方向,从输出层经各中间层逐层修正各连接权,回到输入层。此过程反复交替进行,直至网络的全局误差趋向给定的极小值,即完成学习的过程。
目前,神经网络具有很多种类,比如前馈神经网络、径向基神经网络、感知器神经网络、线性神经网络、自组织神经网络以及反馈神经网络等等。其中,每个神经网络都包含多种信息参数,比如网络图、辅助信息、权重数据、NPU指令代码、编译器生成的其它相关信息等,计算平台在使用神经网络时需要调用上述参数,而常见的计算平台中的内存资源极其有限,也不支持文件系统,因此只能从外存中调用上述参数,导致神经网络处理效率较低。
发明内容
针对上述技术问题,本申请提供一种文件运行方法、装置、计算机设备及可读存储介质,可以提高神经网络的处理效率。
为解决上述技术问题,本申请提供一种文件运行方法,包括:
从存储器中获取包括至少一个容器的整合文件;
提取所述容器中预设神经网络的神经网络参数;
根据所述神经网络参数将预设神经网络安装至预设平台的内存中;
根据已安装的神经网络进行初始化;
在初始化后运行所述神经网络的子网,并在所述神经网络运行结束后释放资源。
可选的,在本申请的一些实施例中,当所述整合文件位于外存时,所述根据所述神经网络参数将预设神经网络安装至预设平台的内存,包括:
从预设平台的内存中划分出一段第一内存区域,所述第一内存区域用于存取神经网络参数和中间特征图;
将至少部分神经网络参数拷贝至所述第一内存区域;
将所述预设平台的功能函数接口赋予已拷贝至内存中的RAW层预设函数接口,并调用预设函数接口执行预设功能;
将所述预设平台对拷贝至内存中的部分参数写入特定的数值。
可选的,在本申请的一些实施例中,当所述整合文件位于内存时,所述根据所述神经网络参数将预设神经网络安装至预设平台的内存,包括:
从预设平台的内存中划分出一段第二内存区域,所述第二内存区域用于存取中间特征图;
将所述平台的实际功能函数接口赋予内存中的RAW层预设函数接口,并调用预设函数接口执行预设功能。
可选的,在本申请的一些实施例中,所述根据已安装的神经网络进行初始化,包括:
提取网络容器中的参数;
根据提取的参数,对内存中的部分数据段填入特定值,以及;
根据提取的参数,对硬件计算核进行初始设置。
可选的,在本申请的一些实施例中,所述在初始化后运行所述神经网络的子网,包括:
提取子网容器中的参数;
对所述子网容器中的运行参数进行初始设置;
遍历子网中所有RAW网段的每个RAW层,调用RAW层预设函数接口执行复位功能;
根据提取的参数,对主动核进行设置;
在对应的硬件计算核上依次运行各网段。
可选的,在本申请的一些实施例中,所述在对应的硬件计算核上依次运行各网段,包括:
提取CMD网段容器中的参数;
根据提取的参数,对所述主动核进行设置,并启动设置后的主动核进行计算。
可选的,在本申请的一些实施例中,所述在对应的硬件计算核上依次运行各网段,包括:
对RAW网段容器中的运行参数进行初始设置;
依次调用RAW网段中每个RAW层的预设函数接口执行运行功能。
可选的,在本申请的一些实施例中,所述在初始化后运行所述神经网络的子网,包括:
提取参考特征图数组容器中第一个参考特征图容器的的特征图作为所述神经网络的输入;
依次运行所述子网的各个网段及RAW网段中的每个RAW层。
可选的,在本申请的一些实施例中,所述在所述神经网络运行结束后释放资源,包括:
依次调用子网中RAW网段的RAW层的预设函数接口执行释放功能;
释放安装时及运行中占用的其它软件资源;
释放硬件计算核。
可选的,在本申请的一些实施例中,还包括:
清空至少部分所述子网的数据。
相应的,本申请还提供一种文件运行装置,包括:
获取模块,用于从存储器中获取包括至少一个容器的整合文件;
提取模块,用于提取所述容器中预设神经网络的神经网络参数;
安装模块,用于根据所述神经网络参数将预设神经网络安装至预设平台的内存中;
初始化模块,用于根据已安装的神经网络进行初始化;
运行模块,用于在初始化后运行所述神经网络的子网。
释放模块,用于在所述神经网络运行结束后释放资源。
本申请还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上述方法的步骤。
本申请还提供一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述方法的步骤。
如上所述,本申请提供一种文件运行方法、装置、计算机设备及可读存储介质,在从存储器中获取包括至少一个容器的整合文件后,提取所述容器中预设神经网络的神经网络参数,然后,根据所述神经网络参数将预设神经网络安装至预设平台的内存中,接着,根据已安装的神经网络进行初始化,最后,在初始化后运行所述神经网络的子网,并在所述神经网络运行结束后释放资源。在本申请提供的文件运行方案中,可以从存储器中获取包括至少一个容器的整合文件,并将其对应的神经网络参数安装至预设平台的内存中,从而在后续使用时可以通过内存直接调用,有效提升了神经网络的处理效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的文件运行方法的流程示意图;
图2是本申请实施例提供的内存模型A对应的访问方式示意图;
图3是本申请实施例提供的内存模型B对应的访问方式示意图;
图4是本申请实施例提供的内存模型C对应的访问方式示意图;
图5是本申请实施例提供的内存模型D对应的访问方式示意图;
图6是本申请实施例提供的预设平台的结构示意图;
图7是本申请提供的文件运行方法的另一流程示意图;
图8是本申请实施例提供的文件运行装置的结构示意图;
图9是本申请实施例提供的文件运行装置的另一结构示意图;
图10是本申请实施例提供的智能终端的结构示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素,此外,本申请不同实施例中具有同样命名的部件、特征、要素可能具有相同含义,也可能具有不同含义,其具体含义需以其在该具体实施例中的解释或者进一步结合该具体实施例中上下文进行确定。
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或者“单元”的后缀仅为了有利于本申请的说明,其本身没有特定的意义。因此,“模块”、“部件”或者“单元”可以混合地使用。
以下对本申请涉及的实施例进行具体描述,需要说明的是,在本申请中对实施例的描述顺序不作为对实施例优先顺序的限定。
本申请实施例提供一种文件运行方法、装置、计算机设备及可读存储介质。
其中,该文件运行装置具体可以集成在终端中。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端与服务器之间可以通过有线或无线通信方式进行直接或间接地连接,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器,本申请在此不做限制。
以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优先顺序的限定。
一种文件运行方法,包括:从外存中获取包括至少一个容器的整合文件;提取容器中预设神经网络的神经网络参数;将神经网络参数拷贝预设平台的内存中,并对安装至内存中的至少部分神经网络参数进行初始化;在初始化后运行神经网络的子网。
请参阅图1,图1为本申请实施例提供的文件运行方法的流程示意图。该数文件运行方法的具体流程可以如下:
101、从存储器中获取包括至少一个容器的整合文件。
其中,存储器可以是外存,也可以是内存,存储器中可以存储有预先构建的整合文件,该整合文件可以包括多个第一容器,且每个第一容器对应一个神经网络参数,其还可以包括至少一个第二容器,该第二容器存储有用户自定义神经网络的自定义网络参数。需要说明的是,当整合文件包括多个第一容器和一个第二容器时,第二容器可以包含所有第一容器中神经网络的自定义网络参数,也可以仅包含其中的一个或多个;当整合文件包括多个第一容器和多个第二容器时,一个第二容器对应一个第一容器,即,一个第二容器携带有一个神经网络的自定义网络参数,具体可以根据实际情况进行设定,在此不再赘述。
需要说明的是,本申请提供不同的内存模型,其中,每个内存模型对应一种访问方式,具体如下:
内存模型A:请参阅图2,比如外存是一个flash,IRIFF文件保存其中。上电后,某个Host(不一定是本模组的CPU,根据硬件平台的设计而定)将神经网络A的信息按下图方式(红色箭头)拷贝至模组2的内存中。然后模组2开始运行,每层/每网段具体计算过程仅访问内存即可,无需再访问flash。
内存模型B:请参阅图3,比如外存是一个flash,IRIFF文件保存其中。上电后,某个Host(不一定是本模组的CPU,根据硬件平台的设计而定)将神经网络A的信息按图3所示的方式(虚线箭头)拷贝至模组2的内存中。然后模组2开始运行,因内存空间较小,每个CMD网段具体计算过程中需先访问flash读取权重参数、或命令序列(即实线箭头)至内存,然后主动核才能开始计算。
内存模型C:请参阅图4,比如外存是一个flash,IRIFF文件保存其中。上电后,某个Host(不一定是本模组的CPU,根据硬件平台的设计而定)将神经网络A的信息按图4所示的方式(虚线箭头)拷贝至模组2的内存中。然后模组2开始运行,每个CMD网段具体计算过程中主动核可从flash读取权重参数(如上图实线箭头)进行计算。
内存模型D:与内存模型A类似,请参阅图5,在调试时,通过后门直接将IRIFF文件(内含神经网络A)加载到内存某区域(比如上图的内存B)中。然后模组2开始运行,省去数据拷贝的过程,可大大加速仿真调试,此模式也称为“直接从IRIFF文件运行”,用于软硬件研发中的调试。
102、提取容器中预设神经网络的网络参数。
其中,本申请实施例提供的文件运行方法可以应用在如图6所示的预设平台,该预设平台可以包括一个外存和多个计算模组,上述外存可以包括低速、非易失性存储模块、设备或等价物。比如flash、机械硬盘等,甚至可以是一个远程文件等。
可选地,在一些实施例中,上述计算模组中则包括主控制模组、至少一个计算核以及内存,其中内存可以为SRAM(Static Random-Access Memory,静态随机存取存储器)或DDR SDRAM(Double Data Rate Synchronous Dynamic Random Access Memory,双倍数据率同步动态随机存取存储器),主控制模组Host可以为CPU,而至少一个计算核可以为DSP(DigitalSignal Processing,数字信号处理器)、NPU(Neural-networkProcessing Unit,嵌入式神经网络处理器)、GPU(graphicsprocessing unit,图形处理器)等。
需要说明的是,上述计算模组可以是物理上固定的,也可以是按需动态组合成的,每个计算模组的内存可能独立编址,也可能与其余一个或多个模组内存统一编址。在一实施例中,上述计算核分两种:即能自动地连续读取命令(可以是指令,也可以是配置参数)序列、译码并执行的称为主动核;否则称为被动核。其中,每个计算模组内的每一种主动核都需要进行编号,如图2中所示CPU、NPU_0、NPU_1等。多个相互独立的计算模组可同时运行,且每个计算模组可计算一个或多个神经网络,本申请对此不作进一步限定。
可选地,在一些实施例中,本申请将预设神经网络按照内部结构按级别从小到大进行了细致划分,具体可以包括特征图、网络层、网段、子网以及网络。其中,特征图(feature map,简记为fm):即3维张量,3个纬度通常用H、W、C表示,合写即为HWC。其数据类型不计入纬度,用B独立表示。
网络层(layer):是神经网络经神经网络编译器预处理后的基本单位,也简称层。与通常所说的神经网络层(简称原始层)有区别:可能是某个原始层拆分后的一部分,也可能是多个连续原始层的融合。其输入为张量,通常以特征图为,输出为特征图。这里对网络层进一步细分为两种:一种是经神经网络工具链编译后能生成命令序列,且该命令序列能由某个主动核执行(计算)并得到输出特征图的层,称作CMD网络层;其余称作RAW网络层,即需要保留该网络层的原始信息,计算时由Host决定实际的计算方式、过程。
网段(segment):即满足某种条件的一个或连续多个网络层。也分两种:能在某个主动核上持续运行而不切换,称为CMD网段;否则称为RAW网段。需要说明的是,在调试或测试时,也有可能将每个CMD网络层单独作为一个CMD网段。
子网(subnet):即每一轮计算(对应一个输入特征图(简记为fi))中,计算频次都相同的一个或连续多个网段。也就是说中间没有条件判断造成的分叉、或循环。
网络(net):由逻辑关系组合在一起的一个或多个子网。常见的各种神经网络都只包含一个子网。网络各层的计算结果称为中间特征图。中间特征图可分为两类:需要保存且参与后续某轮计算的称为静态(static)特征图;其余的(即不参与后续轮计算的)称为局域(local)特征图。
在一实施例中,还可以进一步定义一个高层概念,比如为网组(group),可以由逻辑关系组合在一起的多个网络构成。
103、根据神经网络参数将预设神经网络安装至预设平台的内存中。
例如,具体的,闪存上电后,某个主控制模组可以将神经网络的信息按全部安装至预设平台的内存中,其中主控制模组不一定是本模组的中央处理器,具体根据硬件平台的设计而定。然后计算模组开始运行,每层/每网段具体计算过程仅访问内存即可,无需再访问。
在计算模组运行时若内存空间较小,以至于不能将整合文件中的全部神经网络参数拷贝到内存中时,就可以根据剩余内存值优先拷贝一部分神经网络参数,比如将神经网络的网络细节信息拷贝到内存当中,然后每个CMD网段具体计算过程中需先访问flash读取权重参数或命令序列至内存,然后计算模组中的计算核才能开始计算,可选的,在一些实施例中,步骤“根据神经网络参数将预设神经网络安装至预设平台的内存中”,具体可以包括:
(11)从预设平台的内存中划分出一段第一内存区域;
(12)将至少部分神经网络参数拷贝至第一内存区域;
(13)将预设平台的功能函数接口赋予已拷贝至内存中的RAW层预设函数接口,并调用预设函数接口执行预设功能;
(14)将预设平台对拷贝至内存中的部分参数写入特定的数值。
当整合文件位于外存时,可以从预设平台的内存中划分出一段用于存取神经网络参数和中间特征图的内存区域(即第一内存区域),然后,至少部分神经网络参数拷贝至第一内存区域,随后,将预设平台的功能函数接口赋予已拷贝至内存中的RAW层预设函数接口,并调用预设函数接口执行预设功能,其中,预设功能可以为创建、运行、复位以及释放,其中,构建作用于RAW层,主要用于解析数据以及申请运行资源,运行包括真实计算和模拟计算,真实计算是被动核对RAW层输入特征图进行计算并得到输出特征图;模拟计算用于调试,是指CPU直接提取该RAW层对应的输出参考特征图容器中的特征图用作输出特征图。复位是对RAW层的复位,用于子网复位阶段。释放是释放RAW层占用的软件资源,用于网络结束阶段。
可选的,在一些实施例中,步骤“根据神经网络参数将预设神经网络安装至预设平台的内存中”,具体可以包括:
(21)从预设平台的内存中划分出一段第二内存区域。
(22)将所述平台的实际功能函数接口赋予内存中的RAW层预设函数接口,并调用预设函数接口执行预设功能。
其中,第二内存区域用于存取中间特征图。
104、根据已安装的神经网络进行初始化。
例如,具体的,可以在将特征图、网络层、网段、子网以及网络拷贝所述预设内存区域后,可以为CPU/DSP initnet层的Reset、Run接口指定具体函数(来源于SDK),随后,对特征图、网络层、网段、子网以及网络的某些数据写入特定值以完成初始化,即,可选的,在一些实施例中,步骤“根据已安装的神经网络进行初始化”,具体可以包括:
(31)提取网络容器中的参数;
(32)根据提取的参数,对内存中的部分数据段填入特定值,以及根据提取的参数,对硬件计算核进行初始设置。
例如,可以从网络容器提取特征图、网络层、网段、子网以及网络,然后,对特征图、网络层、网段、子网以及网络的某些数据写入特定值以完成初始化,此外,对内存中的部分数据段填入特定值,比如某些静态特征图需要用全0或非0值初始化,可选的,在一些实施例中,还可以初始化神经网络在外存中的起始地址。
105、在初始化后运行神经网络的子网,并在神经网络运行结束后释放资源。
在对神经网络参数进行初始化后,可以在对应的硬件上依次运行各网段,以及运行多个子网,即,可选的,在一些实施例中,步骤“在初始化后运行神经网络的子网”,具体可以包括:
(41)提取子网容器中的参数;
(42)对子网容器中的运行参数进行初始设置;
(43)遍历子网中所有RAW网段的每个RAW层,调用RAW层预设函数接口执行复位功能;
(44)根据提取的参数,对主动核进行设置;
(45)在对应的硬件计算核上依次运行各网段。
例如,具体的,可以提取CMD网段容器中的参数,然后,根据提取的参数,对所述主动核进行设置,并启动设置后的主动核进行计算。当然,也可以对RAW网段容器中的运行参数进行初始设置,接着,依次调用RAW网段中每个RAW层的预设函数接口执行运行功能。
可选的,在一些实施例中,步骤“在初始化后运行神经网络的子网”,具体可以包括:
(51)提取参考特征图数组容器中第一个参考特征图容器的的特征图作为神经网络的输入;
(52)依次运行子网的各个网段及RAW网段中的每个RAW层。
需要说明的是,用作调试时,直接提取参考特征图数组容器中第一个参考特征图容器的的特征图作神经网络的输入,然后按需运行各个子网并依次运行子网的各个网段及RAW网段中的每个RAW层。在运行时可将部分中间计算结果(即特征图)立即与从参考特征图数组容器中对应参考特征图容器中提取的特征图进行比较,以快速定位软硬件的bug。
当神经网络运行结束时,可以依次调用子网中RAW网段的RAW层的预设函数接口执行释放功能,然后,释放安装时及运行中占用的其它软件资源以及释放硬件计算核。
可选地,在一些实施例中,本申请的文件运行方法具体还可以包括:清空至少部分子网的数据。比如,可以清空子网A的数据,也可以清空子网A和子网B的数据,还可以清楚所有子网的数据,具体可以根据实际情况进行选择,在此不再赘述。
进一步的,请参阅图7,图7是本申请提供的文件运行方法的另一流程示意图,本申请提供的文件运行方法包括如下阶段:
安装阶段:将网络图、权重、npucode等从flash安装至ram,为CPU/DSP init net层的Reset、Run接口指定具体函数(来源于SDK)。
初始化阶段:某些数据填入特定值。比如某个RNN的某层。
子网运行阶段:在对应的硬件上依次运行各网段;依次运行多个子网。
子网复位阶段:清空子网部分层的数据。
以上完成本申请的文件运行流程。
由上可知,本申请提供一种文件运行方法,从存储器中获取包括至少一个容器的整合文件后,提取容器中预设神经网络的神经网络参数,接着,根据神经网络参数将预设神经网络安装至预设平台的内存中,然后,根据已安装的神经网络进行初始化,最后,在初始化后运行神经网络的子网,并在神经网络运行结束后释放资源,在本申请提供的文件运行方案中,可以从存储器中获取包括至少一个容器的整合文件,并将其对应的神经网络参数安装至预设平台的内存中,从而在后续使用时可以通过内存直接调用,有效提升了神经网络的处理效率。
为便于更好的实施本申请的文件运行方法,本申请还提供一种基于上述文件运行装置。其中名词的含义与上述文件运行方法中相同,具体实现细节可以参考方法实施例中的说明。
请参阅图8,图8是本申请提供的文件运行装置的结构示意图,其中该文件运行装置可以包括获取模块201、提取模块202、安装模块203、初始化模块204、运行模块205以及释放模块206,具体可以如下:
获取模块201,用于从存储器中获取包括至少一个容器的整合文件。
其中,存储器可以是外存,也可以是内存,存储器中可以存储有预先构建的整合文件,该整合文件可以包括多个第一容器,且每个第一容器对应一个神经网络参数,其还可以包括至少一个第二容器,该第二容器存储有用户自定义神经网络的自定义网络参数。需要说明的是,当整合文件包括多个第一容器和一个第二容器时,第二容器可以包含所有第一容器中神经网络的自定义网络参数,也可以仅包含其中的一个或多个;当整合文件包括多个第一容器和多个第二容器时,一个第二容器对应一个第一容器,即,一个第二容器携带有一个神经网络的自定义网络参数,具体可以根据实际情况进行设定,在此不再赘述。
提取模块202,用于提取容器中预设神经网络的神经网络参数。
其中,神经网络具有很多种类,比如BP(Back Propagation)神经网络、径向基函数(RBF-RadialBasis Function)神经网络、感知器神经网络、线性神经网络、自组织神经网络以及反馈神经网络等等,容器中存储的神经网络可以根据实际情况进行选择,在此不作赘述。
安装模块203,用于根据神经网络参数将预设神经网络安装至预设平台的内存中。
例如,具体的,闪存上电后,某个主控制模组可以将神经网络的信息按全部安装至预设平台的内存中,其中主控制模组不一定是本模组的中央处理器,具体根据硬件平台的设计而定。然后计算模组开始运行,每层/每网段具体计算过程仅访问内存即可,无需再访问。
初始化模块204,用于根据已安装的神经网络进行初始化。
例如,具体的,可以在将特征图、网络层、网段、子网以及网络拷贝所述预设内存区域后,可以为CPU/DSP initnet层的Reset、Run接口指定具体函数(来源于SDK),随后,对特征图、网络层、网段、子网以及网络的某些数据写入特定值以完成初始化,可选的,在一些实施例中,初始化模块204具体可以用于:提取网络容器中的参数;根据提取的参数,对内存中的部分数据段填入特定值,以及根据提取的参数,对硬件计算核进行初始设置。
运行模块205,用于在初始化后运行神经网络的子网。
在对神经网络参数进行初始化后,可以在对应的硬件上依次运行各网段,以及运行多个子网,可选的,在一些实施例中,运行模块205具体可以包括:
提取单元,用于提取子网容器中的参数;
第一设置单元,用于对子网容器中的运行参数进行初始设置;
调用单元,用于遍历子网中所有RAW网段的每个RAW层,调用RAW层预设函数接口执行复位功能;
第二设置单元,用于根据提取的参数,对主动核进行设置;
运行单元,用于在对应的硬件计算核上依次运行各网段。
可选的,在一些实施例中,运行单元具体可以用于:提取参考特征图数组容器中第一个参考特征图容器的的特征图作为神经网络的输入;依次运行子网的各个网段及RAW网段中的每个RAW层。
释放模块206,用于在神经网络运行结束后释放资源。
可选的,在一些实施例中,释放模块206具体可以用于:依次调用子网中RAW网段的RAW层的预设函数接口执行释放功能;释放安装时及运行中占用的其它软件资源以及释放硬件计算核。
可选的,在一些实施例中,本申请的文件运行装置具体还可以包括清洗模块207,该清洗模块207用于清空至少部分子网的数据。
以上完成本申请的文件运行流程。
由上可知,本申请提供一种文件运行装置,获取模块201从存储器中获取包括至少一个容器的整合文件后,提取模块202提取容器中预设神经网络的神经网络参数,接着,安装模块203根据神经网络参数将预设神经网络安装至预设平台的内存中,然后,初始化模块204根据已安装的神经网络进行初始化,最后,运行模块205在初始化后运行神经网络的子网,释放模块206在神经网络运行结束后释放资源,在本申请提供的文件运行方案中,可以从存储器中获取包括至少一个容器的整合文件,并将其对应的神经网络参数安装至预设平台的内存中,从而在后续使用时可以通过内存直接调用,有效提升了神经网络的处理效率。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
本发明实施例还提供一种计算机设备500,如图10所示,该计算机设备500可以集成上述文件运行装置,还可以进一步包括射频(RF,RadioFrequency)电路501、包括有一个或一个以上计算机可读存储介质的存储器502、输入单元503、显示单元504、传感器505、音频电路506、无线保真(WiFi,Wireless Fidelity)模块507、包括有一个或者一个以上处理核心的处理器508、以及电源509等部件。本领域技术人员可以理解,图10中示出的计算机设备500结构并不构成对计算机设备500的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路501可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器508处理;另外,将涉及上行的数据发送给基站。通常,RF电路501包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM,Subscriber Identity Module)卡、收发信机、耦合器、低噪声放大器(LNA,Low Noise Amplifier)、双工器等。此外,RF电路501还可以通过无线通信与网络和其他设备通信。无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GSM,Global System of Mobile communication)、通用分组无线服务(GPRS ,GeneralPacket Radio Service)、码分多址(CDMA,Code Division Multiple Access)、宽带码分多址(WCDMA,Wideband Code Division Multiple Access)、长期演进(LTE,Long TermEvolution)、电子邮件、短消息服务(SMS,Short Messaging Service)等。
存储器502可用于存储软件程序以及模块,处理器508通过运行存储在存储器502的软件程序以及模块,从而执行各种功能应用以及信息处理。存储器502可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、目标数据播放功能等)等;存储数据区可存储根据计算机设备500的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器502可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器502还可以包括存储器控制器,以提供处理器508和输入单元503对存储器502的访问。
输入单元503可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一个具体的实施例中,输入单元503可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器508,并能接收处理器508发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入单元503还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元504可用于显示由用户输入的信息或提供给用户的信息以及计算机设备500的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元504可包括显示面板,可选的,可以采用液晶显示器(LCD,Liquid CrystalDisplay)、有机发光二极管(OLED,Organic Light-Emitting Diode)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器508以确定触摸事件的类型,随后处理器508根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图10中,触敏表面与显示面板是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。
计算机设备500还可包括至少一种传感器505,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板的亮度,接近传感器可在计算机设备500移动到耳边时,关闭显示面板和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等; 至于计算机设备500还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路506、扬声器,传声器可提供用户与计算机设备500之间的音频接口。音频电路506可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路506接收后转换为音频数据,再将音频数据输出处理器508处理后,经RF电路501以发送给比如另一计算机设备500,或者将音频数据输出至存储器502以便进一步处理。音频电路506还可能包括耳塞插孔,以提供外设耳机与计算机设备500的通信。
WiFi属于短距离无线传输技术,计算机设备500通过WiFi模块507可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图10示出了WiFi模块507,但是可以理解的是,其并不属于计算机设备500的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器508是计算机设备500的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器502内的软件程序和/或模块,以及调用存储在存储器502内的数据,执行计算机设备500的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器508可包括一个或多个处理核心;优选的,处理器508可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器508中。
计算机设备500还包括给各个部件供电的电源509(比如电池),优选的,电源可以通过电源管理系统与处理器508逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源509还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源数据指示器等任意组件。
尽管未示出,计算机设备500还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,计算机设备500中的处理器508会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器502中,并由处理器508来运行存储在存储器502中的应用程序,从而实现各种功能:从非易失性存储器中获取包括至少一个容器的整合文件;提取容器中预设神经网络的神经网络参数;将神经网络参数拷贝预设平台的内存中,并对安装至内存中的至少部分神经网络参数进行初始化;在初始化后运行神经网络的子网。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文文件运行方法的详细描述,此处不再赘述。
由上可知,本发明实施例的计算机设备500可以从非易失性存储器中获取包括至少一个容器的整合文件,并将其对应的神经网络参数安装至预设平台的内存中,从而在后续使用时可以通过内存直接调用,有效提升了神经网络的处理效率。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例还提供一种存储介质,其上存储有多条指令,所述指令适于处理器进行加载,以执行上述文件运行方法中的步骤。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本发明实施例所提供的任一种文件运行方法中的步骤,因此,可以实现本发明实施例所提供的任一种文件运行方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本发明实施例所提供的文件运行方法、装置、系统及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (13)

1.一种文件运行方法,其特征在于,包括:
从存储器中获取包括至少一个容器的整合文件;
提取所述容器中预设神经网络的神经网络参数;
根据所述神经网络参数将预设神经网络安装至预设平台的内存中;
根据已安装的神经网络进行初始化;
在初始化后运行所述神经网络的子网,并在所述神经网络运行结束后释放资源。
2.根据权利要求1所述的方法,其特征在于,当所述整合文件位于外存时,所述根据所述神经网络参数将预设神经网络安装至预设平台的内存,包括:
从预设平台的内存中划分出一段第一内存区域,所述第一内存区域用于存取神经网络参数和中间特征图;
将至少部分神经网络参数拷贝至所述第一内存区域;
将所述预设平台的功能函数接口赋予已拷贝至内存中的RAW层预设函数接口,并调用预设函数接口执行预设功能;
将所述预设平台对拷贝至内存中的部分参数写入特定的数值。
3.根据权利要求1所述的方法,其特征在于,当所述整合文件位于内存时,所述根据所述神经网络参数将预设神经网络安装至预设平台的内存,包括:
从预设平台的内存中划分出一段第二内存区域,所述第二内存区域用于存取中间特征图;
将所述平台的实际功能函数接口赋予内存中的RAW层预设函数接口,并调用预设函数接口执行预设功能。
4.根据权利要求1所述的方法,其特征在于,所述根据已安装的神经网络进行初始化,包括:
提取网络容器中的参数;
根据提取的参数,对内存中的部分数据段填入特定值,以及;
根据提取的参数,对硬件计算核进行初始设置。
5.根据权利要求1所述的方法,其特征在于,所述在初始化后运行所述神经网络的子网,包括:
提取子网容器中的参数;
对所述子网容器中的运行参数进行初始设置;
遍历子网中所有RAW网段的每个RAW层,调用RAW层预设函数接口执行复位功能;
根据提取的参数,对主动核进行设置;
在对应的硬件计算核上依次运行各网段。
6.根据权利要求5所述的方法,其特征在于,所述在对应的硬件计算核上依次运行各网段,包括:
提取CMD网段容器中的参数;
根据提取的参数,对所述主动核进行设置,并启动设置后的主动核进行计算。
7.根据权利要求5所述的方法,其特征在于,所述在对应的硬件计算核上依次运行各网段,包括:
对RAW网段容器中的运行参数进行初始设置;
依次调用RAW网段中每个RAW层的预设函数接口执行运行功能。
8.根据权利要求1所述的方法,其特征在于,所述在初始化后运行所述神经网络的子网,包括:
提取参考特征图数组容器中第一个参考特征图容器的的特征图作为所述神经网络的输入;
依次运行所述子网的各个网段及RAW网段中的每个RAW层。
9.根据权利要求1至8任一项所述的方法,其特征在于,所述在所述神经网络运行结束后释放资源,包括:
依次调用子网中RAW网段的RAW层的预设函数接口执行释放功能;
释放安装时及运行中占用的其它软件资源;
释放硬件计算核。
10.根据权利要求1至7任一项所述的方法,其特征在于,还包括:
清空至少部分所述子网的数据。
11.一种文件运行装置,其特征在于,包括:
获取模块,用于从存储器中获取包括至少一个容器的整合文件;
提取模块,用于提取所述容器中预设神经网络的神经网络参数;
安装模块,用于根据所述神经网络参数将预设神经网络安装至预设平台的内存中;
初始化模块,用于根据已安装的神经网络进行初始化;
运行模块,用于在初始化后运行所述神经网络的子网;
释放模块,用于在所述神经网络运行结束后释放资源。
12.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至10中任一项所述文件运行方法的步骤。
13.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至10中任一项所述文件运行方法的步骤。
CN202310275273.6A 2023-03-21 2023-03-21 文件运行方法、装置、计算机设备及可读存储介质 Active CN115982110B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310275273.6A CN115982110B (zh) 2023-03-21 2023-03-21 文件运行方法、装置、计算机设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310275273.6A CN115982110B (zh) 2023-03-21 2023-03-21 文件运行方法、装置、计算机设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN115982110A true CN115982110A (zh) 2023-04-18
CN115982110B CN115982110B (zh) 2023-08-29

Family

ID=85959957

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310275273.6A Active CN115982110B (zh) 2023-03-21 2023-03-21 文件运行方法、装置、计算机设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN115982110B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112613605A (zh) * 2020-12-07 2021-04-06 深兰人工智能(深圳)有限公司 神经网络加速控制方法、装置、电子设备及存储介质
CN113196232A (zh) * 2019-10-12 2021-07-30 深圳鲲云信息科技有限公司 神经网络调度方法、装置、计算机设备及可读存储介质
CN113238989A (zh) * 2021-06-08 2021-08-10 中科寒武纪科技股份有限公司 将数据进行量化的设备、方法及计算机可读存储介质
CN113849293A (zh) * 2021-11-30 2021-12-28 湖北芯擎科技有限公司 数据处理方法、装置、系统及计算机可读存储介质
WO2022001014A1 (zh) * 2020-06-28 2022-01-06 湖南国科微电子股份有限公司 神经网络模型的编译方法、装置、存储介质及电子设备
CN114528070A (zh) * 2022-02-16 2022-05-24 浪潮云信息技术股份公司 一种基于容器化和虚拟化的卷积神经网络分层训练方法及系统
CN115705301A (zh) * 2021-08-11 2023-02-17 华为技术有限公司 神经网络参数部署方法、ai集成芯片及其相关装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113196232A (zh) * 2019-10-12 2021-07-30 深圳鲲云信息科技有限公司 神经网络调度方法、装置、计算机设备及可读存储介质
WO2022001014A1 (zh) * 2020-06-28 2022-01-06 湖南国科微电子股份有限公司 神经网络模型的编译方法、装置、存储介质及电子设备
CN112613605A (zh) * 2020-12-07 2021-04-06 深兰人工智能(深圳)有限公司 神经网络加速控制方法、装置、电子设备及存储介质
CN113238989A (zh) * 2021-06-08 2021-08-10 中科寒武纪科技股份有限公司 将数据进行量化的设备、方法及计算机可读存储介质
CN115705301A (zh) * 2021-08-11 2023-02-17 华为技术有限公司 神经网络参数部署方法、ai集成芯片及其相关装置
CN113849293A (zh) * 2021-11-30 2021-12-28 湖北芯擎科技有限公司 数据处理方法、装置、系统及计算机可读存储介质
CN114528070A (zh) * 2022-02-16 2022-05-24 浪潮云信息技术股份公司 一种基于容器化和虚拟化的卷积神经网络分层训练方法及系统

Also Published As

Publication number Publication date
CN115982110B (zh) 2023-08-29

Similar Documents

Publication Publication Date Title
US11169827B2 (en) Resource loading at application startup using attributes of historical data groups
CN106970790B (zh) 一种应用程序创建的方法、相关设备及系统
CN106775637B (zh) 一种应用程序的页面显示方法和装置
WO2018120813A1 (zh) 一种智能推荐方法和终端
JP7136416B2 (ja) モデルファイル管理方法および端末デバイス
CN110457621A (zh) 一种混合应用的页面显示方法、装置及介质
CN115981798B (zh) 文件解析方法、装置、计算机设备及可读存储介质
CN106919458B (zh) Hook目标内核函数的方法及装置
CN106649595B (zh) 一种基于对象池的网页启动加速方法、装置及终端
CN111359210B (zh) 一种数据处理方法、装置、电子设备以及存储介质
CN106230919B (zh) 一种文件上传的方法和装置
CN116594616A (zh) 一种组件配置方法、装置及计算机可读存储介质
CN115982110B (zh) 文件运行方法、装置、计算机设备及可读存储介质
CN111475843B (zh) 一种数据处理方法和相关装置
CN116933149A (zh) 一种对象意图预测方法、装置、电子设备和存储介质
CN114510417A (zh) 一种图像渲染效果测试方法、装置、电子设备和存储介质
CN110503189B (zh) 一种数据处理方法以及装置
CN111367502A (zh) 一种数值处理方法和装置
CN116150057B (zh) 数据传输方法、装置、计算机设备及可读存储介质
CN116564311B (zh) 设备控制方法、装置、电子设备及可读存储介质
CN115981666B (zh) 神经网络信息整合方法、装置、系统及存储介质
CN116564312B (zh) 设备控制方法、装置、电子设备及可读存储介质
CN117201441B (zh) 一种实现多消息类型多轮次用户交互的方法与装置
CN116301898A (zh) 神经网络信息整合方法、装置、系统及存储介质
CN116450808B (zh) 一种数据的处理方法、装置以及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: File operation method, device, computer equipment, and readable storage medium

Granted publication date: 20230829

Pledgee: Jiang Wei

Pledgor: BEIJING INTENGINE TECHNOLOGY Co.,Ltd.

Registration number: Y2024980019734