当前位置: 首页 > 专利查询>苹果公司专利>正文

将学习模型集成到软件开发系统中技术方案

技术编号:31733868 阅读:25 留言:0更新日期:2022-01-05 16:07
本主题技术提供确定第一格式的机器学习模型包括符合第二格式的特定模型规范的足够的数据,第二格式对应于面向对象的编程语言,其中机器学习模型包括该机器学习模型的模型参数。本主题技术将机器学习模型变换为与特定模型规范兼容的变换的机器学习模型。本主题技术生成用于变换的机器学习模型的代码接口和代码,该代码接口包括面向对象的编程语言中的代码语句,该代码语句对应于表示变换的机器学习模型的对象,并且对象包括用于更新模型参数的接口。另外,本主题技术提供了生成的代码接口和代码用于在集成开发环境(IDE)中显示,IDE允许修改生成的代码接口和代码。允许修改生成的代码接口和代码。允许修改生成的代码接口和代码。

【技术实现步骤摘要】
【国外来华专利技术】将学习模型集成到软件开发系统中
[0001]本申请要求于2019年5月31日提交的美国临时专利申请号62/855,893的优先权的权益,该申请全文以引用方式并入本文以提供公开的连续性。


[0002]本专利技术整体涉及将学习模型集成到软件开发系统中,包括可更新的机器学习模型在集成开发环境中的变换和呈现。

技术介绍

