Systems and methods for distributed data analytics
The invention provides systems and method for generating device-specific artificial neural network (ANN) models for distribution across user devices. Sample datasets are collected from devices in a particular environment or use case and include predictions by device-specific ANN models executing the user devices. The received datasets are used with existing datasets and stored ANN models to generate updated device-specific ANN models from each of the stored instances of the device ANN models based on the training data.
1 . A method for optimizing the execution of device-specific trained artificial neural network (ANN) models on devices, the method comprising:
receiving, by a processor, a first trained ANN model and a second trained ANN model, wherein the first trained ANN model and the second ANN model each execute different inferences on input data and are trained using the same training dataset comprising the same input samples;
merging the first trained ANN model, the second trained ANN model, and control flow execution instructions into a combined software package; and
deploying the combined software package to a hardware component of an edge device through a network; and
executing, by the hardware component of the edge device, the combined software package, wherein deploying the combined software package comprises selecting either or both of the first and second trained ANN models for performing object detection based on the control flow instructions according to analytics criteria.
2 . The method of claim 1 , wherein output of the first ANN model serves as input to the second ANN model.
3 . The method of claim 1 , wherein the first trained ANN model and second trained ANN model each comprise use case data.
4 . The method of claim 1 , further comprising generating a parent ANN as a meta-architecture based on the first ANN model architecture and the second ANN model architecture, and the meta-architecture is delivered to the edge device such that it executes as a single ANN model.
5 . The method of claim 1 , wherein the edge device comprises a camera.
6 . The method of claim 5 , wherein execution of the first ANN model and second ANN model on the camera identifies an object of interest in an image file captured on the camera.
7 . A system for optimizing the execution of device-specific trained artificial neural network (ANN) models on edge devices, the system comprising:
one or more processors; and
a memory coupled with the one or more processors wherein the one or more processors executes computer-executable instructions stored in the memory, that when executed:
identify a first trained ANN model and a second trained ANN model, wherein the first trained ANN model and the second trained ANN model each execute different inferences on input data and are trained using the same training dataset comprising the same input samples;
merge the first trained ANN model, the second trained ANN model, and control flow execution instructions into a combined software package; and
deploy, by a distribution module, the combined software package to a hardware component of an edge device through a network; and
execute, by the hardware component of the edge device, the combined software package, wherein the edge device is configured to select either or both of the first and second trained ANN models for performing object detection based on the control flow instructions included in the wrapper function according to analytics criteria.
8 . The system of claim 7 , wherein the output of the first ANN model serves as input to the second ANN model.
9 . The system of claim 7 , wherein the first trained ANN model and second trained ANN model each comprise respective use case data.
10 . The system of claim 7 , wherein execution of the instructions further generates a parent ANN as a meta-architecture based on the first ANN model architecture and the second ANN model architecture, and the meta-architecture is delivered to the edge device such that it executes as a single ANN model.
11 . The system of claim 7 , wherein the edge device comprises a camera.
12 . The system of claim 11 , wherein execution of the first ANN model and second ANN model on the camera identifies an object of interest in an image file captured on the camera.
13 . A non-transitory computer-readable storage medium storing computer-readable instructions that, when executed by a computer, cause the computer to perform a method, the method comprising:
receiving, by a processor, a first trained ANN model and a second trained ANN model, wherein the first trained ANN model and the second trained ANN model each execute different inferences on input data and are trained using the same training dataset comprising the same input samples;
merging the first trained ANN model, the second trained ANN model, and control flow execution instructions into a combined software package;
communicating the combined software package to a hardware component of an edge device through a network; and
deploying, by the hardware component of the edge device, the combined software package, wherein the edge device is configured to select either or both of the first and second trained ANN models for performing object detection based on the control flow instructions included in the wrapper function according to analytics criteria.