IP Library Granted Patent US 12,217,027
Granted Patent B2
US 12,217,027 · App. 18/233,256 · Granted Feb 4, 2025

Visual programming of machine learning state machines

Inventor: Yueqi Li (San Jose, CA)
Assignee: Deere & Company
G06F8/34G06F9/451G06F11/3608G06N3/042G06N3/045G06N20/00G06F17/12G06Q30/0277G06T11/206G07G5/00
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 12,217,027
App. No.
18/233,256
Granted
Feb 4, 2025
Kind
B2
Abstract

Implementations are disclosed for facilitating visual programming of machine learning state machines. In various implementations, one or more graphical user interfaces (GUIs) may be rendered on one or more displays. Each GUI may include a working canvas on which a plurality of graphical elements corresponding to at least some of a plurality of available logical routines are manipulable to define a machine learning state machine. One or more of the available logical routines may include logical operations that process data using machine learning model(s). Two or more at least partially redundant logical routines that include overlapping logical operations may be identified, and overlapping logical operations of the two or more at least partially redundant logical routines may be merged into a consolidated logical routine. At least some of the logical operations that were previously downstream from the overlapping logical operations may be logically coupled with the consolidated logical routine.

Claims (41)

1. A method implemented using one or more processors, comprising:

causing one or more graphical user interfaces (GUIs) to be rendered on one or more displays, wherein each GUI of the one or more GUIs includes a working canvas on which a plurality of nodes corresponding to at least some of a plurality of available logical routines are manipulable to form a graph defining a machine learning state machine, wherein edges of the graph represent logical couplings between the logical routines of the plurality of available logical routines that are represented by the nodes of the graph;

identifying first and second partially redundant nodes in the graph, the first and second partially redundant nodes having at least one overlapping logical operation, the first partially redundant node having a first non-overlapping logical operation, the second partially redundant node having a second non-overlapping logical operation, wherein the at least one overlapping logical operation represents execution of one or more machine learning models;

merging the at least one overlapping logical operation of the first and second partially redundant nodes into a consolidated logical routine;

logically coupling the first non-overlapping logical operation with the consolidated logical routine; and

logically coupling the second non-overlapping logical operation with the consolidated logical routine.

2. The method of claim 1 , wherein the logically coupling is performed during compilation of source code that is generated based on a state of the graph on the working canvas.

3. The method of claim 1 , wherein the logically coupling the first non-overlapping logical operation with the consolidated logical routine includes generating glue code that provides output from the consolidated logical routine to the first non-overlapping logical operation.

4. The method of claim 1 , further including adding a new graphical element that corresponds to the consolidated logical routine to the working canvas in response to the merging.

5. The method of claim 1 , wherein the machine learning state machine includes an agricultural state machine, and the one or more machine learning models include a phenotyping agricultural machine learning model.

6. The method of claim 1 , further including determining whether an upstream logical routine represented by an upstream node of the graph is dependent on data output by a downstream logical routine represented by a downstream node of the graph.

7. The method of claim 6 , wherein the logically coupling is conditionally performed based on an outcome of the determining.

8. The method of claim 1 , further including:

receiving an input instructing connection of two or more selected nodes of the graph with one or more edges;

determining that an upstream logical routine represented by an upstream node of the graph is dependent on data output by a downstream logical routine represented by a downstream node of the graph; and

in response to the determining, causing an error message to be output.

9. A system comprising one or more processors and memory storing instructions that, in response to execution of the instructions, cause the one or more processors to:

cause one or more graphical user interfaces (GUIs) to be rendered on one or more displays, wherein each GUI of the one or more GUIs includes a working canvas on which a plurality of nodes corresponding to at least some of a plurality of available logical routines are manipulable to form a graph defining a machine learning state machine, wherein edges of the graph represent logical couplings between the logical routines of the plurality of available logical routines that are represented by the nodes of the graph;

identify first and second partially redundant nodes in the graph, the first and second partially redundant nodes having at least one overlapping logical operation, the first partially redundant node having a first non-overlapping logical operation, the second partially redundant node having a second non-overlapping logical operation, wherein the at least one overlapping logical operation represents execution of one or more machine learning models;

merge the at least one overlapping logical operation of the first and second partially redundant nodes into a consolidated logical routine;

logically couple the first non-overlapping logical operation with the consolidated logical routine; and

logically couple the second non-overlapping logical operation with the consolidated logical routine.

10. The system of claim 9 , wherein the instructions to logically couple are executed during compilation of source code that is generated based on a state of the graph on the working canvas.

11. The system of claim 9 , wherein the instructions to logically couple cause the one or more processors to generate glue code that is to provide output from the consolidated logical routine to the first non-overlapping logical operation.

12. The system of claim 9 , wherein the instructions cause the one or more processors to add a new graphical element that corresponds to the consolidated logical routine to the working canvas in response to the merging.

13. The system of claim 9 , wherein the machine learning state machine includes an agricultural state machine, and the one or more machine learning models include a phenotyping agricultural machine learning model.

14. The system of claim 9 , wherein the instructions cause the one or more processors to make a determination of whether an upstream logical routine represented by an upstream node of the graph is dependent on data output by a downstream logical routine represented by a downstream node of the graph.

15. The system of claim 14 , wherein the instructions to logically couple are conditionally executed based on the determination.

16. The system of claim 9 , wherein the instructions cause the one or more processors to:

receive an input instructing connection of two or more selected nodes of the graph with one or more edges;

make a determination that an upstream logical routine represented by an upstream node of the graph is dependent on data output by a downstream logical routine represented by a downstream node of the graph; and

in response to the determination, cause an error message to be output.

17. At least one non-transitory computer-readable medium comprising instructions that, in response to execution by one or more processors, cause the one or more processors to:

cause one or more graphical user interfaces (GUIs) to be rendered on one or more displays, wherein each GUI of the one or more GUIs includes a working canvas on which a plurality of nodes corresponding to at least some of a plurality of available logical routines are manipulable to form a graph defining a machine learning state machine, wherein edges of the graph represent logical couplings between the logical routines of the plurality of available logical routines that are represented by the nodes of the graph;

identify first and second partially redundant nodes in the graph, the first and second partially redundant nodes having at least one overlapping logical operation, the first partially redundant node having a first non-overlapping logical operation, the second partially redundant node having a second non-overlapping logical operation, wherein the at least one overlapping logical operation represents execution of one or more machine learning models;

merge the at least one overlapping logical operation of the first and second partially redundant nodes into a consolidated logical routine;

logically couple the first non-overlapping logical operation with the consolidated logical routine; and

logically couple the second non-overlapping logical operation with the consolidated logical routine.

18. The at least one non-transitory computer-readable medium of claim 17 , wherein the instructions to logically couple are executed during compilation of source code that is generated based on a state of the graph on the working canvas.

19. The at least one non-transitory computer-readable medium of claim 17 , wherein the instructions to logically couple cause the one or more processors to generate glue code that is to provide output from the consolidated logical routine to the first non-overlapping logical operation.

20. The at least one non-transitory computer-readable medium of claim 17 , wherein the instructions cause the one or more processors to add a new graphical element that corresponds to the consolidated logical routine to the working canvas in response to the merging.

Assignments (3)
MERGER Recorded Jun 26, 2024
From: MINERAL EARTH SCIENCES LLC
To: DEERE & CO.
Reel/Frame 068055/0420 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 16, 2023
From: LI, YUEQI
To: X DEVELOPMENT LLC
Reel/Frame 064609/0466 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 16, 2023
From: X DEVELOPMENT LLC
To: MINERAL EARTH SCIENCES LLC
Reel/Frame 064609/0472 →