IP Library › Granted Patent US 11,687,830
Granted Patent B2
US 11,687,830 · App. 16/875,565 · Granted Jun 27, 2023

Integration of learning models into a software development system

Inventors: Michael R. Siracusa (Mountain View, CA); Anil Kumar Katti (Fremont, CA); Mohammad Reza Farhadi (Santa Clara, CA); Aseem Wadhwa (San Jose, CA); Michael Ryan Brennan (San Francisco, CA); Andrew Joseph Rachwalski (Campbell, CA)
Assignee: Apple Inc.
G06N20/00G06F8/10G06F8/33
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,687,830
App. No.
16/875,565
Filed
May 15, 2020
Granted
Jun 27, 2023
Kind
B2
Art Unit
2193
USPC
706/12
Abstract

The subject technology provides for determining that a machine learning model in a first format includes sufficient data to conform to a particular model specification in a second format, the second format corresponding to an object oriented programming language), wherein the machine learning model includes a model parameter of the machine learning model. The subject technology transforms the machine learning model into a transformed machine learning model that is compatible with the particular model specification. The subject technology generates a code interface and code for the transformed machine learning model, the code interface including code statements in the object oriented programming language, the code statements corresponding to an object representing the transformed machine learning model and the object includes an interface to update the model parameter. Further, the subject technology provides the generated code interface and the code for display in an integrated development environment (IDE), the IDE enabling modifying of the generated code interface and the code.

Claims (37)

1. A method comprising:

determining that a machine learning model in a first format includes sufficient data to conform to a particular model specification in a second format, the first format corresponding to a second format that is compatible with an integrated development environment (IDE), wherein the machine learning model includes a model parameter of the machine learning model;

transforming the machine learning model into a transformed machine learning model that is compatible with the particular model specification;

generating a code interface and code for the transformed machine learning model, the code interface including code statements in an object oriented programming language, the code statements corresponding to an object representing the transformed machine learning model, the object includes an interface to update the model parameter, and the machine learning model indicates that the model parameter is updateable; and

providing the generated code interface and the generated code for display in the IDE, the IDE enabling modifying of the generated code interface and the code.

2. The method of claim 1 , wherein the model parameter is selected from the group consisting of a learning rate, threshold, type of model, and weight.

3. The method of claim 1 , wherein the machine learning model includes at least one of an input interface and an output interface.

4. The method of claim 1 , wherein the update interface of the object is a description of a capability of the object without a specific implantation.

5. The method of claim 1 , further comprising:

receiving additional code corresponding to calling a function provided by the code for the

transformed machine learning model.

6. The method of claim 5 , further comprising:

compiling the code interface, the code for the transformed machine learning model, and the additional code into a compiled machine learning model, wherein compiling includes generating object code for the object oriented programming language and the object includes an object function call for updating the model parameter; and

sending the compiled machine learning model as part of a software package to a runtime environment of a target computing device for execution.

7. The method of claim 6 , wherein the function call is one of a get model parameter value and set model parameter value.

8. The method of claim 1 , wherein the machine learning model does not indicate that the model parameter is updateable and the model parameter is made updateable after the machine learning model is transformed.

9. A non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform a method comprising:

determining that a machine learning model in a first format includes sufficient data to conform to a particular model specification in a second format, the first format corresponding to a second format that is compatible with an integrated development environment (IDE), wherein the machine learning model includes a model parameter of the machine learning model;

transforming the machine learning model into a transformed machine learning model that is compatible with the particular model specification;

generating a code interface and code for the transformed machine learning model, the code interface including code statements in an object oriented programming language, the code statements corresponding to an object representing the transformed machine learning model, the object includes an interface to update the model parameter, and the machine learning model indicates that the model parameter is updateable; and

providing the generated code interface and the generated code for display in the IDE, the IDE enabling modifying of the generated code interface and the code.

10. The machine-readable medium of claim 9 , wherein the model parameter is selected from the group consisting of a learning rate, threshold, type of model, and weight.

11. The machine-readable medium of claim 9 , wherein the machine learning model includes at least one of an input interface and an output interface.

12. The machine-readable medium of claim 9 , wherein the update interface of the object is a description of a capability of the object without a specific implantation.

13. The machine-readable medium of claim 9 , further comprising:

receiving additional code corresponding to calling a function provided by the code for the

transformed machine learning model.

14. The machine-readable medium of claim 13 , further comprising:

compiling the code interface, the code for the transformed machine learning model, and the additional code into a compiled machine learning model, wherein compiling includes generating object code for the object oriented programming language and the object includes an object function call for updating the model parameter; and

sending the compiled machine learning model as part of a software package to a runtime environment of a target computing device for execution.

15. The machine-readable medium of claim 14 , wherein the function call is one of a get model parameter value and set model parameter value.

16. The machine-readable medium of claim 9 , wherein the machine learning model does not indicate that the model parameter is updateable and the model parameter is made updateable after the machine learning model is transformed.

17. A device comprising:

a processor;

a memory coupled to the processor though a bus; and

a process executed from the memory by the processor causes the processor to determine that a machine learning model in a first format includes sufficient data to conform to a particular model specification in a second format, the first format corresponding to a second format that is compatible with an integrated development environment (IDE), wherein the machine learning model includes a model parameter of the machine learning model, transform the machine learning model into a transformed machine learning model that is compatible with the particular model specification, generate a code interface and code for the transformed machine learning model, the code interface including code statements in an object oriented programming language, the code statements corresponding to an object representing the transformed machine learning model, the object includes an interface to update the model parameter, and the machine learning model indicates that the model parameter is updateable, and provide the generated code interface and the generated code for display in the IDE, the IDE enabling modifying of the generated code interface and the code.

18. The device of claim 17 , wherein the machine learning model includes at least one of an input interface and an output interface.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2020
From: SIRACUSA, MICHAEL R.; KATTI, ANIL KUMAR; FARHADI, MOHAMMAD REZA; WADHWA, ASEEM; BRENNAN, MICHAEL RYAN; RACHWALSKI, ANDREW JOSEPH
To: APPLE INC.
Reel/Frame 052677/0277 →
Continuity (2)
Provisional Application 62855893 · May 31, 2019
Related Publication 20200380415A1 · Dec 3, 2020
Cited By (2)
US 12,333,228 US 12,602,226