CN113222121A - 一种数据处理方法、装置及设备 - Google Patents

一种数据处理方法、装置及设备 Download PDF

Info

Publication number
CN113222121A
CN113222121A CN202110602261.0A CN202110602261A CN113222121A CN 113222121 A CN113222121 A CN 113222121A CN 202110602261 A CN202110602261 A CN 202110602261A CN 113222121 A CN113222121 A CN 113222121A
Authority
CN
China
Prior art keywords
model
deep learning
learning model
parameter
expression mode
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
CN202110602261.0A
Other languages
English (en)
Other versions
CN113222121B (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.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital 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 Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN202110602261.0A priority Critical patent/CN113222121B/zh
Publication of CN113222121A publication Critical patent/CN113222121A/zh
Application granted granted Critical
Publication of CN113222121B publication Critical patent/CN113222121B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请提供一种数据处理方法、装置及设备,该方法包括:获取至少一个训练平台训练的第一深度学习模型,每一训练平台训练的第一深度学习模型包括第一模型结构、第一模型参数;将每一训练平台训练的第一深度学习模型转换为第二深度学习模型,第二深度学习模型包括第二模型结构、第二模型参数;将该第二深度学习模型转换为与硬件设备匹配的第三深度学习模型;将该第三深度学习模型发送给该硬件设备,以使该硬件设备运行该第三深度学习模型,并通过该第三深度学习模型实现数据处理。通过本申请的技术方案,可以提升跨训练平台以及跨硬件设备的部署效率,减少开发工作量,提高用户体验。

Description

一种数据处理方法、装置及设备
技术领域
本申请涉及人工智能技术领域,尤其是一种数据处理方法、装置及设备。
背景技术
深度学习是机器学习领域中一个新的研究方向,被引入机器学习使其更接近于最初的目标,即人工智能。深度学习是学习样本数据的内在规律和表示层次,这些学习过程中获得的信息,对诸如文字、图像和声音等数据的解释有很大帮助,深度学习的最终目标是让机器能够具有分析学习能力,能够识别文字、图像和声音等数据。深度学习在搜索技术、数据挖掘、机器学习、机器翻译、自然语言处理、多媒体学习、语音、推荐和个性化技术,均取得了很多成果。
为了采用深度学习技术实现人工智能处理,需要先在训练平台训练出深度学习模型,并将深度学习模型部署到硬件设备,由硬件设备运行深度学习模型以实现数据处理。但是,深度学习领域中存在多种类型的训练平台,不同训练平台对深度学习模型的表达方式存在差异,深度学习领域中也存在多种类型的硬件设备,不同硬件设备对深度学习模型的表达方式也存在差异,因此,为了在硬件设备运行深度学习模型,就需要开发者针对不同训练平台和不同硬件设备分别进行工具链的开发,开发工作量很大,用户体验较差,工具链表示如何将训练平台训练的深度学习模型转换为硬件设备能够运行的深度学习模型。
发明内容
本申请提供一种数据处理方法,应用于中间设备,所述中间设备位于训练平台与硬件设备之间,所述训练平台用于训练深度学习模型,所述硬件设备用于运行深度学习模型以实现数据处理,所述方法包括:
获取至少一个训练平台训练的第一深度学习模型,每一训练平台训练的第一深度学习模型包括第一模型结构、第一模型参数;每一训练平台训练的第一深度学习模型中的第一模型结构的表达方式与该训练平台支持的模型结构表达方式相同,每一训练平台训练的第一深度学习模型中的第一模型参数的表达方式与该训练平台支持的模型参数表达方式相同;
将每一训练平台训练的第一深度学习模型转换为第二深度学习模型,该第二深度学习模型包括第二模型结构、第二模型参数;该第二模型结构的表达方式与该中间设备支持的模型结构表达方式相同,该第二模型参数的表达方式与该中间设备支持的模型参数表达方式相同;
将该第二深度学习模型转换为与硬件设备匹配的第三深度学习模型,该第三深度学习模型包括第三模型结构、第三模型参数,该第三模型结构的表达方式与该硬件设备支持的模型结构表达方式相同,该第三模型参数的表达方式与该硬件设备支持的模型参数表达方式相同;
将该第三深度学习模型发送给该硬件设备,以使该硬件设备运行该第三深度学习模型,并通过该第三深度学习模型实现数据处理。
本申请提供一种数据处理装置,应用于中间设备,所述中间设备位于训练平台与硬件设备之间,所述训练平台用于训练深度学习模型,所述硬件设备用于运行深度学习模型以实现数据处理,所述装置包括:
获取模块,用于获取至少一个训练平台训练的第一深度学习模型,每一训练平台训练的第一深度学习模型包括第一模型结构、第一模型参数;每一训练平台训练的第一深度学习模型中的第一模型结构的表达方式与该训练平台支持的模型结构表达方式相同,每一训练平台训练的第一深度学习模型中的第一模型参数的表达方式与该训练平台支持的模型参数表达方式相同;
处理模块,用于将每一训练平台训练的第一深度学习模型转换为第二深度学习模型,第二深度学习模型包括第二模型结构、第二模型参数;第二模型结构的表达方式与中间设备支持的模型结构表达方式相同,第二模型参数的表达方式与中间设备支持的模型参数表达方式相同;
以及,将该第二深度学习模型转换为与硬件设备匹配的第三深度学习模型,该第三深度学习模型包括第三模型结构、第三模型参数,该第三模型结构的表达方式与该硬件设备支持的模型结构表达方式相同,该第三模型参数的表达方式与该硬件设备支持的模型参数表达方式相同;
发送模块,用于将该第三深度学习模型发送给该硬件设备,以使该硬件设备运行该第三深度学习模型,并通过该第三深度学习模型实现数据处理。
本申请提供一种中间设备,所述中间设备位于训练平台与硬件设备之间,所述训练平台用于训练深度学习模型,所述硬件设备用于运行深度学习模型以实现数据处理,所述间设备包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;
所述处理器用于执行机器可执行指令,以实现如下的步骤:
获取至少一个训练平台训练的第一深度学习模型,每一训练平台训练的第一深度学习模型包括第一模型结构、第一模型参数;每一训练平台训练的第一深度学习模型中的第一模型结构的表达方式与该训练平台支持的模型结构表达方式相同,每一训练平台训练的第一深度学习模型中的第一模型参数的表达方式与该训练平台支持的模型参数表达方式相同;
将每一训练平台训练的第一深度学习模型转换为第二深度学习模型,该第二深度学习模型包括第二模型结构、第二模型参数;该第二模型结构的表达方式与该中间设备支持的模型结构表达方式相同,该第二模型参数的表达方式与该中间设备支持的模型参数表达方式相同;
将该第二深度学习模型转换为与硬件设备匹配的第三深度学习模型,该第三深度学习模型包括第三模型结构、第三模型参数,该第三模型结构的表达方式与该硬件设备支持的模型结构表达方式相同,该第三模型参数的表达方式与该硬件设备支持的模型参数表达方式相同;
将该第三深度学习模型发送给该硬件设备,以使该硬件设备运行该第三深度学习模型,并通过该第三深度学习模型实现数据处理。
由以上技术方案可见,本申请实施例中,通过在训练平台与硬件设备之间部署中间设备,由中间设备将第一深度学习模型转换为第二深度学习模型,从而将所有训练平台支持的模型结构表达方式转换为中间设备支持的模型结构表达方式,将所有训练平台支持的模型参数表达方式转换为中间设备支持的模型参数表达方式,在将第二深度学习模型转换为第三深度学习模型时,只需要支持中间设备支持的模型结构表达方式和中间设备支持的模型参数表达方式,而不需要支持所有训练平台支持的模型结构表达方式,也不需要支持所有训练平台支持的模型参数表达方式,也就是说,不需要开发者针对不同训练平台和不同硬件设备分别进行工具链的开发,可以实现跨训练平台通用的深度学习模型的表达方式,可以提升跨训练平台以及跨硬件设备的部署效率,并提升部署流程,提升深度学习模型的性能一致性,减少开发工作量,提高用户体验。
附图说明
图1是本申请一种实施方式中的组网示意图;
图2是本申请另一种实施方式中的组网示意图;
图3是本申请一种实施方式中的数据处理方法的流程图;
图4是本申请一种实施方式中的数据处理装置的结构图;
图5是本申请一种实施方式中的中间设备的结构图。
具体实施方式
在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
深度学习是学习样本数据的内在规律和表示层次,这些学习过程中获得的信息,对诸如文字、图像和声音等数据的解释有很大帮助,深度学习的最终目标是让机器能够具有分析学习能力,能够识别文字、图像和声音等数据。
神经网络是深度学习领域中的深度人工神经网络,可以进行大型图像处理,神经网络在图像分类、目标检测、语义分割、人脸识别、视频分析等领域取得了很大进展。神经网络也可以被生产厂商部署在各类智能设备,如手机、摄像头、个人计算机、汽车等。为了方便描述,本文以神经网络为例,介绍神经网络的结构和功能,对于深度学习的其它子类,与神经网络的结构和功能类似。
神经网络可以包括但不限于卷积神经网络(简称CNN)、循环神经网络(简称RNN)、全连接网络等,而神经网络的结构单元可以包括但不限于卷积层(Conv)、池化层(Pool)、激励层、全连接层(FC)等,对此不做限制。
在实际应用中,可以根据不同需求,将一个或多个卷积层,一个或多个池化层,一个或多个激励层,以及一个或多个全连接层进行组合构建神经网络。
在卷积层中,通过使用卷积核对输入数据特征进行卷积运算,使输入数据特征增强,该卷积核可以是m*n大小的矩阵,卷积层的输入数据特征与卷积核进行卷积,可以得到卷积层的输出数据特征,卷积运算实际是一个滤波过程。
在池化层中,通过对输入数据特征(如卷积层的输出)进行取最大值、取最小值、取平均值等操作,从而利用局部相关性的原理,对输入数据特征进行子抽样,减少处理量,并保持特征不变性,池化层运算实际是一个降采样过程。
在激励层中,可以使用激活函数(如非线性函数)对输入数据特征进行映射,从而引入非线性因素,使得神经网络通过非线性的组合增强表达能力。该激活函数可以包括但不限于ReLU(Rectified Linear Units,整流线性单元)函数,该ReLU函数用于将小于0的特征置0,而大于0的特征保持不变。
在全连接层中,用于将输入给本全连接层的所有数据特征进行全连接处理,从而得到一个特征向量,且该特征向量中可以包括多个数据特征。
为了采用深度学习技术实现人工智能处理,需要先在训练平台训练出深度学习模型,并将深度学习模型部署到硬件设备,由硬件设备运行深度学习模型以实现数据处理,也就是说,采用深度学习模型实现人工智能处理。
参见图1所示,为采用深度学习模型实现人工智能处理的组网示意图,训练平台的数量可以为至少一个,图1中是以3个训练平台为例,这些训练平台为训练平台11、训练平台12和训练平台13,硬件设备的数量可以为至少一个,图1中以2个硬件设备为例,这些硬件设备为硬件设备21和硬件设备22。
训练平台11训练出深度学习模型110后,将深度学习模型110调整为深度学习模型110-1,并将深度学习模型110-1部署到硬件设备21,以及将深度学习模型110调整为深度学习模型110-2,将深度学习模型110-2部署到硬件设备22。训练平台12训练出深度学习模型120后,将深度学习模型120调整为深度学习模型120-1,并将深度学习模型120-1部署到硬件设备21,以及将深度学习模型120调整为深度学习模型120-2,将深度学习模型120-2部署到硬件设备22。训练平台13训练出深度学习模型130后,将深度学习模型130调整为深度学习模型130-1,并将深度学习模型130-1部署到硬件设备21,以及将深度学习模型130调整为深度学习模型130-2,将深度学习模型130-2部署到硬件设备22。
深度学习模型110的表达方式与训练平台11支持的表达方式相同,将其记为表达方式a1,将深度学习模型110的表达方式a1调整为硬件设备21支持的表达方式,将其记为表达方式b1,得到深度学习模型110-1,硬件设备运行深度学习模型110-1,并通过深度学习模型110-1实现数据处理。
深度学习模型120的表达方式与训练平台12支持的表达方式相同,将其记为表达方式a2,将深度学习模型120的表达方式a2调整为硬件设备21支持的表达方式b1,得到深度学习模型120-1,硬件设备21运行深度学习模型120-1。
深度学习模型130的表达方式与训练平台13支持的表达方式相同,将其记为表达方式a3,将深度学习模型130的表达方式a3调整为硬件设备21支持的表达方式b1,得到深度学习模型130-1,硬件设备21运行深度学习模型130-1。
综上所述,需要支持所有训练平台支持的表达方式(如表达方式a1、表达方式a2和表达方式a3),才能够对每个训练平台的深度学习模型的表达方式进行调整,得到能够在硬件设备21运行的深度学习模型。
同理,需要将深度学习模型110的表达方式a1调整为硬件设备22支持的表达方式,将其记为表达方式b2,得到深度学习模型110-2。需要将深度学习模型120的表达方式a2调整为硬件设备22支持的表达方式b2,得到深度学习模型120-2。需要将深度学习模型130的表达方式a3调整为硬件设备22支持的表达方式b2,得到深度学习模型130-2。综上所述,需要支持所有训练平台支持的表达方式,才能够对每个训练平台的深度学习模型的表达方式进行调整,得到能够在硬件设备22运行的深度学习模型。
从上述内容可以看出,需要开发者针对不同训练平台和不同硬件设备分别进行工具链的开发,开发工作量很大,用户体验较差。比如说,开发者需要开发出工具链a1-b1、工具链a2-b1、工具链a3-b1、工具链a1-b2、工具链a2-b2、工具链a3-b2。基于工具链a1-b1将深度学习模型110的表达方式a1调整为表达方式b1,基于工具链a2-b1将深度学习模型120的表达方式a2调整为表达方式b1,基于工具链a3-b1将深度学习模型130的表达方式a3调整为表达方式b1。基于工具链a1-b2将深度学习模型110的表达方式a1调整为表达方式b2,基于工具链a2-b2将深度学习模型120的表达方式a2调整为表达方式b2,基于工具链a3-b2将深度学习模型130的表达方式a3调整为表达方式b2。
显然,当训练平台的数量越多时,开发者需要开发的工具链越多,当硬件设备的数量越多时,开发者需要开发的工具链越多。比如说,当训练平台的数量为M,硬件设备的数量为N时,则开发者需要开发的工具链为M*N。
针对上述问题,本申请实施例中提出一种跨平台的通用深度学习模型表达和部署方法,可以提升跨训练平台以及跨硬件设备的部署效率,提升部署流程、部署工具链的通用性、泛化性,并提升深度学习模型性能的部署一致性。
参见图2所示,为采用深度学习模型实现人工智能处理的另一组网示意图,在图1的基础上,可以在训练平台与硬件设备之间部署中间设备30。
训练平台11训练出深度学习模型110,并将深度学习模型110发送给中间设备30,中间设备30将深度学习模型110转换为深度学习模型110’,并将深度学习模型110’转换为硬件设备21支持的深度学习模型110’-1,将深度学习模型110’-1部署到硬件设备21,以及将深度学习模型110’转换为硬件设备22支持的深度学习模型110’-2,将深度学习模型110’-2部署到硬件设备22。
训练平台12训练出深度学习模型120,并将深度学习模型120发送给中间设备30,中间设备30将深度学习模型120转换为深度学习模型120’,并将深度学习模型120’转换为硬件设备21支持的深度学习模型120’-1,将深度学习模型120’-1部署到硬件设备21,以及将深度学习模型120’转换为硬件设备22支持的深度学习模型120’-2,将深度学习模型120’-2部署到硬件设备22。
训练平台13训练出深度学习模型130,并将深度学习模型130发送给中间设备30,中间设备30将深度学习模型130转换为深度学习模型130’,并将深度学习模型130’转换为硬件设备21支持的深度学习模型130’-1,将深度学习模型130’-1部署到硬件设备21,以及将深度学习模型130’转换为硬件设备22支持的深度学习模型130’-2,将深度学习模型130’-2部署到硬件设备22。
上述过程中,中间设备30需要将深度学习模型110的表达方式a1调整为中间设备30支持的表达方式,记为表达方式c,得到深度学习模型110’,将深度学习模型110’的表达方式c调整为硬件设备21支持的表达方式b1,得到深度学习模型110’-1,将深度学习模型110’的表达方式c调整为硬件设备22支持的表达方式b2,得到深度学习模型110’-2。中间设备30需要将深度学习模型120的表达方式a2调整为中间设备30支持的表达方式c,得到深度学习模型120’,将深度学习模型120’的表达方式c调整为硬件设备21支持的表达方式b1,得到深度学习模型120’-1,将深度学习模型120’的表达方式c调整为硬件设备22支持的表达方式b2,得到深度学习模型120’-1。中间设备30需要将深度学习模型130的表达方式a3调整为中间设备30支持的表达方式c,得到深度学习模型130’,将深度学习模型130’的表达方式c调整为硬件设备21支持的表达方式b1,得到深度学习模型130’-1,将深度学习模型130’的表达方式c调整为硬件设备22支持的表达方式b2,得到深度学习模型130’-2。
综上所述,需要开发出工具链a1-c、工具链a2-c、工具链a3-c、工具链c-b1、工具链c-b2,基于工具链a1-c将深度学习模型110的表达方式a1调整为表达方式c,基于工具链a2-c将深度学习模型120的表达方式a2调整为表达方式c,基于工具链a3-c将深度学习模型130的表达方式a3调整为表达方式c。基于工具链c-b1将深度学习模型110’(深度学习模型120’和深度学习模型130’)的表达方式c调整为表达方式b1,基于工具链c-b2将深度学习模型110’(深度学习模型120’和深度学习模型130’)的表达方式c调整为表达方式b2。
从上述内容可以看出,不需要开发者针对不同训练平台和不同硬件设备分别进行工具链的开发,可以减少开发工作量,提高用户体验。比如说,当训练平台的数量为M,硬件设备的数量为N时,开发者需要开发的工具链为M+N,与M*N的工具链数量相比,需要开发的工具链的数量大大减少。
以下结合具体实施例,对本申请实施例的技术方案进行说明。
本申请实施例中提出一种数据处理方法,可以应用于中间设备,且中间设备位于训练平台与硬件设备之间,该训练平台用于训练深度学习模型,该硬件设备用于运行深度学习模型以实现数据处理,即实现人工智能处理。
硬件设备也可以称为硬件平台,可以为终端设备,如手机、摄像头、个人计算机、汽车等,对此硬件设备的类型不做限制,只要能够运行深度学习模型以实现数据处理即可。硬件设备可以为采用CPU(Central Processing Unit,中央处理器)的硬件设备、或采用GPU(Graphics Processing Unit,图形处理器)的硬件设备、或采用ARM(Advanced RISCMachines,高级精简指令集处理器)的硬件设备、或采用FPGA(Field Programmable GateArray,现场可编程逻辑门阵列)的硬件设备、或采用DSP(Digital Signal Process,数字信号处理)的硬件设备、或采用NPU(Neuralnetwork Processing Unit,网络处理器)的硬件设备。
训练平台是采用训练框架训练深度学习模型的设备,可以为基于Caffe训练框架的训练平台(即采用Caffe训练框架训练深度学习模型,Caffe的全称为ConvolutionalArchitecture for Fast Feature Embedding,快速特征嵌入的卷积结构,是兼具表达性、速度和思维模块化的深度学习框架)、或基于Pytorch训练框架的训练平台(即采用Pytorch训练框架训练深度学习模型)、或基于Tensorflow训练框架的训练平台(即采用Tensorflow训练框架训练深度学习模型),对此训练平台的类型不做限制,只要训练平台能够训练得到深度学习模型即可。
参见图3所示,为数据处理方法的流程示意图,该方法可以包括:
步骤301,获取至少一个训练平台训练的第一深度学习模型,每一训练平台训练的第一深度学习模型包括第一模型结构、第一模型参数、第一模型参数对应的参数值(即第一模型参数的取值为该第一模型参数对应的参数值);每一训练平台训练的第一深度学习模型中的第一模型结构的表达方式与该训练平台支持的模型结构表达方式相同,每一训练平台训练的第一深度学习模型中的第一模型参数的表达方式与该训练平台支持的模型参数表达方式相同。
比如说,中间设备30可以获取训练平台11训练的第一深度学习模型,即上述实施例的深度学习模型110,深度学习模型110包括第一模型结构、第一模型参数、第一模型参数对应的参数值。深度学习模型110中的第一模型结构的表达方式与训练平台11支持的模型结构表达方式相同,深度学习模型110中的第一模型参数的表达方式与训练平台11支持的模型参数表达方式相同。
同理,中间设备30可以获取训练平台12训练的第一深度学习模型,即上述实施例的深度学习模型120,深度学习模型120包括第一模型结构、第一模型参数、第一模型参数对应的参数值。深度学习模型120中的第一模型结构的表达方式与训练平台12支持的模型结构表达方式相同,深度学习模型120中的第一模型参数的表达方式与训练平台12支持的模型参数表达方式相同。
同理,中间设备30可以获取训练平台13训练的第一深度学习模型,即上述实施例的深度学习模型130,深度学习模型130包括第一模型结构、第一模型参数、第一模型参数对应的参数值。深度学习模型130中的第一模型结构的表达方式与训练平台13支持的模型结构表达方式相同,深度学习模型130中的第一模型参数的表达方式与训练平台13支持的模型参数表达方式相同。
步骤302,将每一训练平台训练的第一深度学习模型转换为第二深度学习模型,该第二深度学习模型包括第二模型结构、第二模型参数、第二模型参数对应的参数值(即第二模型参数的取值为该第二模型参数对应的参数值);该第二模型结构的表达方式与该中间设备支持的模型结构表达方式相同,该第二模型参数的表达方式与该中间设备支持的模型参数表达方式相同。
比如说,中间设备30将训练平台11训练的深度学习模型110转换为第二深度学习模型,即深度学习模型110’,深度学习模型110’包括第二模型结构、第二模型参数、第二模型参数对应的参数值。深度学习模型110’中的第二模型结构的表达方式与中间设备30支持的模型结构表达方式相同,深度学习模型110’中的第二模型参数的表达方式与中间设备30支持的模型参数表达方式相同。
同理,中间设备30将训练平台12训练的深度学习模型120转换为第二深度学习模型,即深度学习模型120’,深度学习模型120’包括第二模型结构、第二模型参数、第二模型参数对应的参数值。深度学习模型120’中的第二模型结构的表达方式与中间设备30支持的模型结构表达方式相同,深度学习模型120’中的第二模型参数的表达方式与中间设备30支持的模型参数表达方式相同。
同理,中间设备30将训练平台13训练的深度学习模型130转换为第二深度学习模型,即深度学习模型130’,深度学习模型130’包括第二模型结构、第二模型参数、第二模型参数对应的参数值。深度学习模型130’中的第二模型结构的表达方式与中间设备30支持的模型结构表达方式相同,深度学习模型130’中的第二模型参数的表达方式与中间设备30支持的模型参数表达方式相同。
在一种可能的实施方式中,将每一训练平台训练的第一深度学习模型转换为第二深度学习模型,可以包括:针对每一训练平台训练的第一深度学习模型,通过该第一深度学习模型中的第一模型结构查询已配置的第一映射关系,得到第二模型结构,通过该第一深度学习模型中的第一模型参数查询已配置的第二映射关系,得到第二模型参数。通过该第二模型结构替换第一深度学习模型中的第一模型结构,通过该第二模型参数替换第一深度学习模型中的第一模型参数,得到转换后的第二深度学习模型。示例性的,第一映射关系包括训练平台支持的模型结构表达方式的模型结构与中间设备支持的模型结构表达方式的模型结构之间的对应关系。第二映射关系包括训练平台支持的模型参数表达方式的模型参数与中间设备支持的模型参数表达方式的模型参数之间的对应关系。
例如,可以预先配置第一映射关系(上述实施例的工具链用于实现该功能),参见表1所示,为第一映射关系的示例。模型结构a1-11和模型结构a1-12表示训练平台11支持的模型结构表达方式的模型结构,模型结构c-11和模型结构c-12表示中间设备支持的模型结构表达方式的模型结构,模型结构a2-11和模型结构a2-12表示训练平台12支持的模型结构表达方式的模型结构,模型结构a3-11和模型结构a3-12表示训练平台13支持的模型结构表达方式的模型结构。
表1
训练平台支持的模型结构表达方式的模型结构 中间设备支持的模型结构表达方式的模型结构
模型结构a1-11 模型结构c-11
模型结构a1-12 模型结构c-12
模型结构a2-11 模型结构c-11
模型结构a2-12 模型结构c-12
模型结构a3-11 模型结构c-11
模型结构a3-12 模型结构c-12
例如,可以预先配置第二映射关系(上述实施例的工具链用于实现该功能),参见表2所示,为第二映射关系的示例。模型参数a1-21和模型参数a1-22表示训练平台11支持的模型参数表达方式的模型参数,模型参数c-21和模型参数c-22表示中间设备支持的模型参数表达方式的模型参数,模型参数a2-21和模型参数a2-22表示训练平台12支持的模型参数表达方式的模型参数,模型参数a3-21和模型参数a3-22表示训练平台13支持的模型参数表达方式的模型参数。
表2
Figure BDA0003093302220000121
Figure BDA0003093302220000131
基于第一映射关系和第二映射关系,中间设备30得到训练平台11训练的深度学习模型110后,通过深度学习模型110中的第一模型结构(需要对每个第一模型结构进行处理,以第一模型结构a1-11为例)查询第一映射关系,得到第二模型结构c-11,并通过深度学习模型110中的第一模型参数(需要对每个第一模型参数进行处理,以第一模型参数a1-21为例)查询第二映射关系,得到第二模型参数c-21。然后,通过第二模型结构c-11替换深度学习模型110中的第一模型结构a1-11,通过第二模型参数c-21替换深度学习模型110中的第一模型参数a1-21,得到转换后的深度学习模型110’,深度学习模型110’包括第二模型结构c-11、第二模型参数c-21、第二模型参数c-21对应的参数值,第二模型参数c-21对应的参数值与深度学习模型110中的第一模型参数a1-21对应的参数值可以相同。综上所述,深度学习模型110’中的第二模型结构c-11的表达方式与中间设备30支持的模型结构表达方式相同,深度学习模型110’中的第二模型参数c-21的表达方式与中间设备30支持的模型参数表达方式相同。
同理,基于第一映射关系和第二映射关系,中间设备30可以将训练平台12训练的深度学习模型120转换为深度学习模型120’,将训练平台13训练的深度学习模型130转换为深度学习模型130’,这些深度学习模型中的第二模型结构的表达方式与中间设备30支持的模型结构表达方式相同,这些深度学习模型中的第二模型参数的表达方式与中间设备30支持的模型参数表达方式相同。
步骤303,将第二深度学习模型转换为与硬件设备匹配的第三深度学习模型,该第三深度学习模型包括第三模型结构、第三模型参数、第三模型参数对应的参数值(即第三模型参数的取值为第三模型参数对应的参数值),该第三模型结构的表达方式与该硬件设备支持的模型结构表达方式相同,该第三模型参数的表达方式与该硬件设备支持的模型参数表达方式相同。
比如说,将深度学习模型110’转换为与硬件设备21匹配的第三深度学习模型k11,第三深度学习模型k11包括第三模型结构、第三模型参数、第三模型参数对应的参数值。第三深度学习模型k11的第三模型结构的表达方式与硬件设备21支持的模型结构表达方式相同,第三深度学习模型k11的第三模型参数的表达方式与硬件设备21支持的模型参数表达方式相同。同理,将深度学习模型120’转换为与硬件设备21匹配的第三深度学习模型k12,第三深度学习模型k12的第三模型结构的表达方式与硬件设备21支持的模型结构表达方式相同,第三深度学习模型k12的第三模型参数的表达方式与硬件设备21支持的模型参数表达方式相同。将深度学习模型130’转换为与硬件设备21匹配的第三深度学习模型k13,第三深度学习模型k13的第三模型结构的表达方式与硬件设备21支持的模型结构表达方式相同,第三深度学习模型k13的第三模型参数的表达方式与硬件设备21支持的模型参数表达方式相同。
比如说,将深度学习模型110’转换为与硬件设备22匹配的第三深度学习模型k21,第三深度学习模型k21的第三模型结构的表达方式与硬件设备22支持的模型结构表达方式相同,第三深度学习模型k21的第三模型参数的表达方式与硬件设备22支持的模型参数表达方式相同。同理,将深度学习模型120’转换为与硬件设备22匹配的第三深度学习模型k22,将深度学习模型130’转换为与硬件设备22匹配的第三深度学习模型k23。
在一种可能的实施方式中,将该第二深度学习模型转换为与硬件设备匹配的第三深度学习模型,可以包括:通过该第二深度学习模型中的第二模型结构查询已配置的第三映射关系,得到第三模型结构,通过该第二深度学习模型中的第二模型参数查询已配置的第四映射关系,得到第三模型参数;通过该第三模型结构替换该第二深度学习模型中的第二模型结构,并通过该第三模型参数替换该第二深度学习模型中的第二模型参数,得到转换后的第三深度学习模型。
示例性的,该第三映射关系可以包括中间设备支持的模型结构表达方式的模型结构与硬件设备支持的模型结构表达方式的模型结构之间的对应关系;该第四映射关系可以包括中间设备支持的模型参数表达方式的模型参数与硬件设备支持的模型参数表达方式的模型参数之间的对应关系。
例如,可以预先配置第三映射关系(上述实施例的工具链用于实现该功能),参见表3所示,是为硬件设备21配置的第三映射关系的示例。参见表4所示,是为硬件设备22配置的第三映射关系的示例。模型结构b1-11和模型结构b1-12表示硬件设备21支持的模型结构表达方式的模型结构,模型结构b2-11和模型结构b2-12表示硬件设备22支持的模型结构表达方式的模型结构,模型结构c-11和模型结构c-12表示中间设备支持的模型结构表达方式的模型结构。当然,在实际应用中,表3和表4的内容还可以合并为同一个表格,对此不做限制。
表3
中间设备支持的模型结构表达方式的模型结构 硬件设备支持的模型结构表达方式的模型结构
模型结构c-11 模型结构b1-11
模型结构c-12 模型结构b1-12
表4
中间设备支持的模型结构表达方式的模型结构 硬件设备支持的模型结构表达方式的模型结构
模型结构c-11 模型结构b2-11
模型结构c-12 模型结构b2-12
例如,可以预先配置第四映射关系(上述实施例的工具链用于实现该功能),参见表5所示,是为硬件设备21配置的第四映射关系的示例。参见表6所示,是为硬件设备22配置的第四映射关系的示例。模型参数b1-21和模型参数b1-22表示硬件设备21支持的模型参数表达方式的模型参数,模型参数b2-21和模型参数b2-22表示硬件设备22支持的模型参数表达方式的模型参数,模型参数c-21和模型参数c-22表示中间设备支持的模型参数表达方式的模型参数。当然,在实际应用中,表5和表6的内容还可以合并为同一个表格,对此不做限制。
表5
Figure BDA0003093302220000151
Figure BDA0003093302220000161
表6
中间设备支持的模型参数表达方式的模型参数 硬件设备支持的模型参数表达方式的模型参数
模型参数c-21 模型参数b2-21
模型参数c-22 模型参数b2-22
基于表3所示的第三映射关系和表5所示的第四映射关系,中间设备30得到深度学习模型110’后,通过深度学习模型110’中的第二模型结构c-11查询表3,得到第三模型结构b1-11,并通过深度学习模型110’中的第二模型参数c-21查询表5,得到第三模型参数b1-21。然后,通过b1-11替换深度学习模型110’中的c-11,通过b1-21替换深度学习模型110’中的c-21,得到第三深度学习模型k11。第三深度学习模型k11包括第三模型结构b1-11、第三模型参数b1-21、第三模型参数b1-21对应的参数值,第三模型参数b1-21对应的参数值与深度学习模型110’中的第二模型参数c-21对应的参数值可以相同。
同理,中间设备30可以将深度学习模型120’转换为第三深度学习模型k12,并将深度学习模型130’转换为第三深度学习模型k13,在此不再赘述。
基于表4所示的第三映射关系和表6所示的第四映射关系,中间设备30得到深度学习模型110’后,通过深度学习模型110’中的第二模型结构c-11查询表4,得到第三模型结构b2-11,并通过深度学习模型110’中的第二模型参数c-21查询表6,得到第三模型参数b2-21。然后,通过b2-11替换深度学习模型110’中的c-11,通过b2-21替换深度学习模型110’中的c-21,得到第三深度学习模型k21。同理,中间设备30可以将深度学习模型120’转换为第三深度学习模型k22,并将深度学习模型130’转换为第三深度学习模型k23。
步骤304,将该第三深度学习模型发送给硬件设备,以使硬件设备运行该第三深度学习模型,并通过该第三深度学习模型实现数据处理。比如说,硬件设备部署并运行第三深度学习模型,通过第三深度学习模型对输入数据进行数据处理,以实现人工智能处理,对此人工智能处理过程不做限制。
比如说,可以将与硬件设备21匹配的第三深度学习模型(如第三深度学习模型k11、第三深度学习模型k12、第三深度学习模型k13)发送给硬件设备21,并将与硬件设备22匹配的第三深度学习模型(如第三深度学习模型k21、第三深度学习模型k22、第三深度学习模型k23)发送给硬件设备22。
示例性的,上述执行顺序只是为了方便描述给出的示例,在实际应用中,还可以改变步骤之间的执行顺序,对此执行顺序不做限制。而且,在其它实施例中,并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其它实施例中可能被分解为多个步骤进行描述;本说明书中所描述的多个步骤,在其它实施例也可能被合并为单个步骤进行描述。
由以上技术方案可见,本申请实施例中,不需要开发者针对不同训练平台和不同硬件设备分别进行工具链的开发,实现跨训练平台通用的深度学习模型的表达方式,提升跨训练平台以及跨硬件设备的部署效率,并提升部署流程,提升深度学习模型的性能一致性,减少开发工作量,提高用户体验,对于深度学习模型在不同硬件设备的部署具有通用性和泛化性。将不同训练平台下的深度学习模型,根据预设的跨平台统一表达方式转换成统一表达,统一模型接口。
在一种可能的实施方式中,针对步骤302,在将每一训练平台训练的第一深度学习模型转换为第二深度学习模型的过程中,除了将第一深度学习模型中的第一模型结构转换为第二模型结构,将第一深度学习模型中的第一模型参数转换为第二模型参数,转换过程可以参见上述实施例,还可以包括以下情况:
情况一、第一模型参数对应的参数值为浮点型参数值,第二模型参数对应的参数值为定点型参数值,在此情况下,可以将第一模型参数对应的浮点型参数值转换为定点型参数值,具体转换过程不再赘述,并将转换后的定点型参数值确定为第二深度学习模型中的第二模型参数对应的参数值。
比如说,第一深度学习模型的第一模型参数a1-21对应的参数值为S1,S1为浮点型参数值(即浮点型数据),将参数值S1转换为定点型参数值,如S2,即定点型数据,第二深度学习模型的第二模型参数c-21对应的参数值为S2。
示例性的,将第一模型参数对应的浮点型参数值转换为定点型参数值,实际上是针对深度学习模型的量化处理,也称为深度学习模型的定点化。
深度学习模型的量化处理,是一种深度学习模型加速算法,通过将深度学习模型的浮点型(float)参数值定点化成固定比特数值(即定点型参数值),如8bit、4bit的定点型参数值,可以减少深度学习模型的计算代价、数据带宽和存储空间,使得深度学习模型能够在内存和计算能力有限的硬件设备上更快更好的应用。例如,深度学习模型包括大量参数值,若这些参数值是浮点数类型,浮点数类型的参数值会占用大量存储空间,浮点数类型的参数值的运算会消耗大量计算资源,如果在不影响准确率的情况下,可以采用定点数类型的参数值进行计算,则能够提高计算速度,节约计算资源,节省存储空间,由此引入量化技术,量化即通过减少表示每个权重所需的比特数来压缩深度学习模型,基于量化技术,能够将浮点数类型的参数值转换为定点数类型的参数值。
综上所述,针对步骤303,中间设备将第二深度学习模型转换为第三深度学习模型时,第二模型参数对应的参数值为定点型参数值,而不是浮点型参数值,即,将转换后的定点型参数值的第二深度学习模型转换为第三深度学习模型。
情况二、第一模型参数对应的参数值为定点型参数值,第二模型参数对应的参数值为定点型参数值,且第一模型参数对应的参数值与第二模型参数对应的参数值相同,在此情况下,可以将第一模型参数对应的参数值确定为第二深度学习模型中的第二模型参数对应的参数值,即二者为相同。
比如说,第一深度学习模型的第一模型参数a1-21对应的参数值为定点型参数值S1,将S1作为第二深度学习模型的第二模型参数c-21对应的参数值。
情况三、第一模型参数对应的参数值为定点型参数值,第二模型参数对应的参数值也为定点型参数值,但是,第一模型参数对应的参数值与第二模型参数对应的参数值不同,在此情况下,可以将第一模型参数对应的定点型参数值转换为另一个定点型参数值,转换后的定点型参数值的比特数少于转换前的定点型参数值的比特数,具体转换过程在此不再赘述,并将转换后的定点型参数值确定为第二深度学习模型中的第二模型参数对应的参数值。
比如说,第一深度学习模型的第一模型参数a1-21对应的参数值为S1,S1为定点型参数值,将参数值S1转换为另一个定点型参数值,如S2,第二深度学习模型的第二模型参数c-21对应的参数值为S2。定点型参数值S2的比特数小于定点型参数值S1的比特数,比如说,S1的比特数为16bit,S2的比特数为8bit或4bit,或者,S1的比特数为8bit,S2的比特数为4bit。
在一种可能的实施方式中,针对情况一和情况三(后续以情况一为例,情况三的实现过程类似)来说,将第一模型参数对应的浮点型参数值转换为第二模型参数对应的定点型参数值之后,还可以确定该浮点型参数值与该定点型参数值之间的转换信息,该转换信息用于表示如何将浮点型参数值转换为定点型参数值,即浮点型参数值与定点型参数值之间的转换策略或者转换方式。
示例性的,该转换信息可以包括但不限于以下至少一种:定点化参数(即与定点型参数值对应的定点化参数)、定点化参数的类型(即该定点化参数的类型)、定点化计算方式(即将浮点型参数值转换为定点型参数值的计算方式)。
比如说,第一模型参数对应的浮点型参数值为0.5,第二模型参数对应的定点型参数值为10(假设定点型参数值的取值范围是-128到127),则:定点化参数为0.05,定点化参数的类型为缩放因子,定点化计算方式为定点型参数值*缩放因子,显然,定点型参数值10*缩放因子0.05,就是浮点型参数值0.5。
当然,上述只是定点化参数、定点化参数的类型和定点化计算方式的示例,对此定点化参数、定点化参数的类型和定点化计算方式不做限制,只要基于定点化参数、定点化参数的类型和定点化计算方式,能够获知如何将第一模型参数对应的浮点型参数值转换为第二模型参数对应的定点型参数值即可。
针对步骤303,中间设备将第二深度学习模型转换为第三深度学习模型时,第二深度学习模型可以包括第二模型结构、第二模型参数、及第二模型参数对应的定点型参数值。除了上述内容,在该第二深度学习模型中,还可以包括浮点型参数值与定点型参数值之间的转换信息,如定点化参数、定点化参数的类型、定点化计算方式等,即将上述第二深度学习模型转换为第三深度学习模型。
在一种可能的实施方式中,中间设备将第二深度学习模型转换为第三深度学习模型时,将第二模型结构转换为第三模型结构,将第二模型参数转换为第三模型参数,且保持第二深度学习模型中的转换信息不变,保持第二深度学习模型中的定点型参数值不变(即第二模型参数对应的定点型参数值作为第三模型参数对应的定点型参数值),得到第三深度学习模型。当然,上述只是一个示例,对此转换不做限制,只要将第二深度学习模型转换为硬件设备能够运行的第三深度学习模型即可。
硬件设备在得到输入数据后,可以将输入数据输入给第三深度学习模型,第三深度学习模型基于转换信息对输入数据进行转换,如基于转换信息将浮点型的输入数据转换为定点型的输入数据,并对转换后的输入数据进行处理。
第三深度学习模型的处理过程中,均是对定点型的数据特征进行处理,在处理过程中,就需要使用转换信息将数据特征转换为定点型的数据特征,并对转换后的数据特征进行处理,对此转换过程和处理过程不做限制。
当然,上述只是第三深度学习模型利用转换信息进行处理的示例,对此不做限制,与第三深度学习模型的结构和功能有关,本实施例不再赘述。
在另一种可能的实施方式中,中间设备将第二深度学习模型转换为第三深度学习模型时,还可以对第二深度学习模型中的转换信息进行调整,并将调整后的第二深度学习模型转换为第三深度学习模型,即,对第二深度学习模型中的转换信息进行调整,将第二模型结构转换为第三模型结构,将第二模型参数转换为第三模型参数,保持第二深度学习模型中的定点型参数值不变(即第二模型参数对应的定点型参数值作为第三模型参数对应的定点型参数值),得到第三深度学习模型。当然,上述只是一个示例,对此转换不做限制,只要将第二深度学习模型转换为硬件设备能够运行的第三深度学习模型即可。
中间设备对第二深度学习模型中的转换信息进行调整时,可以调整定点化参数,且保持定点化参数的类型和定点化计算方式不变,当然,中间设备也可以调整定点化参数的类型和/或定点化计算方式,对此不做限制。
在调整定点化参数时,中间设备可以对定点化参数进行截断处理,或将定点化参数调整到指定区间,对此定点化参数的调整方式不做限制。
硬件设备在得到输入数据后,可以将输入数据输入给第三深度学习模型,第三深度学习模型基于调整后的转换信息对输入数据进行转换,并对转换后的输入数据进行处理。第三深度学习模型的处理过程中,可以使用调整后的转换信息将数据特征转换为定点型的数据特征,并对转换后的数据特征进行处理。
示例性的,第三深度学习模型会根据硬件设备的特性,将第二深度学习模型中的转换信息(如定点化参数、定点化参数的类型、定点化计算方式),转换成硬件设备实际计算所需要的信息,这里的转换可能包括:定点化参数的数据类型的转换、根据数学公式做的定点化参数合并等,对此转换过程不做限制。
在一种可能的实施方式中,针对步骤302的情况一来说,在将转换后的定点型参数值确定为第二深度学习模型中的第二模型参数对应的参数值之后,还可以获取训练数据集,该训练数据集至少可以包括多个训练数据以及每个训练数据对应的标签信息。然后,可以基于该训练数据集对第二深度学习模型进行调优操作,得到优化后的第二深度学习模型,也就是说,基于该训练数据集重新对第二深度学习模型进行训练,得到训练后的第二深度学习模型,对此第二深度学习模型的训练过程,本实施例中不做限制,只要训练后的第二深度学习模型的性能优于训练前的第二深度学习模型的性能即可。
当然,还可以对第二深度学习模型进行其它类型的调优操作,对此调优操作的类型不做限制,调优操作用于提升第二深度学习模型的性能。
针对步骤303,中间设备是将优化后的第二深度学习模型转换为与硬件设备匹配的第三深度学习模型,也就是,将性能得到提升的第二深度学习模型转换为与硬件设备匹配的第三深度学习模型,对此转换过程不再赘述。
由以上技术方案可见,本申请实施例中,通过在第三深度学习模型中添加模型部署所需的信息,如定点化参数、定点化参数的类型、定点化计算方式等,使得不同硬件设备可以从第三深度学习模型中获取到部署所需的参数,不需要对深度学习模型进行重新量化即可实现快速部署。对深度学习模型的压缩、定点化以及调优工作是在中间设备上进行,有助于提升深度学习模型在不同硬件设备部署的性能(准确性)一致性,减少性能问题排查及性能调优的工作量。
在上述实施例中,模型结构是深度学习模型的网络拓扑结构,包含该深度学习模型前向推理所需要的算子(操作,如卷积等)类型、算子数量以及算子的连接关系等。模型参数是深度学习模型中算子的属性信息,如卷积层的输出通道数、卷积核的大小、卷积的权值等。模型参数对应的参数值就是该模型参数的具体值,这些参数值在深度学习模型训练完成之后就会保持固定不会再发生变动,而深度学习模型的训练过程,就是训练出合理的参数值。
在上述实施例中,在将第一深度学习模型转换为第二深度学习模型时,第一深度学习模型的表达方式与第二深度学习模型的表达方式之间的差异包括:
编程语言差异,即训练平台支持的编程语言q1(即表达方式)与中间设备支持的编程语言q2(即表达方式)之间的差异。比如说,训练平台训练的第一深度学习模型中,采用编程语言q1表示算子类型、算子数量以及算子连接关系等模型结构,并采用编程语言q1表示卷积层的输出通道数、卷积核的大小、卷积的权值等模型参数。中间设备转换后的第二深度学习模型中,采用编程语言q2表示算子类型、算子数量以及算子连接关系等模型结构,并采用编程语言q2表示卷积层的输出通道数、卷积核的大小、卷积的权值等模型参数。
算子实现方式的差异:即训练平台支持的算子实现方式p1(即表达方式)与中间设备支持的算子实现方式p2(即表达方式)之间的差异。
a、第一深度学习模型的1个算子对应第二深度学习模型的1个算子,输入类型、输出类型及功能相同,但是算子的代码实现方式不同;比如说,训练平台训练的第一深度学习模型中,针对某个功能来说,通过1个算子的模型结构实现该功能,中间设备转换后的第二深度学习模型中,针对该功能来说,也通过1个算子的模型结构实现该功能。综上所述,训练平台支持的算子实现方式p1与中间设备支持的算子实现方式p2均是通过1个算子的模型结构实现某功能。
b、第一深度学习模型的1个算子对应第二深度学习模型的多个算子的组合,总体的输入类型、输出类型及功能相同;比如说,训练平台训练的第一深度学习模型中,针对某个功能来说,通过1个算子的模型结构实现该功能,中间设备转换后的第二深度学习模型中,针对该功能来说,需要通过多个算子的模型结构实现该功能。综上所述,训练平台支持的算子实现方式p1是通过1个算子的模型结构实现某功能,而中间设备支持的算子实现方式p2是通过多个算子的模型结构实现某功能。
c、第一深度学习模型的多个算子的组合对应第二深度学习模型的1个算子,总体的输入类型、输出类型及功能相同;比如说,训练平台训练的第一深度学习模型中,针对某个功能来说,通过多个算子的模型结构实现该功能,中间设备转换后的第二深度学习模型中,针对该功能来说,需要通过1个算子的模型结构实现该功能。综上所述,训练平台支持的算子实现方式p1是通过多个算子的模型结构实现某功能,而中间设备支持的算子实现方式p2是通过1个算子的模型结构实现某功能。
当然,上述编程语言和算子实现方式只是表达方式的两个示例,对此表达方式的类型不做限制,表达方式用于表示如何表达深度学习模型中的模型结构和模型参数,比如说,针对算子类型等模型结构,采用何种方式表达,使得训练平台能够识别该模型结构,这个表达方式就是训练平台支持的表达方式,针对算子类型这个模型结构,采用何种方式表达,使得中间设备能够识别该模型结构,这个表达方式就是中间设备支持的表达方式。同理,针对卷积核的大小等模型参数,采用何种方式表达,使得训练平台能够识别该模型参数,这个表达方式就是训练平台支持的表达方式,采用何种方式表达,使得中间设备能够识别该模型参数,这个表达方式就是中间设备支持的表达方式。
第一深度学习模型可以通过映射关系,转换到第二深度学习模型,这两个模型的总体功能会保持一致,但是存在上面表达方式的差异。
在上述实施例中,在将第二深度学习模型转换为第三深度学习模型时,第二深度学习模型的表达方式与第三深度学习模型的表达方式之间的差异包括:
编程语言差异,即中间设备支持的编程语言q2(即表达方式)与硬件设备支持的编程语言q3(即表达方式)之间的差异。比如说,中间设备转换后的第二深度学习模型中,采用编程语言q2表示模型结构,并采用编程语言q2表示模型参数。中间设备转换后的第三深度学习模型中,采用编程语言q3表示模型结构,并采用编程语言q3表示模型参数。
算子实现方式的差异:即中间设备支持的算子实现方式p2(即表达方式)与硬件设备支持的算子实现方式p3(即表达方式)之间的差异。
a、第二深度学习模型的1个算子对应第三深度学习模型的1个算子,输入类型、输出类型及功能相同,但是算子的代码实现方式不同;b、第二深度学习模型的1个算子对应第三深度学习模型的多个算子的组合,总体的输入类型、输出类型及功能相同;c、第二深度学习模型的多个算子的组合对应第三深度学习模型的1个算子,总体的输入类型、输出类型及功能相同。
第二深度学习模型可以通过映射关系,转换到第三深度学习模型,这两个模型的总体功能会保持一致,但是存在上面表达方式的差异。
基于与上述方法同样的申请构思,本申请实施例中还提出一种数据处理装置,应用于中间设备,所述中间设备位于训练平台与硬件设备之间,所述训练平台用于训练深度学习模型,所述硬件设备用于运行深度学习模型以实现数据处理,如图4所示,为所述装置的结构图,所述装置包括:获取模块41,用于获取至少一个训练平台训练的第一深度学习模型,每一训练平台训练的第一深度学习模型包括第一模型结构、第一模型参数;每一训练平台训练的第一深度学习模型中的第一模型结构的表达方式与该训练平台支持的模型结构表达方式相同,每一训练平台训练的第一深度学习模型中的第一模型参数的表达方式与该训练平台支持的模型参数表达方式相同;
处理模块42,用于将每一训练平台训练的第一深度学习模型转换为第二深度学习模型,第二深度学习模型包括第二模型结构、第二模型参数;第二模型结构的表达方式与中间设备支持的模型结构表达方式相同,第二模型参数的表达方式与中间设备支持的模型参数表达方式相同;
以及,将该第二深度学习模型转换为与硬件设备匹配的第三深度学习模型,该第三深度学习模型包括第三模型结构、第三模型参数,该第三模型结构的表达方式与该硬件设备支持的模型结构表达方式相同,该第三模型参数的表达方式与该硬件设备支持的模型参数表达方式相同;
发送模块43,用于将该第三深度学习模型发送给该硬件设备,以使该硬件设备运行该第三深度学习模型,并通过该第三深度学习模型实现数据处理。
示例性的,所述处理模块42将每一训练平台训练的第一深度学习模型转换为第二深度学习模型时具体用于:针对每一训练平台训练的第一深度学习模型,通过该第一深度学习模型中的第一模型结构查询第一映射关系,得到第二模型结构,通过该第一深度学习模型中的第一模型参数查询第二映射关系,得到第二模型参数;通过该第二模型结构替换该第一深度学习模型中的第一模型结构,通过该第二模型参数替换该第一深度学习模型中的第一模型参数,得到转换后的第二深度学习模型;其中,所述第一映射关系包括训练平台支持的模型结构表达方式的模型结构与中间设备支持的模型结构表达方式的模型结构之间的对应关系;所述第二映射关系包括训练平台支持的模型参数表达方式的模型参数与中间设备支持的模型参数表达方式的模型参数之间的对应关系;
第一深度学习模型中还包括第一模型参数对应的参数值,第二深度学习模型中还包括第二模型参数对应的参数值;其中,所述第一模型参数对应的参数值为浮点型参数值或者定点型参数值;所述第二模型参数对应的参数值为定点型参数值;所述处理模块42将每一训练平台训练的第一深度学习模型转换为第二深度学习模型时具体用于:若所述第一模型参数对应的参数值为浮点型参数值,则将所述第一模型参数对应的浮点型参数值转换为定点型参数值,并将转换后的定点型参数值确定为第二深度学习模型中的第二模型参数对应的参数值;或者,若所述第一模型参数对应的参数值为定点型参数值,则将所述第一模型参数对应的参数值确定为第二深度学习模型中的第二模型参数对应的参数值。
基于与上述方法同样的申请构思,本申请实施例提出一种中间设备,中间设备位于训练平台与硬件设备之间,训练平台用于训练深度学习模型,硬件设备用于运行深度学习模型以实现数据处理,本申请实施例提供的中间设备,从硬件层面而言,硬件架构示意图可以参见图5所示。中间设备包括处理器51和机器可读存储介质52,机器可读存储介质52存储有能够被处理器51执行的机器可执行指令;处理器51用于执行机器可执行指令,以实现本申请上述示例公开的方法。例如,处理器51用于执行机器可执行指令,以实现如下步骤:
获取至少一个训练平台训练的第一深度学习模型,每一训练平台训练的第一深度学习模型包括第一模型结构、第一模型参数;每一训练平台训练的第一深度学习模型中的第一模型结构的表达方式与该训练平台支持的模型结构表达方式相同,每一训练平台训练的第一深度学习模型中的第一模型参数的表达方式与该训练平台支持的模型参数表达方式相同;
将每一训练平台训练的第一深度学习模型转换为第二深度学习模型,该第二深度学习模型包括第二模型结构、第二模型参数;该第二模型结构的表达方式与该中间设备支持的模型结构表达方式相同,该第二模型参数的表达方式与该中间设备支持的模型参数表达方式相同;
将该第二深度学习模型转换为与硬件设备匹配的第三深度学习模型,该第三深度学习模型包括第三模型结构、第三模型参数,该第三模型结构的表达方式与该硬件设备支持的模型结构表达方式相同,该第三模型参数的表达方式与该硬件设备支持的模型参数表达方式相同;
将该第三深度学习模型发送给该硬件设备,以使该硬件设备运行该第三深度学习模型,并通过该第三深度学习模型实现数据处理。
基于与上述方法同样的申请构思,本申请实施例还提供一种机器可读存储介质,其中,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被处理器执行时,能够实现本申请上述示例公开的方法。
示例性的,上述机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种数据处理方法,其特征在于,应用于中间设备,所述中间设备位于训练平台与硬件设备之间,所述训练平台用于训练深度学习模型,所述硬件设备用于运行深度学习模型以实现数据处理,所述方法包括:
获取至少一个训练平台训练的第一深度学习模型,每一训练平台训练的第一深度学习模型包括第一模型结构、第一模型参数;每一训练平台训练的第一深度学习模型中的第一模型结构的表达方式与该训练平台支持的模型结构表达方式相同,每一训练平台训练的第一深度学习模型中的第一模型参数的表达方式与该训练平台支持的模型参数表达方式相同;
将每一训练平台训练的第一深度学习模型转换为第二深度学习模型,该第二深度学习模型包括第二模型结构、第二模型参数;该第二模型结构的表达方式与该中间设备支持的模型结构表达方式相同,该第二模型参数的表达方式与该中间设备支持的模型参数表达方式相同;
将该第二深度学习模型转换为与硬件设备匹配的第三深度学习模型,该第三深度学习模型包括第三模型结构、第三模型参数,该第三模型结构的表达方式与该硬件设备支持的模型结构表达方式相同,该第三模型参数的表达方式与该硬件设备支持的模型参数表达方式相同;
将该第三深度学习模型发送给该硬件设备,以使该硬件设备运行该第三深度学习模型,并通过该第三深度学习模型实现数据处理。
2.根据权利要求1所述的方法,其特征在于,所述将每一训练平台训练的第一深度学习模型转换为第二深度学习模型,包括:
针对每一训练平台训练的第一深度学习模型,通过该第一深度学习模型中的第一模型结构查询第一映射关系,得到第二模型结构,通过该第一深度学习模型中的第一模型参数查询第二映射关系,得到第二模型参数;通过该第二模型结构替换该第一深度学习模型中的第一模型结构,通过该第二模型参数替换该第一深度学习模型中的第一模型参数,得到转换后的第二深度学习模型;
其中,所述第一映射关系包括训练平台支持的模型结构表达方式的模型结构与中间设备支持的模型结构表达方式的模型结构之间的对应关系;
所述第二映射关系包括训练平台支持的模型参数表达方式的模型参数与中间设备支持的模型参数表达方式的模型参数之间的对应关系。
3.根据权利要求1所述的方法,其特征在于,第一深度学习模型中还包括第一模型参数对应的参数值,第二深度学习模型中还包括第二模型参数对应的参数值;其中,所述第一模型参数对应的参数值为浮点型参数值或者定点型参数值;所述第二模型参数对应的参数值为定点型参数值;
将每一训练平台训练的第一深度学习模型转换为第二深度学习模型,包括:
若所述第一模型参数对应的参数值为浮点型参数值,则将所述第一模型参数对应的浮点型参数值转换为定点型参数值,并将转换后的定点型参数值确定为第二深度学习模型中的第二模型参数对应的参数值;或者,
若所述第一模型参数对应的参数值为定点型参数值,则将所述第一模型参数对应的参数值确定为第二深度学习模型中的第二模型参数对应的参数值。
4.根据权利要求3所述的方法,其特征在于,所述将转换后的定点型参数值确定为第二深度学习模型中的第二模型参数对应的参数值之后,还包括:
获取训练数据集,所述训练数据集至少包括多个训练数据以及每个训练数据对应的标签信息;基于所述训练数据集对所述第二深度学习模型进行调优操作,得到优化后的第二深度学习模型;其中,所述中间设备是将所述优化后的第二深度学习模型转换为与硬件设备匹配的第三深度学习模型。
5.根据权利要求3所述的方法,其特征在于,所述将所述第一模型参数对应的浮点型参数值转换为定点型参数值之后,所述方法还包括:
确定浮点型参数值与定点型参数值之间的转换信息,所述转换信息包括以下至少一种:定点化参数、定点化参数的类型、定点化计算方式;
其中,所述中间设备是将包括所述转换信息的第二深度学习模型转换为与硬件设备匹配的第三深度学习模型。
6.根据权利要求1所述的方法,其特征在于,所述将该第二深度学习模型转换为与硬件设备匹配的第三深度学习模型,包括:
通过该第二深度学习模型中的第二模型结构查询已配置的第三映射关系,得到第三模型结构,通过该第二深度学习模型中的第二模型参数查询已配置的第四映射关系,得到第三模型参数;通过该第三模型结构替换该第二深度学习模型中的第二模型结构,通过该第三模型参数替换该第二深度学习模型中的第二模型参数,得到转换后的第三深度学习模型;
其中,所述第三映射关系包括中间设备支持的模型结构表达方式的模型结构与该硬件设备支持的模型结构表达方式的模型结构之间的对应关系;所述第四映射关系包括中间设备支持的模型参数表达方式的模型参数与该硬件设备支持的模型参数表达方式的模型参数之间的对应关系。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述硬件设备为采用CPU的硬件设备、或采用GPU的硬件设备、或采用ARM的硬件设备、或采用FPGA的硬件设备、或采用DSP的硬件设备、或采用NPU的硬件设备;
所述训练平台为基于Caffe训练框架的训练平台、或基于Pytorch训练框架的训练平台、或基于Tensorflow训练框架的训练平台。
8.一种数据处理装置,其特征在于,应用于中间设备,所述中间设备位于训练平台与硬件设备之间,所述训练平台用于训练深度学习模型,所述硬件设备用于运行深度学习模型以实现数据处理,所述装置包括:
获取模块,用于获取至少一个训练平台训练的第一深度学习模型,每一训练平台训练的第一深度学习模型包括第一模型结构、第一模型参数;每一训练平台训练的第一深度学习模型中的第一模型结构的表达方式与该训练平台支持的模型结构表达方式相同,每一训练平台训练的第一深度学习模型中的第一模型参数的表达方式与该训练平台支持的模型参数表达方式相同;
处理模块,用于将每一训练平台训练的第一深度学习模型转换为第二深度学习模型,第二深度学习模型包括第二模型结构、第二模型参数;第二模型结构的表达方式与中间设备支持的模型结构表达方式相同,第二模型参数的表达方式与中间设备支持的模型参数表达方式相同;
以及,将该第二深度学习模型转换为与硬件设备匹配的第三深度学习模型,该第三深度学习模型包括第三模型结构、第三模型参数,该第三模型结构的表达方式与该硬件设备支持的模型结构表达方式相同,该第三模型参数的表达方式与该硬件设备支持的模型参数表达方式相同;
发送模块,用于将该第三深度学习模型发送给该硬件设备,以使该硬件设备运行该第三深度学习模型,并通过该第三深度学习模型实现数据处理。
9.根据权利要求8所述的装置,其特征在于,所述处理模块将每一训练平台训练的第一深度学习模型转换为第二深度学习模型时具体用于:
针对每一训练平台训练的第一深度学习模型,通过该第一深度学习模型中的第一模型结构查询第一映射关系,得到第二模型结构,通过该第一深度学习模型中的第一模型参数查询第二映射关系,得到第二模型参数;通过该第二模型结构替换该第一深度学习模型中的第一模型结构,通过该第二模型参数替换该第一深度学习模型中的第一模型参数,得到转换后的第二深度学习模型;
其中,所述第一映射关系包括训练平台支持的模型结构表达方式的模型结构与中间设备支持的模型结构表达方式的模型结构之间的对应关系;
所述第二映射关系包括训练平台支持的模型参数表达方式的模型参数与中间设备支持的模型参数表达方式的模型参数之间的对应关系;
第一深度学习模型中还包括第一模型参数对应的参数值,第二深度学习模型中还包括第二模型参数对应的参数值;其中,所述第一模型参数对应的参数值为浮点型参数值或者定点型参数值;所述第二模型参数对应的参数值为定点型参数值;所述处理模块将每一训练平台训练的第一深度学习模型转换为第二深度学习模型时具体用于:若所述第一模型参数对应的参数值为浮点型参数值,则将所述第一模型参数对应的浮点型参数值转换为定点型参数值,并将转换后的定点型参数值确定为第二深度学习模型中的第二模型参数对应的参数值;或者,若所述第一模型参数对应的参数值为定点型参数值,则将所述第一模型参数对应的参数值确定为第二深度学习模型中的第二模型参数对应的参数值。
10.一种中间设备,其特征在于,所述中间设备位于训练平台与硬件设备之间,所述训练平台用于训练深度学习模型,所述硬件设备用于运行深度学习模型以实现数据处理,所述间设备包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;
所述处理器用于执行机器可执行指令,以实现如下的步骤:
获取至少一个训练平台训练的第一深度学习模型,每一训练平台训练的第一深度学习模型包括第一模型结构、第一模型参数;每一训练平台训练的第一深度学习模型中的第一模型结构的表达方式与该训练平台支持的模型结构表达方式相同,每一训练平台训练的第一深度学习模型中的第一模型参数的表达方式与该训练平台支持的模型参数表达方式相同;
将每一训练平台训练的第一深度学习模型转换为第二深度学习模型,该第二深度学习模型包括第二模型结构、第二模型参数;该第二模型结构的表达方式与该中间设备支持的模型结构表达方式相同,该第二模型参数的表达方式与该中间设备支持的模型参数表达方式相同;
将该第二深度学习模型转换为与硬件设备匹配的第三深度学习模型,该第三深度学习模型包括第三模型结构、第三模型参数,该第三模型结构的表达方式与该硬件设备支持的模型结构表达方式相同,该第三模型参数的表达方式与该硬件设备支持的模型参数表达方式相同;
将该第三深度学习模型发送给该硬件设备,以使该硬件设备运行该第三深度学习模型,并通过该第三深度学习模型实现数据处理。
CN202110602261.0A 2021-05-31 2021-05-31 一种数据处理方法、装置及设备 Active CN113222121B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110602261.0A CN113222121B (zh) 2021-05-31 2021-05-31 一种数据处理方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110602261.0A CN113222121B (zh) 2021-05-31 2021-05-31 一种数据处理方法、装置及设备

Publications (2)

Publication Number Publication Date
CN113222121A true CN113222121A (zh) 2021-08-06
CN113222121B CN113222121B (zh) 2023-08-29

Family

ID=77081748

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110602261.0A Active CN113222121B (zh) 2021-05-31 2021-05-31 一种数据处理方法、装置及设备

Country Status (1)

Country Link
CN (1) CN113222121B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115081628A (zh) * 2022-08-15 2022-09-20 浙江大华技术股份有限公司 一种深度学习模型适配度的确定方法及装置

Citations (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101334857A (zh) * 2007-06-26 2008-12-31 索尼株式会社 信息处理设备、信息处理方法和程序
US20160012352A1 (en) * 2014-06-27 2016-01-14 Huawei Technologies Co., Ltd. Data Processing Method and Computer System
CN107423817A (zh) * 2017-04-17 2017-12-01 星环信息科技(上海)有限公司 一种深度学习实现的方法及设备
US20180018562A1 (en) * 2016-07-14 2018-01-18 Cside Japan Inc. Platform for providing task based on deep learning
US9990687B1 (en) * 2017-01-19 2018-06-05 Deep Learning Analytics, LLC Systems and methods for fast and repeatable embedding of high-dimensional data objects using deep learning with power efficient GPU and FPGA-based processing platforms
CN108764487A (zh) * 2018-05-29 2018-11-06 北京百度网讯科技有限公司 用于生成模型的方法和装置、用于识别信息的方法和装置
CN108830380A (zh) * 2018-04-11 2018-11-16 开放智能机器(上海)有限公司 一种基于云服务的训练模型生成方法及系统
CN108920177A (zh) * 2018-06-28 2018-11-30 郑州云海信息技术有限公司 深度学习模型配置文件到fpga配置文件的映射方法
US20190050715A1 (en) * 2018-09-28 2019-02-14 Intel Corporation Methods and apparatus to improve data training of a machine learning model using a field programmable gate array
CN109447248A (zh) * 2018-11-09 2019-03-08 深圳增强现实技术有限公司 深度学习平台及方法
CN109934285A (zh) * 2019-03-11 2019-06-25 吉林大学 一种基于深度学习的图像分类神经网络压缩模型设计
CN110458294A (zh) * 2019-08-19 2019-11-15 Oppo广东移动通信有限公司 模型运行方法、装置、终端及存储介质
CN110689139A (zh) * 2018-09-27 2020-01-14 谷歌有限责任公司 用于机器学习的方法和计算机系统
US20200026992A1 (en) * 2016-09-29 2020-01-23 Tsinghua University Hardware neural network conversion method, computing device, compiling method and neural network software and hardware collaboration system
CN110781126A (zh) * 2019-09-20 2020-02-11 苏州浪潮智能科技有限公司 一种TensorFlow的FPGA异构加速实现方法、系统、终端及存储介质
CN111104124A (zh) * 2019-11-07 2020-05-05 北京航空航天大学 基于Pytorch框架的卷积神经网络在FPGA上的快速部署方法
CN111126613A (zh) * 2018-10-31 2020-05-08 伊姆西Ip控股有限责任公司 用于深度学习的方法、设备和计算机程序产品
CN111652351A (zh) * 2020-05-09 2020-09-11 济南浪潮高新科技投资发展有限公司 一种神经网络模型的部署方法、设备及介质
CN111967568A (zh) * 2020-06-29 2020-11-20 北京百度网讯科技有限公司 深度学习模型的适配方法、装置及电子设备
CN111985495A (zh) * 2020-07-09 2020-11-24 珠海亿智电子科技有限公司 模型部署方法、装置、系统及存储介质
WO2020250279A1 (ja) * 2019-06-10 2020-12-17 日本電信電話株式会社 モデル学習装置、方法及びプログラム
CN112183712A (zh) * 2019-07-03 2021-01-05 安徽寒武纪信息科技有限公司 深度学习算法的编译方法、装置及相关产品

Patent Citations (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101334857A (zh) * 2007-06-26 2008-12-31 索尼株式会社 信息处理设备、信息处理方法和程序
US20160012352A1 (en) * 2014-06-27 2016-01-14 Huawei Technologies Co., Ltd. Data Processing Method and Computer System
US20180018562A1 (en) * 2016-07-14 2018-01-18 Cside Japan Inc. Platform for providing task based on deep learning
US20200026992A1 (en) * 2016-09-29 2020-01-23 Tsinghua University Hardware neural network conversion method, computing device, compiling method and neural network software and hardware collaboration system
US9990687B1 (en) * 2017-01-19 2018-06-05 Deep Learning Analytics, LLC Systems and methods for fast and repeatable embedding of high-dimensional data objects using deep learning with power efficient GPU and FPGA-based processing platforms
CN107423817A (zh) * 2017-04-17 2017-12-01 星环信息科技(上海)有限公司 一种深度学习实现的方法及设备
CN108830380A (zh) * 2018-04-11 2018-11-16 开放智能机器(上海)有限公司 一种基于云服务的训练模型生成方法及系统
CN108764487A (zh) * 2018-05-29 2018-11-06 北京百度网讯科技有限公司 用于生成模型的方法和装置、用于识别信息的方法和装置
CN108920177A (zh) * 2018-06-28 2018-11-30 郑州云海信息技术有限公司 深度学习模型配置文件到fpga配置文件的映射方法
CN110689139A (zh) * 2018-09-27 2020-01-14 谷歌有限责任公司 用于机器学习的方法和计算机系统
US20190050715A1 (en) * 2018-09-28 2019-02-14 Intel Corporation Methods and apparatus to improve data training of a machine learning model using a field programmable gate array
CN111126613A (zh) * 2018-10-31 2020-05-08 伊姆西Ip控股有限责任公司 用于深度学习的方法、设备和计算机程序产品
CN109447248A (zh) * 2018-11-09 2019-03-08 深圳增强现实技术有限公司 深度学习平台及方法
CN109934285A (zh) * 2019-03-11 2019-06-25 吉林大学 一种基于深度学习的图像分类神经网络压缩模型设计
WO2020250279A1 (ja) * 2019-06-10 2020-12-17 日本電信電話株式会社 モデル学習装置、方法及びプログラム
CN112183712A (zh) * 2019-07-03 2021-01-05 安徽寒武纪信息科技有限公司 深度学习算法的编译方法、装置及相关产品
CN110458294A (zh) * 2019-08-19 2019-11-15 Oppo广东移动通信有限公司 模型运行方法、装置、终端及存储介质
CN110781126A (zh) * 2019-09-20 2020-02-11 苏州浪潮智能科技有限公司 一种TensorFlow的FPGA异构加速实现方法、系统、终端及存储介质
CN111104124A (zh) * 2019-11-07 2020-05-05 北京航空航天大学 基于Pytorch框架的卷积神经网络在FPGA上的快速部署方法
CN111652351A (zh) * 2020-05-09 2020-09-11 济南浪潮高新科技投资发展有限公司 一种神经网络模型的部署方法、设备及介质
CN111967568A (zh) * 2020-06-29 2020-11-20 北京百度网讯科技有限公司 深度学习模型的适配方法、装置及电子设备
CN111985495A (zh) * 2020-07-09 2020-11-24 珠海亿智电子科技有限公司 模型部署方法、装置、系统及存储介质

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
ANDRE XIAN MING CHANG,ET AL: "Compiling Deep Learning Models for Custom Hardware", 《ARXIV:1708.00117V2》, pages 1 - 8 *
FUSHUN LIU,ET AL: "Lower-order modal parameters identification for offshore jacket platform using reconstructed responses to a sea test", APPLIED OCEAN RESEARCH, vol. 46, pages 124 - 130 *
丁然,等: "一种类CPU的深度学习协处理器架构", 中国集成电路, no. 4, pages 46 - 57 *
王岳青,等: "DLPF:基于异构体系结构的并行深度学习编程框架", 计算机研究与发展, no. 06, pages 33 - 41 *
高榕,等: "基于Caffe的嵌入式多核处理器深度学习框架并行实现", 西安交通大学学报, no. 06, pages 41 - 46 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115081628A (zh) * 2022-08-15 2022-09-20 浙江大华技术股份有限公司 一种深度学习模型适配度的确定方法及装置

Also Published As

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

Similar Documents

Publication Publication Date Title
CN108304921B (zh) 卷积神经网络的训练方法及图像处理方法、装置
CN109409500B (zh) 基于知识蒸馏与非参数卷积的模型加速方法及装置
US20210056357A1 (en) Systems and methods for implementing flexible, input-adaptive deep learning neural networks
EP3924888A1 (en) Quantization-aware neural architecture search
CN113704531A (zh) 图像处理方法、装置、电子设备及计算机可读存储介质
US20210142210A1 (en) Multi-task segmented learning models
CN107832794A (zh) 一种卷积神经网络生成方法、车系识别方法及计算设备
CN111831355A (zh) 权重精度配置方法、装置、设备及存储介质
CN112861934A (zh) 一种嵌入式终端的图像分类方法、装置及嵌入式终端
CN113222121B (zh) 一种数据处理方法、装置及设备
Leroux et al. Multi-fidelity deep neural networks for adaptive inference in the internet of multimedia things
Verma et al. Rnas-mer: A refined neural architecture search with hybrid spatiotemporal operations for micro-expression recognition
CN112997192A (zh) 一种手势识别方法、装置、终端设备及可读存储介质
CN111788582B (zh) 电子设备及其控制方法
Zhan et al. Field programmable gate array‐based all‐layer accelerator with quantization neural networks for sustainable cyber‐physical systems
CN114492778B (zh) 神经网络模型的运行方法、可读介质和电子设备
CN116311455A (zh) 一种基于改进Mobile-former的表情识别方法
CN116227332A (zh) 一种transformer混合比特量化方法及系统
CN115062769A (zh) 基于知识蒸馏的模型训练方法、装置、设备及存储介质
Park et al. Overviewing AI-Dedicated Hardware for On-Device AI in Smartphones
WO2020263439A1 (en) Increased precision neural processing element
CN111667028A (zh) 一种可靠负样本确定方法和相关装置
CN114492779B (zh) 神经网络模型的运行方法、可读介质和电子设备
CN116402090B (zh) 神经网络计算图的处理方法、装置和设备
CN117891980B (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