CN109492241A - 转换方法、装置、计算机设备和存储介质 - Google Patents
转换方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN109492241A CN109492241A CN201810913895.6A CN201810913895A CN109492241A CN 109492241 A CN109492241 A CN 109492241A CN 201810913895 A CN201810913895 A CN 201810913895A CN 109492241 A CN109492241 A CN 109492241A
- Authority
- CN
- China
- Prior art keywords
- model
- computer equipment
- line model
- initial
- attributes information
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 137
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 94
- 238000003860 storage Methods 0.000 title claims abstract description 46
- 238000012545 processing Methods 0.000 claims abstract description 67
- 230000008569 process Effects 0.000 claims abstract description 66
- 230000015654 memory Effects 0.000 claims description 92
- 230000009466 transformation Effects 0.000 claims description 80
- 238000004590 computer program Methods 0.000 claims description 19
- 238000010801 machine learning Methods 0.000 claims description 11
- 230000005540 biological transmission Effects 0.000 claims description 5
- 238000004422 calculation algorithm Methods 0.000 description 15
- 238000013480 data collection Methods 0.000 description 13
- 238000013528 artificial neural network Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 238000013499 data model Methods 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000003062 neural network model Methods 0.000 description 7
- 238000013473 artificial intelligence Methods 0.000 description 5
- 230000004913 activation Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 241001269238 Data Species 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 210000005036 nerve Anatomy 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 241001274660 Modulus Species 0.000 description 1
- 238000005481 NMR spectroscopy Methods 0.000 description 1
- 238000004378 air conditioning Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 210000002364 input neuron Anatomy 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000004218 nerve net Anatomy 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/35—Creation or generation of source code model driven
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Medical Informatics (AREA)
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Power Sources (AREA)
- Supply And Distribution Of Alternating Current (AREA)
- Advance Control (AREA)
Abstract
本申请涉及一种模型转换方法、装置、计算机设备及存储介质,该方法能够将初始离线模型转换为目标离线模型。上述的模型转换方法、装置、计算机设备和存储介质,极大的降低了计算机设备的数据输入量,转换过程简单,从而可以降低该计算机设备的数据处理量,进而可以提高处理效率,降低功耗。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种模型转换方法、装置、计算机设备和存储介质。
背景技术
随着人工智能技术的发展,如今深度学习已无处不在且必不可少,并随之产生了许多可扩展的深度学习系统,例如,TensorFlow、MXNet、Caffe和PyTorch 等等,上述深度学习系统可以用于提供各种能够在CPU或GPU等处理器上运行的神经网络模型或其他机器学习模型。当神经网络模型等机器学习模型需在不同的处理器上运行上,往往需要对神经网络模型等机器学习模型进行转换。
传统的转换方法是:开发者可以为同一神经网络模型配置有多个不同的转换模型,多个转换模型可以适用于不同的处理器,在实际使用中,计算机设备需同时接收该神经网络模型及其对应的多个转换模型,用户需要根据当前计算机设备的类型从上述的多种模型中选择一个模型,从而使得该神经网络模型能够在当前计算机设备上运行。但上述转换方法的数据输入量及数据处理量均较大,上述超大的数据输入量及数据处理量容易超出计算机设备的存储容量及处理极限,导致计算机设备的处理速度较低甚至无法正常工作。
发明内容
基于此,有必要针对上述技术问题,提供一种模型转换方法、装置、计算机设备和存储介质,能够减小计算机设备的数据输入量及数据处理量,提高计算机设备的处理速度。
本申请提供了一种模型转换方法,所述方法包括如下步骤:
获取初始离线模型及计算机设备的硬件属性信息;
根据所述初始离线模型和所述计算机设备的硬件属性信息,判断所述初始离线模型的模型属性信息与所述计算机设备的硬件属性信息是否匹配;
若所述初始离线模型的模型属性信息与所述计算机设备的硬件属性信息不匹配,则根据所述计算机设备的硬件属性信息和预设的模型转换规则,将所述初始离线模型转换为与所述计算机设备的硬件属性信息匹配的目标离线模型。
在一个实施例中,所述的根据所述计算机设备的硬件属性信息和预设的模型转换规则,将所述初始离线模型转换为与所述计算机设备的硬件属性信息匹配的目标离线模型的步骤,包括:
根据所述计算机设备的硬件属性信息确定所述目标离线模型的模型属性信息;
根据所述初始离线模型的模型属性信息和所述目标离线模型的模型属性信息,从多个所述的预设的模型转换规则中选择一个所述模型转换规则作为目标模型转换规则;
根据所述初始离线模型的模型属性信息和所述目标模型转换规则,将所述初始离线模型转换为所述目标离线模型。
在一个实施例中,所述的根据所述初始离线模型的模型属性信息和所述目标离线模型的模型属性信息,从多个所述预设的模型转换规则中选择一个所述模型转换规则作为目标模型转换规则的步骤,还包括:
根据所述初始离线模型的模型属性信息和所述目标离线模型的模型属性信息,从多个所述预设的模型转换规则中选择出一个以上的可用模型转换规则;
对所述一个以上的可用模型转换规则进行优先级排序,并将优先级最高的可用模型转换规则作为所述目标转换规则。
在一个实施例中,所述的对一个以上的可用模型转换规则进行优先级排序的步骤,还包括如下步骤:
分别获取采用各个所述可用模型转换规则,将所述初始离线模型转换为所述目标离线模型的过程参数,其中,所述过程参数包括转换速度、功耗、内存占用率及磁盘I/O占用率中的一种或多种;
根据各个所述可用模型转换规则的过程参数,对一个以上的可用模型转换规则进行优先级排序。
在一个实施例中,所述初始离线模型的模型属性信息、所述目标离线模型的模型属性信息及所述可用模型转换规则一一对应存储。
在一个实施例中,所述的根据所述初始离线模型和所述计算机设备的硬件属性信息,判断所述初始离线模型的模型属性信息与所述计算机设备的硬件属性信息是否匹配的步骤包括:
若根据所述初始离线模型的模型属性信息和所述计算机设备的硬件属性信息,确定所述计算机设备能够支持所述初始离线模型的运行时,则判定所述初始离线模型的模型属性信息与所述计算机设备的硬件属性信息匹配;
若根据所述初始离线模型的模型属性信息和所述计算机设备的硬件属性信息,确定所述计算机设备不支持所述初始离线模型的运行时,则判定所述初始离线模型的模型属性信息与所述计算机设备的硬件属性信息不匹配。
在一个实施例中,所述的获取初始离线模型的步骤,还包括:
通过所述计算机设备上的应用软件获取所述初始离线模型和所述计算机设备的硬件属性信息。
在一个实施例中,所述方法还包括如下步骤:
将所述目标离线模型存储于所述计算机设备的第一存储器或第二存储器。
在一个实施例中,所述方法还包括如下步骤:
获取所述目标离线模型,并运行所述目标离线模型;其中,所述目标离线模型中包含原始网络中各个离线节点对应的网络权值、指令以及各个离线节点与所述原始网络中的其他计算节点之间的接口数据。
本申请提供了一种模型转换装置,所述装置包括:
获取模块,用于获取初始离线模型及计算机设备的硬件属性信息;
判断模块,用于根据所述初始离线模型和所述计算机设备的硬件属性信息,判断所述初始离线模型的模型属性信息与所述计算机设备的硬件属性信息是否匹配;
转换模块,用于在所述初始离线模型的模型属性信息与所述计算机设备的硬件属性信息不匹配,则根据所述计算机设备的硬件属性信息和预设的模型转换规则,将所述初始离线模型转换为与所述计算机设备的硬件属性信息匹配的目标离线模型。
本申请提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
在一个实施例中,所述处理器包括运算单元和控制器单元,所述运算单元包括主处理电路和多个从处理电路;
所述控制器单元用于获取数据、机器学习模型以及计算指令;
所述控制器单元还用于解析所述计算指令得到多个运算指令,并将所述多个运算指令以及所述数据发送给所述主处理电路;
所述主处理电路用于对所述数据以及与所述多个从处理电路之间传输数据和运算指令执行前序处理;
所述多个从处理电路用于依据从所述主处理电路传输的数据以及运算指令并行执行中间运算得到多个中间结果,并将多个中间结果传输给所述主处理电路;
所述主处理电路还用于对所述多个中间结果执行后续处理得到所述计算指令的计算结果。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
上述的模型转换方法、装置、计算机设备和存储介质,计算机设备只需接收一个初始离线模型,即可根据预设的模型转换规则和该计算机设备的硬件属性信息,将该初始离线模型转换为目标离线模型,无需获得多个不同的模型数据,极大的降低了计算机设备的数据输入量,避免了数据输入量过大导致的超出计算机设备的存储容量等问题,保证计算机设备的正常运行。同时,上述模型转换方法可以降低该计算机设备的数据处理量,进而可以提高计算机设备的处理速度及处理效率,降低功耗。同时,上述的模型转换过程中,模型转换过程简单,无需人工干预,自动化程度较高,使用便捷。
附图说明
图1为一个实施例中计算机设备的结构框图;
图2为图1中处理器一个实施例的结构框图;
图3为图1中处理器一个实施例的结构框图;
图4为图1中处理器一个实施例的结构框图;
图5为一个实施例中模型转换方法的流程示意图;
图6为一个实施例中模型转换方法的流程示意图;
图7为一个实施例中离线模型生成方法的流程示意图;
图8为一个实施例中离线模型生成方法的流程示意图;
图9为一实施例的网络模型的网络结构图;
图10为图9中网络模型的离线模型生成过程示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为一实施例的计算机设备的框图,该计算机设备可以是手机或平板电脑等移动终端,或台式电脑、板卡或云端服务器等终端。该计算机设备可以应用于机器人、打印机、扫描仪、行车记录仪、导航仪、相机、摄像机、投影仪、手表、移动存储、可穿戴设备、交通工具、家用电器、和/或医疗设备。其中,交通工具可以包括飞机、轮船和/或车辆;家用电器可以包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机;医疗设备可以包括核磁共振仪、B超仪和/或心电图仪等等。
该计算机设备可以包括处理器100、与该处理器100连接的第一存储器200 及第二存储器300。可选地,处理器100可以是通用处理器,如CPU(Central Processing Unit,中央处理器)、GPU(Graphics Processing Unit,图形处理器) 或DSP(Digital SignalProcessing,数字信号处理),该处理器100还可以为IPU (Intelligence ProcessingUnit,智能处理器)等网络模型处理器。当然,该处理器100还可以是指令集处理器、相关芯片组、专用微处理器(如,专用集成电路(ASIC))或用于缓存用途的板载存储器等等。
可选地,如图2所示,该处理器100可以包括控制器单元110和运算单元 120,其中,控制器单元110与运算单元120连接,该运算单元120可以包括一个主处理电路121和多个从处理电路122。控制器单元110用于获取数据、机器学习模型以及计算指令。该机器学习模型具体可以包括网络模型,该网络模型可以为神经网络模型和/或非神经网络模型。控制器单元110还用于解析其获取的计算指令得到运算指令,并将多个运算指令以及数据发送给主处理器电路。主处理电路用于对数据以及该主处理电路与多个从处理电路之间传输的数据和运算指令执行前序处理。多个从处理电路用于依据从主处理电路传输的数据以及运算指令并行执行中间运算得到多个中间结果,并将多个中间结果传输给主处理电路;主处理电路还用于对多个中间结果执行后续处理得到计算指令的计算结果。
可选地,该控制器单元110可以包括指令存储单元111、指令处理单元112 和存储队列单元114;指令存储单元111用于存储机器学习模型关联的计算指令;指令处理单元112用于对计算指令解析得到多个运算指令;存储队列单元114 用于存储指令队列,该指令队列包括:按该队列的前后顺序待执行的多个运算指令或计算指令。可选地,该控制器单元110还可以包括依赖关系处理单元113,用于在具有多个运算指令时,确定第一运算指令与第一运算指令之前的第零运算指令是否存在关联关系,如第一运算指令与第零运算指令存在关联关系,则将第一运算指令缓存在指令存储单元内,在第零运算指令执行完毕后,从指令存储单元提取第一运算指令传输至运算单元。具体地,若依赖关系处理单元113 依据第一运算指令提取第一运算指令中所需数据(例如矩阵)的第一存储地址区间,依据第零运算指令提取第零运算指令中所需矩阵的第零存储地址区间,如第一存储地址区间与第零存储地址区间具有重叠的区域,则确定第一运算指令与第零运算指令具有关联关系,如第一存储地址区间与第零存储地址区间不具有重叠的区域,则确定第一运算指令与第零运算指令不具有关联关系。
在一个实施例中,如图3所示,运算单元120还可以包括分支处理电路123,其中,主处理电路121与分支处理电路123连接,分支处理电路123与多个从处理电路122连接;分支处理电路123,用于执行转发主处理电路121与从处理电路122之间的数据或指令。在此实施例中,主处理电路121具体用于将一个输入神经元分配成多个数据块,将多个数据块中的至少一个数据块、权值以及多个运算指令中的至少一个运算指令发送给分支处理电路;分支处理电路123 用于转发主处理电路121与多个从处理电路122之间的数据块、权值以及运算指令;多个从处理电路122用于依据该运算指令对接收到的数据块以及权值执行运算得到中间结果,并将中间结果传输给分支处理电路123;主处理电路121 还用于将分支处理电路发送的中间结果进行后续处理得到该计算指令的结果,将该计算指令的结果发送给所述控制器单元。
在另一种可选实施例中,如图4所示,运算单元120可以包括一个主处理电路121和多个从处理电路122。其中,多个从处理电路呈阵列分布;每个从处理电路与相邻的其他从处理电路连接,主处理电路连接多个从处理电路中的k 个从处理电路,k个从处理电路为:第1行的n个从处理电路、第m行的n个从处理电路以及第1列的m个从处理电路,需要说明的是,如图4所示的K个从处理电路仅包括第1行的n个从处理电路、第m行的n个从处理电路以及第 1列的m个从处理电路,即该k个从处理电路为多个从处理电路中直接与主处理电路连接的从处理电路。K个从处理电路用于在主处理电路以及多个从处理电路之间的数据以及指令的转发。
可选地,上述的主处理电路121可以包括转换处理电路、激活处理电路、加法处理电路中的一种或任意组合;转换处理电路用于将主处理电路接收的数据块或中间结果执行第一数据结构与第二数据结构之间的互换(例如连续数据与离散数据的转换);或将主处理电路接收的数据块或中间结果执行第一数据类型与第二数据类型之间的互换(例如定点类型与浮点类型的转换);激活处理电路用于执行主处理电路内数据的激活运算;加法处理电路用于执行加法运算或累加运算。
该第一存储器200或第二存储器300可以存储有计算机程序,该计算机程序用于实现本申请实施例中提供的模型转换方法。具体地,该模型转换方法用于在计算机设备接收的初始离线模型的模型属性信息与该计算机设备的硬件属性信息不匹配时,将该初始离线模型转换为与该计算机设备的硬件属性信息相匹配的目标离线模型,以便该计算机设备能够运行该初始离线模型。上述的模型转换方法,计算机设备的数据输入量较少,且无需人为干预即可自动完成初始离线模型到目标离线模型的转换,转换过程简单,转换效率较高。进一步地,该计算机程序还能够离线模型生成方法。
可选地,第一存储器200可以用于存储网络模型运行过程中的相关数据,如网络输入数据、网络输出数据、网络权值及指令等等,该第一存储器200可以是内存储器,如缓存等易失性存储器。该第二存储器300可以用于存储网络模型对应的离线模型,例如,第二存储器300可以是非易失性存储器。
上述计算机设备的工作原理与下文中的模型转换方法中各个步骤的执行过程一致,该计算机设备的处理器100在执行存储器200中的计算机程序时,实现模型转换方法中的各个步骤,具体可参见下文中的描述。
当然,在其他实施例中,该计算机设备还可以包含处理器和一个存储器,该计算机设备可以包含处理器与该处理器连接的存储器。该处理器可以采用图2-4所示的处理器,其具体结构可参见上文中关于处理器100的描述。该存储器可以包括多个存储单元,例如该存储器可以包括第一存储单元、第二存储单元和第三存储单元,其中,该第一存储单元可以用于存储计算机程序,该计算机程序用于实现本申请实施例中提供的模型转换方法。该第二存储单元可以用于存储原始网络运行过程中相关数据,该第三存储单元用于存储原始网络对应的离线模型及其该离线模型对应的目标离线模型及预设的模型转换规则等等。进一步地,该存储器包含的存储单元的数量还可以大于三个,此处不做具体限定。
如图5所示,本申请实施例提供了一种模型转换方法,可应用于上述的计算机设备中。该模型转换方法用于在计算机设备接收的初始离线模型的模型属性信息与该计算机设备的硬件属性信息不匹配时,将该初始离线模型转换为与该计算机设备的硬件属性信息相匹配的目标离线模型,以便该计算机设备能够运行该初始离线模型。具体地,上述方法可以包括如下步骤:
S100、获取初始离线模型及计算机设备的硬件属性信息;
具体地,上述的初始离线模型是指计算机设备直接获取的离线模型,该初始离线模型可以存储于第二存储器300中。其中,离线模型可以包含一原始网络中各个计算节点的网络权值以及指令等必要的网络结构信息,指令可以用于表明该计算节点用于执行何种计算功能,其具体可以包括该原始网络中各个计算节点的计算属性以及各个计算节点之间的连接关系等信息。该原始网络可以是网络模型,如神经网络模型等等,参见图9所示。因此,计算机设备可以通过运行该原始网络对应的离线模型,实现该原始网络的运算功能,无需重复对同一原始网络进行编译等操作,从而可以缩短处理器运行该网络时的运行时间,进而提高处理器的处理速度及效率。可选地,本申请实施例中的初始离线模型可以是根据原始网络直接生成的离线模型,也可以是具有其他模型属性信息的离线模型经过一次或多次转换后获得离线模型,此处不做具体限定。
S200、根据初始离线模型和计算机设备的硬件属性信息,判断初始离线模型的模型属性信息与计算机设备的硬件属性信息是否匹配。
具体地,该初始离线模型的模型属性信息可以包括该初始离线模型的数据结构及数据类型等等。例如,初始离线模型中各个网络权值及指令的摆放方式、各个网络权值的类型及各个指令的类型等等。上述的计算机设备的硬件属性信息包括该计算机设备的型号、该计算机设备能够处理的数据类型(如定点或浮点等等)及数据结构等等。计算机设备可以根据上述初始离线模型的模型属性信息和计算机设备的硬件属性信息,判断该计算机设备能否支持上述初始离线模型的运行(即该计算机设备能否运行上述的初始离线模型),从而确定该初始离线模型的模型属性信息与计算机设备的硬件属性信息是否匹配。
可选地,当该计算机设备能够支持上述初始离线模型的运行时,则判定该初始离线模型的模型属性信息与计算机设备的硬件属性信息匹配。当该计算机设备不支持上述初始离线模型的运行时,则判定该初始离线模型的模型属性信息与该计算机设备的硬件属性信息不匹配。
例如,该计算机设备可以根据其硬件属性信息确定该计算机设备能够处理的数据类型及数据结构,根据该初始离线模型的模型属性信息确定该初始离线模型的数据类型及数据结构。若该计算机设备根据其自身的硬件属性信息以及上述初始离线模型的模型属性信息,确定该计算机设备能够支持上述初始离线模型的数据类型及数据结构时,则可以判定该初始离线模型的模型属性信息与该计算机设备的硬件属性信息匹配。若该计算机设备根据其自身的硬件属性信息以及上述的初始离线模型的模型属性信息,确定该计算机设备不能够支持上述初始离线模型的数据类型及数据结构时,则可以判定该初始离线模型的模型属性信息与该计算机设备的硬件属性信息不匹配。
若初始离线模型的模型属性信息与计算机设备的硬件属性信息不匹配,则执行步骤S300,根据计算机设备的硬件属性信息和预设的模型转换规则,将初始离线模型转换为与计算机设备的硬件属性信息匹配的目标离线模型。
具体地,若该初始离线模型的模型属性信息与该计算机设备的硬件属性信息不匹配,则说明该计算机设备不能支持该初始离线模型的运行,此时需对该初始离线模型进行转换处理,以便该计算机设备能够使用该初始离线模型实现相应的运算。即当该初始离线模型的模型属性信息与计算机设备的硬件属性信息不匹配时,则可以根据计算机设备的硬件属性信息和预设的模型转换规则,将上述的初始离线模型转换为与该计算机设备的硬件属性信息匹配的目标离线模型。其中,该目标离线模型的模型属性信息与该计算机设备的硬件属性信息匹配,该计算机设备能够支持该目标离线模型的运行。同上,该目标离线模型也包括一原始网络中各个计算节点的网络权值以及指令等必要的网络结构信息。
可选地,上述的预设的模型转换规则可以预先存储于计算机设备的第一存储器或第二存储器中。若初始离线模型的模型属性信息与计算机设备的硬件属性信息不匹配时,计算机设备可以从第一存储器或第二存储器中获得相应的模型转换规则,以将初始离线模型转换为目标离线模型。可选地,上述预设的模型转换规则可以是一个以上,一个以上的模型转换规则可以与上述的初始离线模型及目标离线模型一一对应存储。例如,上述的初始离线模型、目标离线模型以及预设的模型转换规则可以通过映射表的方式进行对应存储。可选地,初始离线模型的模型属性信息、目标离线模型的模型属性信息及可用模型转换规则一一对应存储。
若初始离线模型的模型属性信息与计算机设备的硬件属性信息匹配,则可以执行步骤S400,计算机设备可以直接运行其接收到的初始离线模型,即计算机设备可以根据该初始离线模型包含的网络权值及指令进行运算,以实现原始网络的运算功能。具体地,若该初始离线模型的模型属性信息与该计算机设备的硬件属性信息匹配,则说明该计算机设备能够支持该初始离线模型的运行,此时无需对该初始离线模型进行转换处理,计算机设备能够运行该初始离线模型。应当清楚的是,本实施例中,直接运行该初始离线模型是指,使用该初始离线模型运行该原始网络对应的机器学习算法(如神经网络算法),通过执行前向运算实现算法的目标应用(如语音识别等人工智能应用)。
本申请实施例中的模型转换方法,计算机设备只需接收一个初始离线模型,即可根据预设的模型转换规则和该计算机设备的硬件属性信息,将该初始离线模型转换为目标离线模型,无需获得多个不同的模型数据,极大的降低了计算机设备的数据输入量,避免了数据输入量过大导致的超出计算机设备的存储容量等问题,保证计算机设备的正常运行。同时,上述模型转换方法可以降低该计算机设备的数据处理量,进而可以提高处理效率,降低功耗。同时,上述的模型转换过程中,无需人工干预,自动化程度较高,使用便捷。
可选地,如图6所示,上述的步骤S300可以包括:
S310、根据计算机设备的硬件属性信息确定目标离线模型的模型属性信息。
具体地,该计算机设备可以根据其自身的硬件属性信息,确定该计算机设备能够支持的数据类型及数据结构等等,从而可以确定目标离线模型的数据类型及数据结构等模型属性信息。即该计算机设备能够根据其硬件属性信息确定目标离线模型的模型属性信息,该目标离线模型的模型属性信息可以包括目标离线模型的数据结构及数据类型等信息。
S320、根据初始离线模型的模型属性信息和目标离线模型的模型属性信息,从多个预设的模型转换规则中选择一个模型转换规则作为目标模型转换规则。
具体地,由于初始离线模型、目标离线模型和预设的模型转换规则存在一一对应的映射关系,因此,可以根据该初始离线模型的模型属性信息和目标离线模型的模型属性信息确定出目标模型转换规则。其中,该模型转换规则可以包括数据类型的转换方法及数据结构的转换方法等等。
S330、根据初始离线模型的模型属性信息和目标模型转换规则,将初始离线模型转换为目标离线模型。
具体地,计算机设备可以根据该目标模型转换规则提供的转换方法,将初始离线模型转换为目标离线模型,从而使得该计算机设备能够运行该目标离线模型进行运算。
可选地,若初始离线模型和目标离线模型之间存在多个可用的模型转换规则时,计算机设备可以通过根据预设算法自动选定目标离线模型。具体地,上述的步骤S320进一步包括如下步骤:
根据初始离线模型的模型属性信息和目标离线模型的模型属性信息,从多个预设的模型转换规则中选择出一个以上的可用模型转换规则。
对一个以上的可用模型转换规则进行优先级排序,并将优先级最高的可用模型转换规则作为目标转换规则。
具体地,上述的可用模型转换规则是指能够将初始离线模型转换为目标离线模型的转换规则。当存在一个以上的可用模型转换规则时,说明将初始离线模型转换为目标离线模型的方式有多种不同的方式。上述的优先级排序方法可以是预设的,也可以是用户自定义的。
可选地,计算机设备可以获取各个可用模型转换规则对应的过程参数,并根据各个可用模型转换规则对应的过程参数,对一个以上的可用模型转换规则进行优先级排序。其中,该过程参数可以是采用该可用模型转换规则将初始离线模型转换为目标离线模型时所涉及的计算机设备的性能参数。可选地,该过程参数可以包括转换速度、功耗、内存占用率及磁盘I/O占用率中的一种或多种。
例如,计算机设备可以根据将初始离线模型转换为目标离线模型过程中的转换速度、转换功耗、内存占用率及磁盘I/O占用率等一种或多种过程参数的组合,对上述的各个可用模型转换规则进行评分(如对各个参考因素进行加权计算以获得评分值),并将评分最高的可用模型转换规则作为优先级最高的可用模型转换规则。即可以将评分最高的可用模型转换规则作为该目标转换规则。之后,可以执行上述步骤S330,根据初始离线模型的模型属性信息和目标模型转换规则,将初始离线模型转换为目标离线模型。这样,可以通过结合模型转换过程中的设备性能因素选择一种较优的模型转换规则,以提高计算机设备的处理速度及效率。
可选地,如图3所示,上述方法还包括如下步骤:
S500、将目标离线模型存储于计算机设备的第一存储器或第二存储器。
具体地,计算机设备可以将其获得的目标离线模型存储于该计算机设备的本地存储器上(如第一存储器)。可选地,计算机设备还可以将其获得目标离线模型存储于与该计算机设备连接的外部存储器(如第二存储器),该外部存储器可以是云端存储器或其他存储器等等。这样,当该计算机设备需要重复使用该目标离线模型时,无需重复执行上述的转换操作,只需直接读取该目标离线模型即可实现相应的运算。
可选地,计算机设备执行上述的目标离线模型的过程可以包括如下步骤:
获取目标离线模型,并运行目标离线模型,以执行原始网络。其中,目标离线模型中包含原始网络中各个离线节点对应的网络权值、指令以及各个离线节点与原始网络中的其他计算节点之间的接口数据等必要的网络结构信息。
具体地,当计算机设备需要利用该目标离线模型实现运算时,其可以直接从第一存储器或第二存储器中获取该目标离线模型,并根据目标离线模型中的网络权值及指令等进行运算,从而实现原始网络的运算功能。这样,当该计算机设备需要重复使用该目标离线模型时,无需重复执行上述的转换操作,只需直接读取该目标离线模型即可实现相应的运算。
应当清楚的是,本实施例中,直接运行该目标离线模型是指,使用该目标离线模型运行该原始网络对应的机器学习算法(如神经网络算法),通过执行前向运算实现算法的目标应用(如语音识别等人工智能应用)。
可选地,该计算机设备上安装有应用软件(Application),可以通过计算机设备上的应用软件获取初始离线模型,该应用软件(Application)能够提供从存储器200或外部存储器中读取初始离线模型的接口,从而可以通过该应用软件获取该初始离线模型。可选地,该应用软件还可以提供读取计算机设备的硬件属性信息的接口,从而可以通过该应用软件获取该计算机设备的硬件属性信息。可选地,该应用软件还可以提供能够读取预设的模型规则的接口,从而可以通过该应用软件获取预设的模型转换规则。
当然,在其他实施例中,该计算机设备还可以提供输入/输出接口(如I/O 接口)等,该输入/输出接口用于获取初始离线模型,或输出目标离线模型。该计算机设备的硬件属性信息可以是预设存储于该计算机设备中的。
在一个实施例中,如图7所示,本申请实施例还提供了一种根据原始网络模型生成离线模型的方法,用于根据获取的原始网络的相关数据生成并存储该原始网络的离线模型,从而在处理器再次运行该原始网络时,可以直接运行该原始网络对应的离线模型,无需再次对同一原始网络进行编译等操作,从而缩短处理器运行该网络时的运行时间,进而提高处理器的处理速度及效率。其中,原始网络可以是神经网络或非神经网络等网络模型,例如,原始网络可以是图9所示的网络。具体地,上述方法包括如下步骤:
S010、获取原始网络的模型数据集及模型结构参数。
具体地,计算机设备的处理器可以获取原始网络的模型数据集及模型结构参数,通过该原始网络的模型数据集及模型结构参数可以获得该原始网络的网络结构图。其中,模型数据集包括原始网络中各个计算节点对应的网络权值等数据,图9所示的神经网络中的W1~W6即用于表示计算节点的网络权值。模型结构参数包括原始网络中多个计算节点的连接关系及各个计算节点的计算属性,其中,计算节点之间的连接关系用于表示计算节点之间是否有数据传递,例如,当多个计算节点之间具有数据流的传递时,则可以说明多个计算节点之间具有连接关系。进一步地,计算节点的连接关系可以包括输入关系和输出关系等等。如图9所示,计算节点F1输出作为计算节点F4和F5的输入,则可以说明计算节点F1和计算节点F4之间具有连接关系,计算节点F1和计算节点 F4之间具有连接关系。再如,计算节点和计算节点F2之间没有数据传递,则可以说明计算节点F1和计算节点F2之间不存在连接关系。
各个计算节点的计算属性可以包括相应计算节点的计算类型及计算参数,其中计算节点的计算类型是指该计算节点用于完成何种计算,如计算节点的计算类型可以包括加法运算、减法运算及卷积运算等等,相应的,该计算节点可以是用于实现加法运算的计算节点、用于实现减法运算的计算节点或用于实现卷积运算的计算节点等等。计算节点的计算参数可以是完成该计算节点对应的计算类型所需的必要参数。例如,计算节点的计算类型可以是用于实现加法运算的计算节点,相应的,该计算节点的计算参数可以为加法运算中的加数,该加法运算中的被加数可以作为输入数据通过获取模块获取,或者,该加法运算中的被加数可以是该计算节点的上一计算节点的输出数据等等。
S020、根据原始网络的模型数据集和模型结构参数运行原始网络,获得原始网络中各个计算节点对应的指令。
具体地,计算机设备的处理器可以根据原始网络的模型数据集和模型结构参数运行该原始网络,并获得原始网络中各个计算节点对应的指令。进一步地,处理器还可以获取该原始网络的输入数据,根据原始网络的输入数据、网络模型数据集和模型结构参数运行原始网络,获得该原始网络中各个计算节点对应的指令。更进一步地,上述运行该原始网络获得各个计算节点的指令的过程实质上是编译的过程,该编译过程可以通过计算机设备的处理器或虚拟设备实现。即计算机设备的处理器或虚拟设备根据原始网络的模型数据集和模型结构参数运行原始网络。其中,虚拟设备指的是在存储器的内存空间中虚拟出一段处理器运行空间。
应当清楚的是,本实施例中的运行原始网络是指,处理器使用人工神经网络模型数据运行某种机器学习算法(如神经网络算法),通过执行前向运算实现算法的目标应用(如语音识别等人工智能应用)。
S030、根据原始网络的各个计算节点对应的网络权值及指令,生成原始网络对应的离线模型,并将原始网络对应的离线模型存储至非易失性存储器(数据库)中。
具体地,该处理器的控制模块可以根据原始网络的各个计算节点对应的网络权值和指令,生成该原始网络对应的离线模型,例如,该处理器的控制模块可以将原始网络的各个计算节点对应的网络权值和指令存储至非易失性存储器中,以实现离线模型的生成及存储。其中,针对原始网络的每个计算节点,该计算节点的网络权值及指令一一对应进行存储。这样,当再次运行该原始网络时,可以直接从非易失性存储器中获取该原始网络对应的离线模型,并根据与其对应的离线模型运行原始网络,无需在线对该原始网络的各个计算节点进行编译获得指令,提高了系统的运行速度及效率。
应当清楚的是,本实施例中,直接运行该原始网络对应的离线模型是指,使用离线模型运行该原始网络对应的机器学习算法(如神经网络算法),通过执行前向运算实现算法的目标应用(如语音识别等人工智能应用)。
可选地,如图8所示,上述步骤S200可以包括:
S021、根据原始网络的模型结构参数,获得原始网络中各个计算节点的执行顺序。
具体地,处理器可以根据原始网络的模型结构参数,获得原始网络中各个计算节点的执行顺序,根据原始网络中各个计算节点的连接关系,获得原始网络中各个计算节点的执行顺序。例如,如图9所示,计算节点F4的输入数据为计算节点F1的输出数据以及计算节点F2的输出数据,计算节点F6的输入数据为计算节点F4的输出数据以及计算节点F5的输出数据。因此,图9所示的神经网络中各个计算节点的执行顺序可以为F1-F2-F3-F4-F5-F6或F1-F3-F2-F5- F4-F6等等。当然,计算节点F1、F2和F3可以并行执行,计算节点F4和F5 也可以并行执行,此处仅举例说明,并不具体限定其执行顺序。
S022、按照原始网络中各个计算节点的执行顺序运行原始网络,分别获得原始网络中各个计算节点对应的指令。
具体地,处理器可以根据原始网络中各个计算节点的执行顺序运行该原始网络,以获得原始网络中各个计算节点对应的指令,即处理器可以将原始网络的模型数据集等数据进行编译获得各个计算节点对应的指令,通过各个计算节点对应的指令可以获知该计算节点用于实现何种计算功能,即可以获得该计算节点的计算类型及计算参数等计算属性。
进一步地,如图8所示,上述步骤S300还包括:
S031、根据原始网络的模型数据集和模型结构参数,获得原始网络的内存分配方式。
具体地,处理器可以根据原始网络的模型数据集和模型结构参数,获得原始网络的内存分配方式,根据原始网络的模型结构参数,获得原始网络中各个计算节点的执行顺序,并根据原始网络中各个计算节点的执行顺序确定当前网络的内存分配方式。例如,按各个计算节点的执行顺序将各个计算节点在运行过程中的相关数据保存至一个栈内。其中,内存分配方式是指确定原始网络中各个计算节点相关的数据(包括输入数据、输出数据、网络权值数据及中间结果数据等等)在内存空间(如第一存储器)上的存储位置。例如,可以采用数据表存储各个计算节点相关的数据(输入数据、输出数据、网络权值数据及中间结果数据等等)和内存空间的映射关系。
S032、根据原始网络的内存分配方式,将原始网络运行过程中的相关数据存储至第一存储器中,其中,原始网络运行过程中的相关数据包括原始网络的各个计算节点对应的网络权值、指令、输入数据、中间计算结果及输出数据等等。例如,如图9所示,X1和X2表示该神经网络的输入数据,Y表示该神经网络的输出数据,处理器可以将该神经网络的输出数据转换为控制机器人或不同数字接口的控制命令。W1~W6用于表示计算节点F1、F2和F3对应的网络权值,计算节点F1~F5的输出数据可以作为中间计算结果。处理器可以根据已确定的内存分配方式,将原始网络运行过程中的相关数据存储至第一存储器,如内存储器或缓存等易失性存储器,其具体的存储方式可参见图10中左半部分存储空间。
S033、从第一存储器中获取原始网络的各个计算节点对应的网络权值及指令,并将原始网络的各个计算节点对应的网络权值及指令存储于第二存储器中,生成离线模型。其中,第二存储器可以为外部存储器等非易失性存储器。该离线模型的生成过程具体可参见图10所示,图10中右半部分的存储空间内存储的即为原始网络的对应的离线模型。
如图9和图10所示,下面结合附图说明上述的离线模型生成过程:
首先,处理器可以获得该原始网络的模型数据集、模型结构参数以及输入数据,从而根据该原始网络的模型数据集和模型结构参数可以获得该原始网络的网络结构图,如图9所示。
其次,处理器可以根据原始网络的模型结构参数,获得原始网络各个计算节点的连接关系,并根据各个计算节点的连接关系获得原始网络中各个计算节点的执行顺序,以及原始网络在运行过程中的内存分配方式,从而可以获得原始网络在运行过程中相关数据的存储位置。如图10中左半部分存储空间所示,原始网络在运行过程中的相关数据可以按照各个计算节点执行顺序存储在一个栈中。
最后,处理器可以将原始网络的各个计算节点对应的网络权值及指令存储于非易失性的第二存储器中,生成离线模型,该离线模型的存储方式可参见图8中右半部分存储空间所示。并且,该离线模型仅仅包含运行该原始网络所必需的网络权值及指令等数据,而不需对原始网络运行过程中的输入数据、输出数据或中间计算结果等进行存储,从而可以减小第二存储器中的存储空间的消耗。
作为进一步地改进,离线模型中还包括节点接口数据,节点接口数据用于表示原始网络的各个计算节点的连接关系。具体地,节点接口数据可以包括各个计算节点的输入数据来源和输出数据来源。例如,如图9所示,节点接口数据可以包括计算节点F1、F2和F3为起始计算节点,其输入分别为预设的输入数据,计算节点F1的输出数据作为计算节点F4和计算节点F5的输入数据等等。这样,在再次运行该原始网络时,只需获得原始网络的起始计算节点和输入数据,之后,便可以根据该原始网络对应的离线模型执行该原始网络。
应该理解的是,虽然图5-8的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图5-8中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程 ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限, RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步 DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM (ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus) 直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
本申请实施例还提供了一种模型转换装置,上述模型转换装置包括获取模块、判断模块和转换模块。其中,
获取模块用于获取初始离线模型及计算机设备的硬件属性信息;
判断模块用于根据初始离线模型和计算机设备的硬件属性信息,判断初始离线模型的模型属性信息与计算机设备的硬件属性信息是否匹配;转换模块用于在初始离线模型的模型属性信息与计算机设备的硬件属性信息不匹配,则根据计算机设备的硬件属性信息和预设的模型转换规则,将初始离线模型转换为与计算机设备的硬件属性信息匹配的目标离线模型。
可选地,该模型转换装置可以是安装于该计算机设备上的应用软件(Application)。该应用软件(Application)能够提供从存储器200或外部存储器中读取初始离线模型的接口,从而可以通过该应用软件获取该初始离线模型。可选地,该应用软件还可以提供读取计算机设备的硬件属性信息的接口,从而可以通过该应用软件获取该计算机设备的硬件属性信息。可选地,该应用软件还可以提供能够读取预设的模型规则的接口,从而可以通过该应用软件获取预设的模型转换规则。进一步地,该应用软件可以根据初始离线模型和计算机设备的硬件属性信息以及预设的模型换换规则,在该初始离线模型的模型属性信息与计算机设备的硬件属性信息不匹配时,将该初始离线模型转换为与该计算机设备的硬件属性信息匹配的目标离线模型,并将该目标离线模型存储至第一存储器或第二存储器中。
关于模型转换装置的具体限定可以参见上文中对于模型转换方法的限定,在此不再赘述。上述模型转换装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
此外,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,上述计算机程序被处理器执行时实现权利要求上述任一实施例的方法的步骤。可选地,该计算机可读存储介质可以包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程 ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限, RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步 DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM (ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus) 直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
具体地,上述计算机程序被处理器执行时实现如下步骤:
S100、获取初始离线模型及计算机设备的硬件属性信息;
具体地,上述的初始离线模型是指计算机设备直接获取的离线模型,该初始离线模型可以存储于第二存储器300中。其中,离线模型可以包含一原始网络中各个计算节点的网络权值以及指令等必要的网络结构信息,其中,指令可以用于表明该计算节点用于执行何种计算功能,其具体可以包括该原始网络中各个计算节点的计算属性以及各个计算节点之间的连接关系等信息。可选地,本申请实施例中的初始离线模型可以是根据原始网络直接生成的离线模型,也可以是具有其他模型属性信息的离线模型经过一次或多次转换后获得离线模型,此处不做具体限定。
S200、根据初始离线模型和计算机设备的硬件属性信息,判断初始离线模型的模型属性信息与计算机设备的硬件属性信息是否匹配。
具体地,该初始离线模型的模型属性信息可以包括该初始离线模型的数据结构及数据类型等等。例如,初始离线模型中各个网络权值及指令的摆放方式、各个网络权值的类型及各个指令的类型等等。上述的计算机设备的硬件属性信息包括该计算机设备的型号、该计算机设备能够处理的数据类型(如定点或浮点等等)及数据结构等等。
例如,该计算机设备可以根据其硬件属性信息确定该计算机设备能够处理的数据类型及数据结构,根据该初始离线模型的模型属性信息确定该初始离线模型的数据类型及数据结构。若该计算机设备根据其自身的硬件属性信息以及上述初始离线模型的模型属性信息,确定该计算机设备能够支持上述初始离线模型的数据类型及数据结构时,则可以判定该初始离线模型的模型属性信息与该计算机设备的硬件属性信息匹配。若该计算机设备根据其自身的硬件属性信息以及上述的初始离线模型的模型属性信息,确定该计算机设备不能够支持上述初始离线模型的数据类型及数据结构时,则可以判定该初始离线模型的模型属性信息与该计算机设备的硬件属性信息不匹配。
若初始离线模型的模型属性信息与计算机设备的硬件属性信息不匹配,则执行步骤S300,根据计算机设备的硬件属性信息和预设的模型转换规则,将初始离线模型转换为与计算机设备的硬件属性信息匹配的目标离线模型。
具体地,若该初始离线模型的模型属性信息与该计算机设备的硬件属性信息不匹配,则说明该计算机设备不能支持该初始离线模型的运行,此时需对该初始离线模型进行转换处理,以便该计算机设备能够使用该初始离线模型实现相应的运算。即当该初始离线模型的模型属性信息与计算机设备的硬件属性信息不匹配时,则可以根据计算机设备的硬件属性信息和预设的模型转换规则,将上述的初始离线模型转换为与该计算机设备的硬件属性信息匹配的目标离线模型。其中,该目标离线模型的模型属性信息与该计算机设备的硬件属性信息匹配,该计算机设备能够支持该目标离线模型的运行。同上,该目标离线模型也包括一原始网络中各个计算节点的网络权值以及指令等必要的网络结构信息。
若初始离线模型的模型属性信息与计算机设备的硬件属性信息匹配,则可以执行步骤S400,计算机设备可以直接运行其接收到的初始离线模型,即计算机设备可以根据该初始离线模型包含的网络权值及指令进行运算,以实现原始网络的运算功能。具体地,若该初始离线模型的模型属性信息与该计算机设备的硬件属性信息匹配,则说明该计算机设备能够支持该初始离线模型的运行,此时无需对该初始离线模型进行转换处理,计算机设备能够运行该初始离线模型。
应当清楚的是,处理器执行上述计算机程序的过程,与上述实施例的模型转换方法的执行过程一致,具体可参见上文中的描述,此处不再赘述。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (13)
1.一种模型转换方法,其特征在于,所述方法包括如下步骤:
获取初始离线模型及计算机设备的硬件属性信息;
根据所述初始离线模型和所述计算机设备的硬件属性信息,判断所述初始离线模型的模型属性信息与所述计算机设备的硬件属性信息是否匹配;
若所述初始离线模型的模型属性信息与所述计算机设备的硬件属性信息不匹配,则根据所述计算机设备的硬件属性信息和预设的模型转换规则,将所述初始离线模型转换为与所述计算机设备的硬件属性信息匹配的目标离线模型。
2.根据权利要求1所述的模型转换方法,其特征在于,所述的根据所述计算机设备的硬件属性信息和预设的模型转换规则,将所述初始离线模型转换为与所述计算机设备的硬件属性信息匹配的目标离线模型的步骤,包括:
根据所述计算机设备的硬件属性信息确定所述目标离线模型的模型属性信息;
根据所述初始离线模型的模型属性信息和所述目标离线模型的模型属性信息,从多个所述的预设的模型转换规则中选择一个所述模型转换规则作为目标模型转换规则;
根据所述初始离线模型的模型属性信息和所述目标模型转换规则,将所述初始离线模型转换为所述目标离线模型。
3.根据权利要求2所述的模型转换方法,其特征在于,所述的根据所述初始离线模型的模型属性信息和所述目标离线模型的模型属性信息,从多个所述预设的模型转换规则中选择一个所述模型转换规则作为目标模型转换规则的步骤,还包括:
根据所述初始离线模型的模型属性信息和所述目标离线模型的模型属性信息,从多个所述预设的模型转换规则中选择出一个以上的可用模型转换规则;
对所述一个以上的可用模型转换规则进行优先级排序,并将优先级最高的可用模型转换规则作为所述目标转换规则。
4.根据权利要求3所述的模型转换方法,其特征在于,所述的对一个以上的可用模型转换规则进行优先级排序的步骤,还包括如下步骤:
分别获取采用各个所述可用模型转换规则,将所述初始离线模型转换为所述目标离线模型的过程参数,其中,所述过程参数包括转换速度、功耗、内存占用率及磁盘I/O占用率中的一种或多种;
根据各个所述可用模型转换规则的过程参数,对一个以上的可用模型转换规则进行优先级排序。
5.根据权利要求3所述的模型转换方法,其特征在于,所述初始离线模型的模型属性信息、所述目标离线模型的模型属性信息及所述可用模型转换规则一一对应存储。
6.根据权利要求1-5任一项所述的模型转换方法,其特征在于,所述的根据所述初始离线模型和所述计算机设备的硬件属性信息,判断所述初始离线模型的模型属性信息与所述计算机设备的硬件属性信息是否匹配的步骤包括:
若根据所述初始离线模型的模型属性信息和所述计算机设备的硬件属性信息,确定所述计算机设备能够支持所述初始离线模型的运行时,则判定所述初始离线模型的模型属性信息与所述计算机设备的硬件属性信息匹配;
若根据所述初始离线模型的模型属性信息和所述计算机设备的硬件属性信息,确定所述计算机设备不支持所述初始离线模型的运行时,则判定所述初始离线模型的模型属性信息与所述计算机设备的硬件属性信息不匹配。
7.根据权利要求1-5任一项所述的模型转换方法,其特征在于,所述的获取初始离线模型的步骤,还包括:
通过所述计算机设备上的应用软件获取所述初始离线模型和所述计算机设备的硬件属性信息。
8.根据权利要求1-5任一项所述的模型转换方法,其特征在于,所述方法还包括如下步骤:
将所述目标离线模型存储于所述计算机设备的第一存储器或第二存储器。
9.根据权利要求8所述的模型转换方法,其特征在于,所述方法还包括如下步骤:
获取所述目标离线模型,并运行所述目标离线模型;其中,所述目标离线模型中包含原始网络中各个离线节点对应的网络权值、指令以及各个离线节点与所述原始网络中的其他计算节点之间的接口数据。
10.一种模型转换装置,其特征在于,所述装置包括:
获取模块,用于获取初始离线模型及计算机设备的硬件属性信息;
判断模块,用于根据所述初始离线模型和所述计算机设备的硬件属性信息,判断所述初始离线模型的模型属性信息与所述计算机设备的硬件属性信息是否匹配;
转换模块,用于在所述初始离线模型的模型属性信息与所述计算机设备的硬件属性信息不匹配,则根据所述计算机设备的硬件属性信息和预设的模型转换规则,将所述初始离线模型转换为与所述计算机设备的硬件属性信息匹配的目标离线模型。
11.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
12.根据权利要求11所述的计算机设备,其特征在于,所述处理器包括运算单元和控制器单元,所述运算单元包括主处理电路和多个从处理电路;
所述控制器单元用于获取数据、机器学习模型以及计算指令;
所述控制器单元还用于解析所述计算指令得到多个运算指令,并将所述多个运算指令以及所述数据发送给所述主处理电路;
所述主处理电路用于对所述数据以及所述主处理电路与所述多个从处理电路之间传输的数据和运算指令执行前序处理;
所述多个从处理电路用于依据从所述主处理电路传输的数据以及运算指令并行执行中间运算得到多个中间结果,并将多个中间结果传输给所述主处理电路;
所述主处理电路还用于对所述多个中间结果执行后续处理得到所述计算指令的计算结果。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (10)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010147559.2A CN111309486B (zh) | 2018-08-10 | 2018-08-10 | 转换方法、装置、计算机设备和存储介质 |
CN201810913895.6A CN109492241B (zh) | 2018-08-10 | 2018-08-10 | 转换方法、装置、计算机设备和存储介质 |
EP19790111.9A EP3640825A4 (en) | 2018-08-10 | 2019-03-29 | CONVERSION PROCEDURE, APPARATUS, COMPUTER DEVICE AND STORAGE MEDIA |
JP2019564530A JP6829327B2 (ja) | 2018-08-10 | 2019-03-29 | 変換方法、装置、コンピューターデバイス及び記憶媒体 |
CA3062949A CA3062949C (en) | 2018-08-10 | 2019-03-29 | Conversion method, apparatus, computer device, and storage medium |
PCT/CN2019/080510 WO2020029592A1 (zh) | 2018-08-10 | 2019-03-29 | 转换方法、装置、计算机设备及存储介质 |
KR1020197034745A KR20210033874A (ko) | 2018-08-10 | 2019-03-29 | 변환 방법, 장치, 컴퓨터 장치 및 저장 매체 |
AU2019268193A AU2019268193B2 (en) | 2018-08-10 | 2019-03-29 | Conversion method, apparatus, computer device, and storage medium |
US16/667,593 US11314507B2 (en) | 2018-08-10 | 2019-10-29 | Model conversion method, device, computer equipment, and storage medium |
US17/703,757 US11853760B2 (en) | 2018-08-10 | 2022-03-24 | Model conversion method, device, computer equipment, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810913895.6A CN109492241B (zh) | 2018-08-10 | 2018-08-10 | 转换方法、装置、计算机设备和存储介质 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010147559.2A Division CN111309486B (zh) | 2018-08-10 | 2018-08-10 | 转换方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109492241A true CN109492241A (zh) | 2019-03-19 |
CN109492241B CN109492241B (zh) | 2020-03-10 |
Family
ID=65690403
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010147559.2A Active CN111309486B (zh) | 2018-08-10 | 2018-08-10 | 转换方法、装置、计算机设备和存储介质 |
CN201810913895.6A Active CN109492241B (zh) | 2018-08-10 | 2018-08-10 | 转换方法、装置、计算机设备和存储介质 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010147559.2A Active CN111309486B (zh) | 2018-08-10 | 2018-08-10 | 转换方法、装置、计算机设备和存储介质 |
Country Status (8)
Country | Link |
---|---|
US (2) | US11314507B2 (zh) |
EP (1) | EP3640825A4 (zh) |
JP (1) | JP6829327B2 (zh) |
KR (1) | KR20210033874A (zh) |
CN (2) | CN111309486B (zh) |
AU (1) | AU2019268193B2 (zh) |
CA (1) | CA3062949C (zh) |
WO (1) | WO2020029592A1 (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109976751A (zh) * | 2019-03-28 | 2019-07-05 | 北京中科寒武纪科技有限公司 | 模型操作方法、相关装置及计算机可读介质 |
CN110458286A (zh) * | 2019-08-14 | 2019-11-15 | 北京中科寒武纪科技有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN110458285A (zh) * | 2019-08-14 | 2019-11-15 | 北京中科寒武纪科技有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN110532291A (zh) * | 2019-07-25 | 2019-12-03 | 中国科学院计算技术研究所 | 基于最小执行代价的深度学习框架间模型转换方法及系统 |
WO2020029592A1 (zh) * | 2018-08-10 | 2020-02-13 | 中科寒武纪科技股份有限公司 | 转换方法、装置、计算机设备及存储介质 |
CN111832738A (zh) * | 2019-04-18 | 2020-10-27 | 中科寒武纪科技股份有限公司 | 一种数据处理方法及相关产品 |
CN111967568A (zh) * | 2020-06-29 | 2020-11-20 | 北京百度网讯科技有限公司 | 深度学习模型的适配方法、装置及电子设备 |
CN112396186A (zh) * | 2019-08-12 | 2021-02-23 | 上海寒武纪信息科技有限公司 | 执行方法、装置及相关产品 |
US11847554B2 (en) | 2019-04-18 | 2023-12-19 | Cambricon Technologies Corporation Limited | Data processing method and related products |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111694617B (zh) * | 2018-12-29 | 2023-05-02 | 中科寒武纪科技股份有限公司 | 网络离线模型的处理方法、人工智能处理装置及相关产品 |
EP3958183A4 (en) * | 2020-06-29 | 2023-03-01 | Beijing Baidu Netcom Science And Technology Co. Ltd. | DEEP LEARNING MODEL ADAPTATION METHOD AND APPARATUS AND ELECTRONIC DEVICE |
CN111783642B (zh) * | 2020-06-30 | 2023-10-13 | 北京百度网讯科技有限公司 | 一种图像识别方法、装置、电子设备及存储介质 |
CN111966361B (zh) * | 2020-09-25 | 2024-04-05 | 北京百度网讯科技有限公司 | 用于确定待部署模型的方法、装置、设备及其存储介质 |
CN112256279B (zh) * | 2020-09-29 | 2024-05-14 | 深圳市广和通无线股份有限公司 | 源码转换方法、装置、计算机设备及可读存储介质 |
CN112799895A (zh) * | 2021-01-27 | 2021-05-14 | 北京嘀嘀无限科技发展有限公司 | 硬件评测方法、装置、电子设备、存储介质和程序产品 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106650922A (zh) * | 2016-09-29 | 2017-05-10 | 清华大学 | 硬件神经网络转换方法、计算装置、编译方法和神经网络软硬件协作系统 |
CN107622427A (zh) * | 2016-07-13 | 2018-01-23 | 阿里巴巴集团控股有限公司 | 深度学习的方法、装置及系统 |
CN108053031A (zh) * | 2018-01-02 | 2018-05-18 | 安徽大学 | 一种深度学习系统及深度学习识别方法 |
CN108205708A (zh) * | 2018-01-02 | 2018-06-26 | 安徽大学 | 一种新型可扩展的深度学习系统及数据识别方法 |
US20180204119A1 (en) * | 2017-01-19 | 2018-07-19 | International Business Machines Corporation | Method and Apparatus for Driver Identification Leveraging Telematics Data |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7222302B2 (en) * | 2003-06-05 | 2007-05-22 | International Business Machines Corporation | Method and apparatus for generating it level executable solution artifacts from the operational specification of a business |
WO2006043012A1 (en) * | 2004-10-22 | 2006-04-27 | New Technology/Enterprise Limited | Data processing system and method |
US8538786B2 (en) * | 2006-06-07 | 2013-09-17 | International Business Machines Corporation | Method, system and program product for generating an implementation of a business rule including a volatile portion |
US8516435B2 (en) * | 2008-06-19 | 2013-08-20 | International Business Machines Corporation | System and method for generating implementation artifacts for contextually-aware business applications |
US8495559B2 (en) * | 2008-09-09 | 2013-07-23 | International Business Machines Corporation | Extracting platform independent models from composite applications |
US8813024B2 (en) * | 2008-09-22 | 2014-08-19 | International Business Machines Corporation | System and a method for cross-platform porting of business application and making them contextually-aware on target platforms |
US8826225B2 (en) * | 2008-10-21 | 2014-09-02 | Accenture Global Services Limited | Model transformation unit |
CN101430647A (zh) * | 2008-12-02 | 2009-05-13 | 北京中星微电子有限公司 | 一种硬件设备及其驱动安装方法 |
CN101937351B (zh) * | 2010-09-15 | 2013-07-31 | 任子行网络技术股份有限公司 | 一种自动安装应用软件的方法和系统 |
KR101770292B1 (ko) * | 2014-11-27 | 2017-08-22 | 주식회사 엘지씨엔에스 | 컴퓨터 수행 가능한 모델 역공학 방법 및 장치 |
CN104679511A (zh) * | 2015-02-10 | 2015-06-03 | 北京系统工程研究所 | 基于MDE模型转换的MapReduce代码生成方法 |
US20160328644A1 (en) * | 2015-05-08 | 2016-11-10 | Qualcomm Incorporated | Adaptive selection of artificial neural networks |
US10366687B2 (en) * | 2015-12-10 | 2019-07-30 | Nuance Communications, Inc. | System and methods for adapting neural network acoustic models |
CN105930354B (zh) * | 2016-04-08 | 2020-02-14 | 四川师范大学 | 存储模型转换方法和装置 |
JP2018018451A (ja) * | 2016-07-29 | 2018-02-01 | 富士通株式会社 | 機械学習方法、機械学習プログラム及び情報処理装置 |
CN106331858A (zh) * | 2016-09-08 | 2017-01-11 | 北京奇虎科技有限公司 | 程序安装适配性的检测方法、装置及系统 |
KR102292349B1 (ko) * | 2017-04-19 | 2021-08-20 | 상하이 캠브리콘 인포메이션 테크놀로지 컴퍼니 리미티드 | 처리 장치 및 처리 방법 |
US20200380357A1 (en) * | 2017-09-13 | 2020-12-03 | Intel Corporation | Incremental network quantization |
US10469327B1 (en) * | 2017-10-18 | 2019-11-05 | Vulcan Inc. | Operations environment model and simulation to reduce operator error |
CN108038544B (zh) * | 2017-12-04 | 2020-11-13 | 华南师范大学 | 基于大数据和深度学习的神经网络深度学习方法和系统 |
US20230196069A1 (en) * | 2017-12-29 | 2023-06-22 | Cambricon Technologies Corporation Limited | Neural network processing method, computer system and storage medium |
US20190286972A1 (en) * | 2018-03-14 | 2019-09-19 | Microsoft Technology Licensing, Llc | Hardware accelerated neural network subgraphs |
WO2019200548A1 (zh) * | 2018-04-17 | 2019-10-24 | 深圳鲲云信息科技有限公司 | 网络模型编译器及相关产品 |
WO2019200545A1 (zh) * | 2018-04-17 | 2019-10-24 | 深圳鲲云信息科技有限公司 | 网络模型的运行方法及相关产品 |
JP7440420B2 (ja) * | 2018-05-07 | 2024-02-28 | グーグル エルエルシー | 包括的機械学習サービスを提供するアプリケーション開発プラットフォームおよびソフトウェア開発キット |
CN111309486B (zh) * | 2018-08-10 | 2024-01-12 | 中科寒武纪科技股份有限公司 | 转换方法、装置、计算机设备和存储介质 |
CN112016668A (zh) * | 2019-05-31 | 2020-12-01 | 苹果公司 | 机器学习模型在运行时期间的可变参数 |
US20210117859A1 (en) * | 2019-10-20 | 2021-04-22 | Nvidia Corporation | Live updating of machine learning models |
US20220012575A1 (en) * | 2020-07-09 | 2022-01-13 | Femtosense, Inc. | Methods and apparatus for localized processing within multicore neural networks |
KR102656567B1 (ko) * | 2021-12-30 | 2024-04-12 | 주식회사 에임퓨처 | 다양한 유형의 신경망 모델을 변환 및 활용할 수 있도록 하는 방법 및 장치 |
-
2018
- 2018-08-10 CN CN202010147559.2A patent/CN111309486B/zh active Active
- 2018-08-10 CN CN201810913895.6A patent/CN109492241B/zh active Active
-
2019
- 2019-03-29 CA CA3062949A patent/CA3062949C/en active Active
- 2019-03-29 WO PCT/CN2019/080510 patent/WO2020029592A1/zh unknown
- 2019-03-29 EP EP19790111.9A patent/EP3640825A4/en active Pending
- 2019-03-29 KR KR1020197034745A patent/KR20210033874A/ko unknown
- 2019-03-29 JP JP2019564530A patent/JP6829327B2/ja active Active
- 2019-03-29 AU AU2019268193A patent/AU2019268193B2/en active Active
- 2019-10-29 US US16/667,593 patent/US11314507B2/en active Active
-
2022
- 2022-03-24 US US17/703,757 patent/US11853760B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107622427A (zh) * | 2016-07-13 | 2018-01-23 | 阿里巴巴集团控股有限公司 | 深度学习的方法、装置及系统 |
CN106650922A (zh) * | 2016-09-29 | 2017-05-10 | 清华大学 | 硬件神经网络转换方法、计算装置、编译方法和神经网络软硬件协作系统 |
US20180204119A1 (en) * | 2017-01-19 | 2018-07-19 | International Business Machines Corporation | Method and Apparatus for Driver Identification Leveraging Telematics Data |
CN108053031A (zh) * | 2018-01-02 | 2018-05-18 | 安徽大学 | 一种深度学习系统及深度学习识别方法 |
CN108205708A (zh) * | 2018-01-02 | 2018-06-26 | 安徽大学 | 一种新型可扩展的深度学习系统及数据识别方法 |
Non-Patent Citations (2)
Title |
---|
唐杰: "面向大社交数据的深度分析与挖掘", 《科学通报》 * |
李倩文: "基于J2EE的烟草物流仓储管理系统分析与设计", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020029592A1 (zh) * | 2018-08-10 | 2020-02-13 | 中科寒武纪科技股份有限公司 | 转换方法、装置、计算机设备及存储介质 |
US11853760B2 (en) | 2018-08-10 | 2023-12-26 | Cambricon Technologies Corporation Limited | Model conversion method, device, computer equipment, and storage medium |
US11314507B2 (en) | 2018-08-10 | 2022-04-26 | Cambricon Technologies Corporation Limited | Model conversion method, device, computer equipment, and storage medium |
CN109976751A (zh) * | 2019-03-28 | 2019-07-05 | 北京中科寒武纪科技有限公司 | 模型操作方法、相关装置及计算机可读介质 |
US11847554B2 (en) | 2019-04-18 | 2023-12-19 | Cambricon Technologies Corporation Limited | Data processing method and related products |
CN111832738A (zh) * | 2019-04-18 | 2020-10-27 | 中科寒武纪科技股份有限公司 | 一种数据处理方法及相关产品 |
CN111832738B (zh) * | 2019-04-18 | 2024-01-09 | 中科寒武纪科技股份有限公司 | 一种数据处理方法及相关产品 |
US11762690B2 (en) | 2019-04-18 | 2023-09-19 | Cambricon Technologies Corporation Limited | Data processing method and related products |
CN110532291A (zh) * | 2019-07-25 | 2019-12-03 | 中国科学院计算技术研究所 | 基于最小执行代价的深度学习框架间模型转换方法及系统 |
CN110532291B (zh) * | 2019-07-25 | 2022-07-12 | 中国科学院计算技术研究所 | 基于最小执行代价的深度学习框架间模型转换方法及系统 |
CN112396186A (zh) * | 2019-08-12 | 2021-02-23 | 上海寒武纪信息科技有限公司 | 执行方法、装置及相关产品 |
CN112396186B (zh) * | 2019-08-12 | 2024-05-03 | 上海寒武纪信息科技有限公司 | 执行方法、装置及相关产品 |
CN113435591A (zh) * | 2019-08-14 | 2021-09-24 | 中科寒武纪科技股份有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN110458285B (zh) * | 2019-08-14 | 2021-05-14 | 中科寒武纪科技股份有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN110458285A (zh) * | 2019-08-14 | 2019-11-15 | 北京中科寒武纪科技有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN110458286A (zh) * | 2019-08-14 | 2019-11-15 | 北京中科寒武纪科技有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN113435591B (zh) * | 2019-08-14 | 2024-04-05 | 中科寒武纪科技股份有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
WO2022000802A1 (zh) * | 2020-06-29 | 2022-01-06 | 北京百度网讯科技有限公司 | 深度学习模型的适配方法、装置及电子设备 |
CN111967568B (zh) * | 2020-06-29 | 2023-09-01 | 北京百度网讯科技有限公司 | 深度学习模型的适配方法、装置及电子设备 |
CN111967568A (zh) * | 2020-06-29 | 2020-11-20 | 北京百度网讯科技有限公司 | 深度学习模型的适配方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
US20200104129A1 (en) | 2020-04-02 |
CN111309486A (zh) | 2020-06-19 |
CA3062949A1 (en) | 2020-02-10 |
KR20210033874A (ko) | 2021-03-29 |
US11314507B2 (en) | 2022-04-26 |
US20220214875A1 (en) | 2022-07-07 |
CN111309486B (zh) | 2024-01-12 |
CN109492241B (zh) | 2020-03-10 |
AU2019268193A1 (en) | 2020-02-27 |
CA3062949C (en) | 2023-01-24 |
EP3640825A4 (en) | 2020-08-26 |
JP2020532778A (ja) | 2020-11-12 |
AU2019268193B2 (en) | 2022-04-21 |
WO2020029592A1 (zh) | 2020-02-13 |
EP3640825A1 (en) | 2020-04-22 |
JP6829327B2 (ja) | 2021-02-10 |
US11853760B2 (en) | 2023-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109492241A (zh) | 转换方法、装置、计算机设备和存储介质 | |
CN110178280A (zh) | 用于电网中受屏蔽的系统的分层隐式控制器 | |
CN104699899B (zh) | 一种船舶管路路径优化设计方法 | |
CN109344476B (zh) | 基于cim模型的配电网单线图线路分支结构生成方法和装置 | |
CN109685201A (zh) | 运算方法、装置及相关产品 | |
CN109993287A (zh) | 神经网络处理方法、计算机系统及存储介质 | |
CN111181201B (zh) | 基于双层强化学习的多能园区调度方法及系统 | |
CN112818588B (zh) | 一种电力系统的最优潮流计算方法、装置及存储介质 | |
CN109726822A (zh) | 运算方法、装置及相关产品 | |
CN116207739B (zh) | 配电网优化调度方法、装置、计算机设备和存储介质 | |
Hou et al. | Stochastic vehicle routing problem with uncertain demand and travel time and simultaneous pickups and deliveries | |
CN108280775B (zh) | 电力信息物理系统的分层分布混成计算架构体系及方法 | |
CN109685203A (zh) | 数据处理方法、装置、计算机系统及存储介质 | |
CN109726797B (zh) | 数据处理方法、装置、计算机系统及存储介质 | |
KR20220117432A (ko) | 전력 계통 클러스터링 방법 및 장치 | |
CN109993288A (zh) | 神经网络处理方法、计算机系统及存储介质 | |
CN117407572B (zh) | 用于配网应急一体化指挥的故障信息处理方法及系统 | |
CN116821427B (zh) | 信息存储方法、装置、电子设备和计算机可读介质 | |
CN109933858B (zh) | 配电网分核并行仿真方法 | |
Norbiato et al. | A decomposition scheme for short term hydrothermal scheduling problems suitable for parallel processing | |
CN117556875A (zh) | 一种多场景新能源出力模拟生成方法、系统、设备及介质 | |
CN117039851A (zh) | 电网调度方法、装置、设备和存储介质 | |
CN116316576A (zh) | 日前节点电价预测方法、装置、电子设备及存储介质 | |
CN114977183A (zh) | 交流牵引供电系统并行潮流计算方法、介质及设备 | |
CN115352289A (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 | ||
CB02 | Change of applicant information |
Address after: 100190 room 644, comprehensive research building, No. 6 South Road, Haidian District Academy of Sciences, Beijing Applicant after: Zhongke Cambrian Technology Co., Ltd Address before: 100190 room 644, comprehensive research building, No. 6 South Road, Haidian District Academy of Sciences, Beijing Applicant before: Beijing Zhongke Cambrian Technology Co., Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |