首页 / 深度学习平台及方法

深度学习平台及方法无效专利 发明

技术领域

[0001] 本发明涉及计算机应用技术领域,特别涉及一种深度学习平台及方法。

相关背景技术

[0002] 深度学习方兴未艾,随着硬件性能的不断提高,深度学习越来越多地在各行各业中得到应用。然而,从问题定义到问题解决经历的整个过程却没有那么简单。例如,采用深度学习进行把手开关状态识别时,首先需要采集把手开关相关的素材,开始对其标记,其次选择一个深度学习算法框架,搭建训练环境,配置各种参数,并选用或自己编写一种适合的神经网络模型开始训练,进而再根据生成模型文件进行深度学习,识别把手的开关状态。
[0003] 但是,完成这个需求所需要对技术人员的要求很高,要求技术人员熟知深度学习应用的整个过程,包括从图像采集、标记、环境搭建、训练到预测识别,从而导致深度学习的门槛较高,流程较为复杂。

具体实施方式

[0048] 这里将详细地对示例性实施例进行说明,其示例表示在附图中。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所记载的、本发明的一些方面相一致的系统和方法的例子。
[0049] 图1是根据一示例性实施例示出的一种深度学习平台10的框图,如图1所示,该深度学习平台可以包括数据集管理模块110、数据集训练管理模块120。
[0050] 数据集管理模块110,用于接收上传数据,并将所述上传数据转换成特定格式的数据集。
[0051] 数据集训练管理模块120,用于对所述数据集进行深度学习的训练,生成相应的模型文件。
[0052] 数据集管理模块110主要用于管理深度学习训练时使用的数据集。目前0glass深度学习平台支持目前主流的voc(PASCAL VOC)、coco(Common Objects in COntext,微软团队提供的一个可以用来进行图像识别的数据集)、kitti(KITTI数据集,由德国卡尔斯鲁厄理工学院和丰田美国技术研究院联合创办,是目前国际上最大的自动驾驶场景下的计算机视觉算法评测数据集)数据集格式。
[0053] 数据集训练管理模块120可提供查询、新增、编辑、下载、删除等操作。
[0054] 查询:平台的列表中可显示数据集名称、数据集描述、数据集大小、数据集包含的类别数目、创建时间、创建人、状态以及单条数据集的操作按钮。
[0055] 新增:可提供数据或数据集的上传。压缩包目录结构:压缩包下面是一个文件夹,文件夹名称为项目名称,如test,test下面存在两个文件夹和一个文件,其中Annotations存放的是对样本图片中目标标记生成的xml文件,JPEGImages是存放样本图片文件夹,classes.txt文件存放类别名称,一行一个类别名。并要求文件夹请勿包含中文、压缩包类型为zip。
[0056] 编辑:平台的列表页面中布设有【编辑】按钮,通过单击每条数据后面的【编辑】按钮即可对对数据集进行编辑。数据集编辑页面与创建页面一致。操作也一致,这里不再赘述。
[0057] 下载:平台的列表页面中布设有【下载】按钮,单击对应数据的【下载】按钮,即可完成已上传数据集的下载,下载的数据集与新增的数据集区别在于处理后的包含了Imageset文件夹,里面包含训练集、测试机数据目录txt文件。
[0058] 删除:平台的列表页面中可以勾选前面小方框,同时选中多条数据,然后单击【删除】按钮,完成数据的批量删除。
[0059] 数据集训练管理模块120主要应用于深度学习服务的训练,训练后会产生相应的模型文件,供云服务调用。深度学习训练依赖于数据集,所以进行此步骤之前必须确保已经完成了数据集的创建。
[0060] 数据训练主要包括数据训练的查询、新增、修改、删除、启动等功能。
[0061] 查询:即训练数据的查询功能。列表页主要展示了深度学习训练任务名称、描述、训练使用的数据集名称、创建时间、创建人、训练进度、训练运行状态以及该数据状态等。其中训练状态实时显示当前训练任务状态。当状态为创建成功时,即可单击【启动】按钮即可启动深度学习训练任务。如果创建失败、训练启动失败即可单击【编辑】按钮对训练任务进行编辑,直至训练任务启动成功。训练任务启动成功后,页面实时监控训练任务训练进度。以供实时获取训练任务的训练进度,一旦训练任务启动完成或者训练完成后,该训练任务不在提供编辑功能。
[0062] 新增:即新增深度学习训练任务。深度学习任务创建主要包括任务名称、任务描述填写、数据集选择。
[0063] 页面编辑完成后,即可单击【保存】按钮,完成深度学习任务的创建。
[0064] 启动:创建成功后,在平台的列表页即可即可查看创建状态。如果状态不为创建成功,则需要根据提示进行编辑。创建成功即可单击【启动】按钮,启动深度学习训练任务。然后就静静等待任务训练完成即可。
[0065] 编辑:即是对以前创建的深度学习数据训练任务进行编辑,与新增页面一致,操作也是一样。
[0066] 删除:即可以删除新增的深度学习训练任务。
[0067] 启动:数据训练创建或者编辑完成后,即可单击启动按钮即可启动训练任务,启动成功或者失败页面上运行状态都有相应的提示。
[0068] 如图2所示,图1对应实施例示出的深度学习平台10还可以包括识别服务模块130和账户管理模块140。
[0069] 识别服务模块130用于响应调用指令,采用模型文件对输入图像进行深度学习,识别所述输入图像中的部件。
[0070] 可选的,识别服务模块130包括任务创建单元和深度学习单元。
[0071] 任务创建单元,用于根据调用指令,创建识别任务。
[0072] 深度学习单元,用于启动所述识别任务对输入图像进行深度学习,识别所述输入图像中的部件。
[0073] 识别服务模块130主要提供云识别功能,客户端按调用指令调用识别服务模块130的接口,服务端根据数据训练的模型文件及相应的神经网络结构对数据集进行处理,处理后返回识别结果给客户端。
[0074] 0glass深度学习平台的识别服务模块130主要提供识别任务的查询、新增、编辑、删除、启动功能。
[0075] 查询:即查询平台中所有识别任务列表。识别任务列表也显示了识别任务的名称、描述、端口号、创建时间、创建人、运行状态、数据状态等数据项。其中运行状态实时显示当前云服务运行状态。
[0076] 新增:新增主要包含填写识别任务的名称、描述、端口号、关联算法等参数填写。单击新增按钮下面自动弹出当前新增识别任务关联的算法;算法描述用于填写关联的数据,以便于使用人员理解。编辑完成后,即可单击【提交】完成云服务创建。创建后页面自动返回列表页面。运行状态列会提示创建的状态。如果创建失败则根据提示重新创建;如提示端口别占用,则应该返回编辑,修改端口;如果编辑成功则可以启动云服务。
[0077] 编辑:即对已有的识别任务进行修改。
[0078] 删除:即可以删除之前创建的识别任务。
[0079] 启动:识别任务创建成功后,即可单击【启动】按钮启动对应的识别任务。启动成功后,列表运行状态自动更新为运行中,如果报错,则根据错误提示完成修改。如果提示显存不足,则应关闭暂时不用的识别任务或者数据训练进程。
[0080] 账户管理模块140用于对登录平台的账户进行账户信息管理及权限管理。
[0081] 用户需以某一特定的账户登录,各不同的账户之间是相互独立的。
[0082] 通过账户管理模块,可对深度学习平台中的用户进行账户信息管理及权限管理。
[0083] 例如,增加账户:在增加用户功能中可以增加账户;删除账户:在删除用户功能中可以删除账户。
[0084] 还可以对不同的账户配置不同的权限,从而进一步提高深度学习平台管理的灵活性。
[0085] 可选的,深度学习平台还可以包括系统设置模块,通过系统设置模块,用户可以修改用户界面、背景、色彩等的设置。
[0086] 图3是根据一示例性实施例示出的一种深度学习方法流程图,如图3所示,该深度学习识别方法可以包括以下步骤。
[0087] 步骤S110,接收用户的上传数据。
[0088] 步骤S120,将所述上传数据转换为特定格式的数据集;
[0089] 步骤S130,采用深度学习算法对所述数据集进行训练,得到相应的模型文件。
[0090] 需要说明的是,在进行深度学习的识别之前,需预先进行大量上传数据的采集,并根据上传数据进行深度学习的训练。
[0091] 目前主流的深度学习算法框架有Caffe、TensorFlow、YOLO等,为了使平台能够更好的兼容各种深度学习算法框架,在接收用户的上传数据后,将所述上传数据转换为特定格式的数据集,例如,数据集的数据格式、目录结构等按照voc、coco或kitti等可以互相转换的数据格式及目录结构进行配置。
[0092] 可选的,如图4所示,步骤S120包括步骤S121、步骤S122。
[0093] 步骤S121,根据主流的深度学习算法框架确定对应的数据格式。
[0094] 步骤S122,将所述上传数据转换为所述数据格式的数据集。
[0095] 如前所述的,目前主流的深度学习算法框架有Caffe、TensorFlow、YOLO等,而voc、coco或kitti等深度学习算法框架的数据集格式存在一些差别。因此,通过在平台底层增加可以互相转换功能,使对于用户来说,可以上传任一数据格式的数据,在选择不同的框架进行训练时,平台将作出相应的数据格式转换,大大提高了用户上传数据的方便性及灵活性。
[0096] 利用如上所述的方法,在进行深度学习的训练时,通过预先接收大量的上传数据,再通过对上传数据进行深度学习的训练构建模型文件,以便自动进行深度学习的识别,大大降低了深度学习识别的时间成本,实现深度学习的自动化及信息化,大大提高了生产效率。
[0097] 可选的,如图5所示,在图3对应实施例示出的深度学习方法中,该深度学习方法还可以包括以下步骤。
[0098] 步骤S210,对所述上传数据进行数据类型的标记,所述数据类型包括xml文件、图片、数据类型名称等类型。
[0099] 步骤S220,根据标记的所述数据类型进行所述上传数据的转换得到特定格式的数据集。
[0100] 如前所述的,主流的深度学习算法框架有TensorFlow、Caffe等,TensorFlow是由google公司开发的可被用于语音识别或图像识别等多项机器学习和深度学习领域;caffe是一个清晰,可读性高,快速的深度学习框架。而深度学习算法框架之间,存在一定数据的重合性。
[0101] 因此,通过对上传数据进行数据类型的标记,使平台能够更好的兼容各种主流的深度学习框架,提高数据集的重用性,从而通过数据数据集的重用,大大减小平台的数据存储量,有效避免了存储资源的浪费,并且在用户层面,无需按照不同框架整理相应数据格式的数据集,这些均通过平台的转换功能自动完成,有效提高了用户操作的方便性。
[0102] 可选的,如图6所示,在图3对应实施例示出的深度学习方法中,该深度学习方法还可以包括以下步骤。
[0103] 步骤S310,根据调用指令、模型文件的选择创建识别任务。
[0104] 步骤S320,启动所述识别任务对输入图像进行深度学习,识别所述输入图像中的部件。
[0105] 识别任务包括名称、描述、端口号、创建时间、创建人、运行状态、数据状态等数据项。根据用户请求而生成的调用指令,创建包括名称、描述、端口号、模型文件(即关联算法)等参数的识别任务。
[0106] 模型文件以名称的形式显示于界面中,以便于用户理解和选择。
[0107] 用户通过选择相应的参数创建识别任务,进而通过启动识别任务对输入图像进行深度学习,识别输入图像中的部件,并且平台能够实时显示识别任务的当前状态,大大提高了用户操作的方便性。
[0108] 可选的,如图7所示,步骤S310还可以包括以下步骤。
[0109] 步骤S311,根据调用指令确定登录平台的用户账号。
[0110] 步骤S312,根据所述用户账号的权限选择相应的模型文件。
[0111] 需要说明的是,各模型文件均预先设置有其对应的权限。
[0112] 因此,根据用户账号的权限,从该权限对应的模型文件中选取目标模型文件。
[0113] 根据所述用户账号的权限选择相应的模型文件,可以从用户账号的权限对应的模型文件中随机选取一个模型文件;也可以是根据这些模型文件的优先级,选取优先级最高的模型文件。
[0114] 通过对不同的用户配置不同的权限,从而进一步提高深度学习平台管理的灵活性。
[0115] 图8是根据一示例性实施例示出的一种电子设备100的框图。参考图8,电子设备100可以包括以下一个或者多个组件:处理组件101,存储器102,电源组件103,多媒体组件
104,音频组件105,传感器组件107以及通信组件108。其中,上述组件并不全是必须的,电子设备100可以根据自身功能需求增加其他组件或减少某些组件,本实施例不作限定。
[0116] 处理组件101通常控制电子设备100的整体操作,诸如与显示,电话呼叫,数据通信,相机操作以及记录操作相关联的操作等。处理组件101可以包括一个或多个处理器109来执行指令,以完成上述操作的全部或部分步骤。此外,处理组件101可以包括一个或多个模块,便于处理组件101和其他组件之间的交互。例如,处理组件101可以包括多媒体模块,以方便多媒体组件104和处理组件101之间的交互。
[0117] 存储器102被配置为存储各种类型的数据以支持在电子设备100的操作。这些数据的示例包括用于在电子设备100上操作的任何应用程序或方法的指令。存储器102可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如SRAM(Static Random Access Memory,静态随机存取存储器),EEPROM(Electrically Erasable Programmable Read-Only Memory,电可擦除可编程只读存储器),EPROM(Erasable Programmable Read Only Memory,可擦除可编程只读存储器),PROM(Programmable Read-Only Memory,可编程只读存储器),ROM(Read-Only Memory,只读存储器),磁存储器,快闪存储器,磁盘或光盘。存储器102中还存储有一个或多个模块,该一个或多个模块被配置成由该一个或多个处理器109执行,以完成上述任一所示方法中的全部或者部分步骤。
[0118] 电源组件103为电子设备100的各种组件提供电力。电源组件103可以包括电源管理系统,一个或多个电源,及其他与为电子设备100生成、管理和分配电力相关联的组件。
[0119] 多媒体组件104包括在所述电子设备100和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括LCD(Liquid Crystal Display,液晶显示器)和TP(Touch Panel,触摸面板)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
[0120] 图像采集组件105被配置为采集图像或视频。例如,图像采集组件105包括一个摄像头,当电子设备100处于操作模式,摄像头被配置为拍摄外部图像。所采集的图像可以被进一步存储在存储器102或经由通信组件108发送。在一些实施例中,图像采集组件105还包括一个扫描仪等。
[0121] 传感器组件107包括一个或多个传感器,用于为电子设备100提供各个方面的状态评估。例如,传感器组件107可以检测到电子设备100的打开/关闭状态,组件的相对定位,传感器组件107还可以检测电子设备100或电子设备100一个组件的坐标改变以及电子设备100的温度变化。在一些实施例中,该传感器组件107还可以包括磁传感器,压力传感器或温度传感器。
[0122] 通信组件108被配置为便于电子设备100和其他设备之间有线或无线方式的通信。电子设备100可以接入基于通信标准的无线网络,如WiFi(Wireless-Fidelity,无线网络),
2G或3G,或它们的组合。在一个示例性实施例中,通信组件108经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件108还包括NFC(Near Field Communication,近场通信)模块,以促进短程通信。例如,在NFC模块可基于RFID(Radio Frequency Identification,射频识别)技术,IrDA(Infrared Data Association,红外数据协会)技术,UWB(Ultra-Wideband,超宽带)技术,BT(Bluetooth,蓝牙)技术和其他技术来实现。
[0123] 在示例性实施例中,电子设备100可以被一个或多个ASIC(Application Specific Integrated Circuit,应用专用集成电路)、DSP(Digital Signal Processing,数字信号处理器)、PLD(Programmable Logic Device,可编程逻辑器件)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
[0124] 该实施例中的电子设备中处理器执行操作的具体方式已经在有关该深度学习识别方法的实施例中执行了详细描述,此处将不再做详细阐述说明。
[0125] 可选的,本发明还提供一种电子设备,执行上述任一所示的深度学习识别方法的全部或者部分步骤。该电子设备包括:
[0126] 至少一个处理器;以及
[0127] 与所述至少一个处理器通信连接的存储器;其中,
[0128] 所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述任一示例性实施例所述的方法。
[0129] 该实施例中的电子设备中处理器执行操作的具体方式已经在有关该深度学习识别方法的实施例中执行了详细描述,此处将不做详细阐述说明。
[0130] 在示例性实施例中,还提供了一种存储介质,该存储介质为计算机可读存储介质,例如可以为包括指令的临时性和非临时性计算机可读存储介质。该存储介质例如包括指令的存储器102,上述指令可由电子设备100的处理器109执行以完成上述深度学习识别方法。
[0131] 应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,本领域技术人员可以在不脱离其范围执行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

当前第1页 第1页 第2页 第3页