[0003]软件开发环境可用于在不同计算平台上以给定编程语言创建软件程序。
附图说明
[0004]本主题技术的一些特征在所附权利要求书中被示出。然而,出于解释的目的,在以下附图中阐述了本主题技术的若干实施方案。
[0005]图1示出了根据一个或多个具体实施的示例网络环境,其中可以实现将学习模型集成到软件开发系统中的系统。
[0006]图2示出了根据一个或多个具体实施的用于将可更新的机器学习(ML)模型与面向对象的代码集成的集成开发环境的示例软件架构。
[0007]图3示出了根据一个或多个具体实施的用于将现有ML模型变换为模型规范的示例过程的流程图。
[0008]图4示出了根据一个或多个具体实施的用于提供变换的ML模型用于在软件开发环境中查看的示例过程的流程图。
[0009]图5示出了根据一个或多个具体实施的用于将编译的ML模型发送到目标设备的运行环境的示例过程的流程图。
[0010]图6A示出了根据一个或多个具体实施的现有ML模型和变换的ML模型的数据的示例结构。
[0011]图6B示出了根据一个或多个具体实施的现有ML接口和变换的ML模型的数据的示例结构。
[0012]图7示出了可以利用其来实现本主题技术的一个或多个具体实施的电子系统。
具体实施方式
[0013]下面示出的具体实施方式旨在作为本主题技术的各种配置的描述并且不旨在表示本主题技术可被实践的唯一配置。附图被并入本文并且构成具体实施方式的一部分。具体实施方式包括具体的细节旨在提供对本主题技术的透彻理解。然而,本主题技术不限于本文阐述的具体细节,而是可以采用一个或多个其他具体实施来实践。在一个或多个具体实施中,以框图形式示出了结构和部件,以便避免使本主题技术的概念模糊。
[0014]使软件开发者能够在软件开发环境中利用机器学习模型的现有方法可能需要大
量的配置。在一些情况下,开发机器学习模型需要设置附加的软件库、硬件配置等,这可能会为某些软件开发者创建进入的感知障碍。此外,许多软件开发者都精通从事面向对象编程的范例,这些范例集成在许多用于开发软件的现有工具中。相比之下,机器学习领域的最新发展已经产生了由不同的第三方提供的软件库,这些软件库被设计为在独立或单独的开发环境中工作,并且可要求软件开发者采用不同的方法来开发有时非常广泛地离开许多开发人员习惯的面向对象编程的理解概念的机器学习模型。
[0015]在本文所述的一个或多个具体实施中,机器学习(ML)模型可以以类似于第一类对象诸如函数、分类等等的内部表示的方式在集成软件开发环境(IDE)内内部地表示,而不是仅仅被表示为正在构建的程序的不透明资源。然后,使用此类模型的软件开发者可以利用IDE的生产力特征,诸如键入时的语法检查、自动完成、参数列表中的名称或类型错误检测等,以便调用ML模型功能,就像开发人员在使用标准系统库或分类时一样。实现这一目标的机制包括具有用于描述ML模型、从模型创建派生数据,然后用于索引模型中的名称和关键字,以及IDE使用这些索引名称和关键字来提供上述改进的功能的标准规范。
[0016]在一个实施方案中,机器学习模型可包括一个或多个接口。在该实施方案中,接口是对对象在没有特定植入的情况下的能力的描述。在一个实施方案中,机器学习模型可具有输入接口、输出接口和/或更新接口。在该示例中,输入接口可定义可用于向机器学习模型提供输入的一组函数调用。在该示例中,输出接口可定义可用于从机器学习模型提供输出的一组函数调用。此外,更新接口可定义可用于更新模型参数的一组函数调用。在一个实施方案中,可更新的模型参数可以是学习率、阈值、权重、层数、模型类型、迭代次数和/或机器学习模型中使用的另一个参数中的一者或多者。
[0017]在一个实施方案中,可将可更新的机器学习模型变换为用于编译成应用程序的对象。在该实施方案中,应用程序可使用该对象来修改机器学习模型。修改可用于微调机器学习模型,可用于选择要使用的机器学习模型类型中的一者(例如,图像识别应用程序可使用具有多个不同原语机器学习模型以从中进行选择的机器学习模型),训练用于用户特定环境和/或其他场景的机器学习模型。例如并且在一个实施方案中,考虑作为使用图像识别机器学习模型的图像识别应用程序的应用程序。该应用程序的基本操作是输入图像并输出标签分类。机器学习模型是可区分一般类别的一般训练模型,此类一般类别从动物或人类识别植物。花商希望使用该图像识别应用程序来识别不同的花。因为该模型当前是一般训练机器学习模型,所以应用程序未被充分训练以区分不同的花(例如,每个花图像都将被识别为“植物”)。利用可更新的机器学习模型,花商可通过为不同类型的花输入一组训练图像和标签来通过应用程序训练图像识别程序。因此,利用可更新的机器学习模型,花商可利用花图像和标签的训练集来训练图像识别应用程序,因此可针对花商的特定需求定制用于该应用程序的机器学习模型。
[0018]图1示出了根据一个或多个具体实施的示例网络环境100,其中可以实现将可更新的机器学习模型集成到软件开发系统中的系统。然而,并非所有所描绘的部件均可在所有具体实施中使用,并且一个或多个具体实施可包括与图中所示的那些相比附加的或不同的部件。可进行这些部件的布置和类型的变化,而不脱离本文所列出的权利要求的实质或范围。可提供附加的部件、不同的部件或更少的部件。
[0019]网络环境100包括电子设备110、电子设备115和服务器120。网络106可以通信地
(直接地或间接地)耦接电子设备110和/或服务器120。在一个或多个具体实施中,网络106可以是可包括互联网或可通信地耦接到互联网的设备的互连网络。出于解释的目的,网络环境100在图1中示出为包括电子设备110和115以及服务器120;然而,网络环境100可以包括任何数量的电子设备和任何数量的服务器,诸如服务器云。
[0020]电子设备110可以是例如台式计算机;便携式计算设备,诸如膝上型计算机、智能电话、外围设备(例如,数字相机、耳机)、平板设备、可穿戴设备(诸如手表、腕带等);或者包括例如一个或多个无线接口的任何其他适当设备,诸如WLAN无线电设备、蜂窝无线电设备、蓝牙无线电设备、Zigbee无线电设备、近场通信(NFC)无线电设备和/或其他无线电设备。在图1中,通过举例的方式,电子设备110被描绘为台式计算机。电子设备110可以是和/或可以包括下文相对于图7论述的电子系统的全部或部分。
[0021]电子设备115可包括触摸屏,并且可以是例如便携式计算设备,诸如包括触摸屏的膝上型计算机、包括触摸屏的智能电话、包括触摸屏的外围本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种方法,包括:确定第一格式的机器学习模型包括符合第二格式的特定模型规范的足够的数据,所述第二格式对应于与集成开发环境(IDE)兼容的第二格式,其中所述机器学习模型包括所述机器学习模型的模型参数;将所述机器学习模型变换为与所述特定模型规范兼容的变换的机器学习模型;生成用于所述变换的机器学习模型的代码接口和代码,所述代码接口包括面向对象的编程语言中的代码语句,所述代码语句对应于表示所述变换的机器学习模型的对象,并且所述对象包括用于更新所述模型参数的接口;以及提供所生成的代码接口和所生成的代码用于在所述IDE中显示,所述IDE允许修改所生成的代码接口和所述代码。2.根据权利要求1所述的方法,其中模型参数选自学习率、阈值、模型类型和权重。3.根据权利要求1所述的方法,其中所述机器学习模型包括输入接口和输出接口中的至少一者。4.根据权利要求1所述的方法,其中所述对象的更新接口是对所述对象在没有特定植入的情况下的能力的描述。5.根据权利要求1所述的方法,还包括:接收对应于调用由用于所述变换的机器学习模型的所述代码提供的函数的附加代码。6.根据权利要求5所述的方法,还包括:将用于所述变换的机器学习模型的所述代码接口、所述代码和所述附加代码编译成编译的机器学习模型,其中编译包括生成用于所述面向对象的编程语言的目标代码,并且所述对象包括用于更新所述模型参数的对象函数调用;以及将所述编译的机器学习模型作为软件包的一部分发送到目标计算设备的运行环境以用于执行。7.根据权利要求6所述的方法,其中所述函数调用是获取模型参数值和设置模型参数值中的一者。8.根据权利要求1所述的方法,其中所述机器学习模型指示所述模型参数是可更新的。9.根据权利要求1所述的方法,其中所述机器学习模型不指示所述模型参数是可更新的,并且在所述机器学习模型被变换之后使所述模型参数可更新。10.一种具有可执行指令的非暂态机器可读介质,所述可执行指令使得一个或多个处理单元执行方法,所述方法包括:确定第一格式的机器学习模型包括符合第二格式的特定模型规范的足够的数据,所述第二格式对应于与集成开发环境(IDE)兼容的第二格式,其中所述机器学习模型包括所述机器学习模型的模型参数;将所述机器学习模型变换为与所述特定模型规范兼容的变换的机器学习模型;生成用于所述变换的机器学习模型的代码接口和代码,所述代码接口包括面向对象的编程语言中的代码语句,所述代码语句对应于表示所述变换的机器...

【专利技术属性】
技术研发人员:M
申请(专利权)人:苹果公司
类型:发明
国别省市:

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

1