CN112698841A - Android-oriented deep learning model unified deployment system, method, equipment and medium - Google Patents

Android-oriented deep learning model unified deployment system, method, equipment and medium Download PDF

Info

Publication number
CN112698841A
CN112698841A CN202110049287.7A CN202110049287A CN112698841A CN 112698841 A CN112698841 A CN 112698841A CN 202110049287 A CN202110049287 A CN 202110049287A CN 112698841 A CN112698841 A CN 112698841A
Authority
CN
China
Prior art keywords
deep learning
task
model
android
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110049287.7A
Other languages
Chinese (zh)
Inventor
刘譞哲
马郓
向东伟
黄罡
姜海鸥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Peking University Information Technology Institute (tianjin Binhai)
Original Assignee
Peking University Information Technology Institute (tianjin Binhai)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Peking University Information Technology Institute (tianjin Binhai) filed Critical Peking University Information Technology Institute (tianjin Binhai)
Priority to CN202110049287.7A priority Critical patent/CN112698841A/en
Publication of CN112698841A publication Critical patent/CN112698841A/en
Pending legal-status Critical Current

Links

Images

Abstract

The disclosure relates to the technical field of deep learning, and particularly provides a system, a method, a medium and equipment for unified deployment of a deep learning model for Android, wherein the system comprises: the monitoring and counting module is used for completing monitoring and counting executed on the whole system and log reading and writing; the abstract adaptation module is used for providing an interpreter, a model and/or a data source required by the deep learning inference process; and the service module is used for providing a uniform programming interface for the Android application program. The method designs and realizes a unified deployment framework of the mobile deep learning task, integrates 5 mainstream mobile deep learning frameworks, establishes software abstraction for deep learning inference tasks, shields interface heterogeneity of a bottom framework, and provides a unified programming interface for an upper application program. The framework can be used for a mobile application developer to quickly realize cross-framework and cross-hardware back-end deep learning task deployment, and can also be used for framework developer to build model accuracy benchmark test, framework performance benchmark test and the like.

Description

Android-oriented deep learning model unified deployment system, method, equipment and medium
Technical Field
The present disclosure relates to the field of deep learning technologies, and more particularly, to a system, a method, a device, and a medium for unified deployment of a deep learning model for Android.
Background
With the remarkable improvement of the computing power of mobile equipment and the wide application of sensor technology, a scene that a deep learning task is directly deployed and operated at a mobile terminal is also greatly emerged. Many deep learning framework manufacturers have also introduced deep learning frameworks optimized for mobile computing, as well as model migration tools, for use by application developers.
However, due to limitations, mobile deep learning task deployment is not as convenient as described by the framework manufacturers. These frameworks often suffer from complex deployment of operational APIs, lack of automated resource management, low runtime integration level, and the like. Meanwhile, in many scenes, the situation that deep learning tasks are required to be deployed under multiple frames at the same time further improves the difficulty of the developers in deploying the deep learning tasks.
Disclosure of Invention
The method aims to solve the technical problems that in the prior art, the API is complex to deploy and operate, automatic resource management is lacked, and the integration level of the runtime library is low.
In order to achieve the technical purpose, the present disclosure provides a system for unified deployment of deep learning models for Android, including:
the monitoring and counting module is used for completing monitoring and counting executed on the whole system and log reading and writing;
the abstract adaptation module is used for providing an interpreter, a model and/or a data source required by the deep learning inference process;
and the service module is used for providing a uniform programming interface for the Android application program.
Further, the abstract adaptation module specifically includes:
the first sub-module is used for adapting a corresponding specific interpreter singleton to different bottom-layer deep learning frames;
the second submodule is used for creating model examples for different model files and initializing relevant metadata of the model examples;
and the third submodule is used for adapting a specific data source example for different types of data input.
Further, the service module is specifically configured to:
and calling the bottom interpreter adapted by the abstract adapting module to complete the execution of the task, and calling the monitoring statistical module to store corresponding statistical data.
In order to achieve the above technical object, the present disclosure can also provide a method for unified deployment of an Android-oriented deep learning model, which is applied to the system for unified deployment of an Android-oriented deep learning model, and includes:
initializing a uniform deployment system;
constructing an inference task and executing the inference task to obtain an execution result;
acquiring task execution statistical data;
and closing the unified deployment system.
Further, the initializing a unified deployment system specifically includes:
the data source and/or model is loaded and the interpreter context is initialized.
Further, the constructing an inference task and executing the inference task to obtain an execution result specifically includes:
creating an inference task, specifying a model, a data source and/or an interpreter, and specifying operations before and after the start of the task;
loading single-input data, calling an interpreter interpretation model, and calculating to obtain an execution result of an inference task;
obtaining the execution result of the inference task.
Further, the execution result specifically includes:
the output of the neural network, the catalog of classification tasks and/or the output result of the regression task.
Further, the acquiring of the task execution statistical data specifically includes:
and acquiring statistical data in the process of deducing task execution through the monitoring statistical module, wherein the statistical data comprises model accuracy, resource occupancy rate and/or throughput rate indexes.
To achieve the above technical objects, the present disclosure can also provide a computer storage medium having a computer program stored thereon, where the computer program is used to implement the steps of the unified deployment method for the Android-oriented deep learning model.
In order to achieve the technical purpose, the present disclosure further provides an electronic device, which includes a memory, a processor, and a computer program stored in the memory and capable of running on the processor, where the steps of the method for unified deployment of the deep learning model for Android are implemented when the processor executes the computer program.
The beneficial effect of this disclosure does:
the present disclosure designs and implements a Unified Deployment framework "Deep Learning Unified delivery Engine" (DUDE) for mobile Deep Learning tasks. The DUDE integrates 5 mainstream mobile deep learning frameworks, establishes software abstraction for deep learning inference tasks, shields interface heterogeneity of a bottom framework, and provides a uniform programming interface for an upper application program. The DUDE can be used for quickly realizing cross-frame and cross-hardware back-end deep learning task deployment by a mobile application developer, and can also be used for constructing model accuracy benchmark test, frame performance benchmark test and the like by a frame developer.
Drawings
Fig. 1 shows a schematic structural diagram of embodiment 1 of the present disclosure;
fig. 2 shows a schematic flow diagram of embodiment 2 of the present disclosure;
fig. 3 shows a schematic structural diagram of embodiment 4 of the present disclosure.
Detailed Description
Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. It should be understood that the description is illustrative only and is not intended to limit the scope of the present disclosure. Moreover, in the following description, descriptions of well-known structures and techniques are omitted so as to not unnecessarily obscure the concepts of the present disclosure.
Various structural schematics according to embodiments of the present disclosure are shown in the figures. The figures are not drawn to scale, wherein certain details are exaggerated and possibly omitted for clarity of presentation. The shapes of various regions, layers, and relative sizes and positional relationships therebetween shown in the drawings are merely exemplary, and deviations may occur in practice due to manufacturing tolerances or technical limitations, and a person skilled in the art may additionally design regions/layers having different shapes, sizes, relative positions, as actually required.
In recent years, with the wide popularization of mobile devices and the high-speed development of internet technologies, a large number of mobile-end application programs emerge; meanwhile, artificial intelligence technologies represented by neural networks have been developed vigorously due to the increase in computing power. Under the trend that the artificial intelligence application scene is continuously expanded, the mobile terminal also emerges the requirements of a large number of deep learning tasks due to the advantages of rich sensor integration, high real-time performance, high privacy safety and the like. For example, rich scenes such as voice recognition (input methods and intelligent assistant applications), image recognition, image rendering (augmented reality and camera applications), and the like appear on the mobile terminal. In addition, E-commerce, information flow and entertainment applications can collect user behavior data in real time, and can complete tasks such as rapid user portrayal and personalized recommendation generation.
In short, performing the deep learning task at the mobile end has the following advantages:
the delay is low: the mobile terminal does not need to send data to be processed through network connection and wait for response, so that experience degradation caused by network delay is avoided. This can greatly improve processing throughput for video applications that process consecutive frames from the camera.
The cost is low: all inference calculation tasks are completed by the user equipment, an application program developer is not required to provide a server to process the online inference task requirements of the user, and the pressure of the network bandwidth bottleneck of the server is relieved.
The usability is high: the application can function properly even outside the network coverage.
Privacy keeping: in the process of collecting user data and completing the personalized deep learning task, sensitive data are consumed in real time and are not uploaded to the cloud, and a channel that the privacy of a user is stolen is blocked.
However, although the mobile-side chip has greatly improved computing power in recent years, many chip manufacturers also perform hardware optimization specifically for deep learning calculation, and the deep learning calculation of the mobile-side still presents many limitations: computing power limitations, power consumption limitations, storage capacity limitations, etc. … … because the training process of the deep learning model involves multiple rounds of iterative computation on a full data set, the resource consumption and computation are much greater than the inference process. The application developer usually puts the training phase of the model into a more computing cloud end to be completed offline, and only arranges the mobile device to perform a real-time inference task. Therefore, it is obviously hard to move the deep learning framework of the traditional server to the mobile terminal.
To meet the contradiction between the growing business scenario and the limited computing resources, a large number of deep learning framework manufacturers successively introduced a lightweight deep learning framework optimized for mobile-end devices: google has introduced TensorFlow Lite for the mobile end device and TensorFlow.js for the browser environment based on the framework of its TensorFlow deep learning framework; the MNN was introduced by Alibama; tensioning has introduced ncnn … … that these frameworks generally contain two parts, a runtime inference engine and a model migration tool, for supporting mobile-side model deployment and performing inference tasks.
However, in programming paradigm and flow, deep learning model development and deployment are quite different from traditional software engineering. Deep learning is a new technology, and at present, standards such as model coding, interaction flow, evaluation system and the like are not agreed in the industry, so that the frames are different in expression and cannot be completely compatible with each other. These problems, for the mobile application developer, will undoubtedly increase its learning cost; for a deep learning framework developer, the direction of the framework optimization effort is undoubtedly confused, and the accuracy testing difficulty is increased; for deep learning algorithm researchers, it is undoubtedly difficult to accurately evaluate the quality of new algorithm implementations.
In summary, the deep learning task of the mobile terminal is emerging, and it is a focus problem of academic and industrial circles to study how to simplify the model deployment application process and how to efficiently utilize the computing resources of the mobile terminal, and the deep learning task has profound significance and wide development space.
The first embodiment is as follows:
as shown in fig. 1:
the disclosure provides a deep learning model unified deployment system facing Android,
the method comprises the following steps:
the monitoring and counting module is used for completing monitoring and counting executed on the whole system and log reading and writing;
the abstract adaptation module is used for providing an interpreter, a model and/or a data source required by the deep learning inference process;
and the service module is used for providing a uniform programming interface for the Android application program.
Specifically, the unified deployment framework is mainly composed of three modules:
an abstract adaptation module: three abstractions of an interpreter, a model and a data source required by the deep learning inference task are provided. Adapting a corresponding specific interpreter single case for different bottom-layer deep learning frameworks including TensorFlow Lite, TVM, MNN and the like; creating model instances for different model files, and initializing relevant metadata; a specific data source instance is adapted for different types of data input.
A service module: and providing a uniform programming interface for the upper-layer Android application program, wherein the programming interface comprises a registration interpreter, a model and a data source, an inference task construction, an inference task execution and the like. The deployment frame is responsible for calling the bottom interpreter adapted by the abstract adaptation layer to complete the execution of tasks, and simultaneously calling the monitoring statistical module to store corresponding statistical data.
A monitoring and counting module: and as an auxiliary module, completing monitoring statistics and log reading and writing executed on the whole framework.
In particular, the amount of the solvent to be used,
the unified deployment system is mainly composed of two parts, wherein the first part is an abstraction of each component required by an inference task and mainly comprises the following classes:
engine: components required for management of inference, including data sources, interpreters, models, and the like, provide interfaces for upper-level applications to register data sources, register interpreters, register models, build tasks, and perform tasks.
Data Source: and the data input abstraction of the inference task provides metadata and data iterators of the data source for the external. In addition, the subclass LabeledDataSource indicates that the input data has a label for verifying the accuracy.
Model metadata of the inferred task is used for an interpreter to load a Model file and call a Model to calculate when the task is executed.
Interpreter: the interpreter of the inference task is the abstraction realized by each bottom layer inference frame, provides a setting model for the outside, sets hardware configuration, executes the inference task, releases the interfaces of bottom layer frame resources and the like.
Metrics: and the monitoring and counting module of the inference task receives and stores the counting data written in each part, including data such as abnormity, resource utilization rate, throughput rate, model accuracy rate and the like, and can be used for a developer to perform data analysis later.
The second part is an abstraction for the inference task, which mainly comprises:
task: for the abstraction of executing the whole inferred task execution flow, the preparation flow, the task execution flow, the task state update and the processing flow after the task execution are respectively represented by onPreExecute, execute, onProgressUpdate and onPostExecute. The specific execution of execute depends on a specific interpreter, namely, a related interface of a calling interpreter is realized.
Iprogreslisterener: is an interface, which is an abstraction of the upper layer application. The application should register the specific implementation of the interface when constructing the Task in order to receive progress update information that infers the execution of the Task.
Further, the abstract adaptation module specifically includes:
the first sub-module is used for adapting a corresponding specific interpreter singleton to different bottom-layer deep learning frames;
the second submodule is used for creating model examples for different model files and initializing relevant metadata of the model examples;
and the third submodule is used for adapting a specific data source example for different types of data input.
Further, the service module is specifically configured to:
and calling the bottom interpreter adapted by the abstract adapting module to complete the execution of the task, and calling the monitoring statistical module to store corresponding statistical data.
The method adopts a template method mode in a design mode theory, and rewrites three modules of an abstracted Interpreter Interpreter, a Model, a data source DataSource, a deployment framework management class Engine and a monitoring statistics class Metrics into abstract classes. The abstract class implements only the invariant parts of an algorithm, such as run method in interpreter, buildTask method and executeTask method in Engine, etc., and leaves the variable part to be implemented by the subclass (implementation class). An abstract class specifies for a subclass the methods that must be implemented. Thus, when a developer adapts to a new actuator or data source type, there may be a corresponding specification that can be followed.
The method realizes the corresponding data source aiming at the common image classification task of the mobile terminal: tagged image dataset (ImageDataSet) and untagged Camera (Camera).
The method aims at Tensorflow Lite, MNN, ncnn, TVM and the like which use JNI to call C + + Native interfaces, corresponding Interpreter classes are respectively realized, the classes are inherited from an Interpreter class, and when relevant interfaces are called, a calling party can block until the Native method of a bottom-layer executor is executed and returns.
Js, another class of interpreter, async interpreter, is abstracted away for tensrflow. Since the common programming model for JavaScript is an asynchronous programming model, the interpreter will return immediately after calling the programming interface of tensorflow. If a synchronous execution mode is presented externally, a callback function needs to be registered in an execution method of JavaScript, namely, after the execution of the method of TensorFlow.js is finished, a related event response function of AsyncInterpreter is actively called, and a method call of the next step is connected in series in the event response function.
Because the component interacting with the user in the Android system is mainly Activity, the Activity is required to realize an iprogreslistener interface so as to achieve the purpose of interacting with the application program.
In addition, the resource applied by the application program in the Android system also needs to be bound with the life cycle of the application program, and the application of the resource mainly calls a related method of the Context of the application program. Therefore, when initializing the unified deployment framework Engine, the Context of the application program needs to be injected into the unified deployment framework Engine, and when applying for the relevant resources, the deployment framework Engine calls the method of the Context to perform the relevant operation.
Example two:
as shown in figure 2 of the drawings, in which,
the present disclosure can also provide a method for unified deployment of an Android-oriented deep learning model, which is applied to a system for unified deployment of an Android-oriented deep learning model in the first embodiment, and the method includes:
s201: initializing a uniform deployment system;
specifically, the S201 specifically includes:
the data source and/or model is loaded and the interpreter context is initialized.
S202: constructing an inference task and executing the inference task to obtain an execution result;
specifically, the S202 specifically includes:
creating an inference task, specifying a model, a data source and/or an interpreter, and specifying operations before and after the start of the task;
loading single-input data, calling an interpreter interpretation model, and calculating to obtain an execution result of an inference task;
obtaining the execution result of the inference task.
Further, the execution result specifically includes:
the output of the neural network, the catalog of classification tasks and/or the output result of the regression task.
S203: acquiring task execution statistical data;
specifically, the S203 specifically includes:
and acquiring statistical data in the process of deducing task execution through the monitoring statistical module, wherein the statistical data comprises model accuracy, resource occupancy rate and/or throughput rate indexes.
S204: and closing the unified deployment system.
In the case of initializing the unified deployment framework, a user opens an application program, and the application program triggers the initialization of the unified deployment framework in the loading process. The application registers the corresponding model, data source, and interpreter with the deployment framework, which can also be done later if needed.
In constructing the inference task, the user interacts with the application, which determines that the user is about to perform an inference task, and then the user manually or automatically sets various options of the inference task, including models, data sources, interpreters, hardware parameters, etc. And calling the deployment framework by the application program to generate a task instance, and transmitting options set by a user to a constructor of the task in the form of option parameters.
The usage of executing inference tasks is one of the most complex of the individual usage. In this case, the user interacts with the application, triggering the execution of the inference task: the application program calls a deployment framework to execute an inference task, the deployment framework firstly opens a monitoring statistical module to monitor resources occupied by the inference task, and then calls a pre-execution method (onPreExecute), an execution method (execute) and a post-execution method (onPostExecute) of the inference task respectively in sequence. Since these methods usually need to process a large amount of data, the execution results of the three methods need to notify the deployment framework using asynchronous callback method, and then the deployment framework calls the next method in sequence. During the execution of the inference task, all related operations of the underlying inference framework are executed by mapping the interpreter set in the task creation process to the API provided by the underlying framework. During the task execution, each time after the execution of a single inference task is finished, a progress update method (onprogress update) of the inference task is triggered. During execution, if the task is inferred to need to use the related system resource, the corresponding API of the deployment framework is called. And finally, after all tasks are executed, inferring a task callback to notify a deployment framework, calling an execution method of the deployment task by the deployment framework, and processing a return result or performing operations such as resource release and the like. And then the deployment framework calls back the processed execution result to notify the application program and notifies the monitoring statistical module to stop monitoring.
In the process of constructing the inferred task use condition, the user interacts with the application program, and the application program calls the monitoring statistical module to obtain statistical data of the inferred task.
In the case of closing the unified deployment framework, the user interacts with the application program, the application program calls a closing method of the deployment framework, and the deployment framework performs operations such as resource release and connection closing.
Example three:
the present disclosure can also provide a computer storage medium having a computer program stored thereon, where the computer program is executed by a processor to implement the steps of the unified deployment method for the Android-oriented deep learning model.
The computer storage medium of the present disclosure may be implemented with a semiconductor memory, a magnetic core memory, a magnetic drum memory, or a magnetic disk memory.
Semiconductor memories are mainly used as semiconductor memory elements of computers, and there are two types, Mos and bipolar memory elements. Mos devices have high integration, simple process, but slow speed. The bipolar element has the advantages of complex process, high power consumption, low integration level and high speed. NMos and CMos were introduced to make Mos memory dominate in semiconductor memory. NMos is fast, e.g. 45ns for 1K bit sram from intel. The CMos power consumption is low, and the access time of the 4K-bit CMos static memory is 300 ns. The semiconductor memories described above are all Random Access Memories (RAMs), i.e. read and write new contents randomly during operation. And a semiconductor Read Only Memory (ROM), which can be read out randomly but cannot be written in during operation, is used to store solidified programs and data. The ROM is classified into a non-rewritable fuse type ROM, PROM, and a rewritable EPROM.
The magnetic core memory has the characteristics of low cost and high reliability, and has more than 20 years of practical use experience. Magnetic core memories were widely used as main memories before the mid 70's. The storage capacity can reach more than 10 bits, and the access time is 300ns at the fastest speed. The typical international magnetic core memory has a capacity of 4 MS-8 MB and an access cycle of 1.0-1.5 mus. After semiconductor memory is rapidly developed to replace magnetic core memory as a main memory location, magnetic core memory can still be applied as a large-capacity expansion memory.
Drum memory, an external memory for magnetic recording. Because of its fast information access speed and stable and reliable operation, it is being replaced by disk memory, but it is still used as external memory for real-time process control computers and medium and large computers. In order to meet the needs of small and micro computers, subminiature magnetic drums have emerged, which are small, lightweight, highly reliable, and convenient to use.
Magnetic disk memory, an external memory for magnetic recording. It combines the advantages of drum and tape storage, i.e. its storage capacity is larger than that of drum, its access speed is faster than that of tape storage, and it can be stored off-line, so that the magnetic disk is widely used as large-capacity external storage in various computer systems. Magnetic disks are generally classified into two main categories, hard disks and floppy disk memories.
Hard disk memories are of a wide variety. The structure is divided into a replaceable type and a fixed type. The replaceable disk is replaceable and the fixed disk is fixed. The replaceable and fixed magnetic disks have both multi-disk combinations and single-chip structures, and are divided into fixed head types and movable head types. The fixed head type magnetic disk has a small capacity, a low recording density, a high access speed, and a high cost. The movable head type magnetic disk has a high recording density (up to 1000 to 6250 bits/inch) and thus a large capacity, but has a low access speed compared with a fixed head magnetic disk. The storage capacity of a magnetic disk product can reach several hundred megabytes with a bit density of 6250 bits per inch and a track density of 475 tracks per inch. The disk set of the multiple replaceable disk memory can be replaced, so that the disk set has large off-body capacity, large capacity and high speed, can store large-capacity information data, and is widely applied to an online information retrieval system and a database management system.
Example four:
the present disclosure also provides an electronic device, which includes a memory, a processor, and a computer program stored in the memory and capable of running on the processor, and the steps of the method for unified deployment of the deep learning model for Android are implemented when the processor executes the computer program.
Fig. 3 is a schematic diagram of an internal structure of an electronic device in one embodiment. As shown in fig. 3, the electronic device includes a processor, a storage medium, a memory, and a network interface connected through a system bus. The storage medium of the computer device stores an operating system, a database and computer readable instructions, the database can store control information sequences, and the computer readable instructions, when executed by the processor, enable the processor to realize a deep learning model uniform deployment method facing Android. The processor of the electrical device is used to provide computing and control capabilities to support the operation of the entire computer device. The memory of the computer device can store computer readable instructions, and when the computer readable instructions are executed by the processor, the processor can execute a unified deployment method of the deep learning model facing Android. The network interface of the computer device is used for connecting and communicating with the terminal. Those skilled in the art will appreciate that the architecture shown in fig. 3 is merely a block diagram of some of the structures associated with the disclosed aspects and is not intended to limit the computing devices to which the disclosed aspects apply, as particular computing devices may include more or less components than those shown, or may combine certain components, or have a different arrangement of components.
The electronic device includes, but is not limited to, a smart phone, a computer, a tablet, a wearable smart device, an artificial smart device, a mobile power source, and the like.
The processor may be composed of an integrated circuit in some embodiments, for example, a single packaged integrated circuit, or may be composed of a plurality of integrated circuits packaged with the same or different functions, including one or more Central Processing Units (CPUs), microprocessors, digital Processing chips, graphics processors, and combinations of various control chips. The processor is a Control Unit of the electronic device, connects various components of the electronic device by using various interfaces and lines, and executes various functions and processes data of the electronic device by running or executing programs or modules (for example, executing remote data reading and writing programs, etc.) stored in the memory and calling data stored in the memory.
The bus may be a Peripheral Component Interconnect (PCI) bus, an Extended Industry Standard Architecture (EISA) bus, or the like. The bus may be divided into an address bus, a data bus, a control bus, etc. The bus is arranged to enable connected communication between the memory and at least one processor or the like.
Fig. 3 shows only an electronic device having components, and those skilled in the art will appreciate that the structure shown in fig. 3 does not constitute a limitation of the electronic device, and may include fewer or more components than those shown, or some components may be combined, or a different arrangement of components.
For example, although not shown, the electronic device may further include a power supply (such as a battery) for supplying power to each component, and preferably, the power supply may be logically connected to the at least one processor through a power management device, so that functions such as charge management, discharge management, and power consumption management are implemented through the power management device. The power supply may also include any component of one or more dc or ac power sources, recharging devices, power failure detection circuitry, power converters or inverters, power status indicators, and the like. The electronic device may further include various sensors, a bluetooth module, a Wi-Fi module, and the like, which are not described herein again.
Further, the electronic device may further include a network interface, and optionally, the network interface may include a wired interface and/or a wireless interface (such as a WI-FI interface, a bluetooth interface, etc.), which are generally used to establish a communication connection between the electronic device and other electronic devices.
Optionally, the electronic device may further comprise a user interface, which may be a Display (Display), an input unit (such as a Keyboard), and optionally a standard wired interface, a wireless interface. Alternatively, in some embodiments, the display may be an LED display, a liquid crystal display, a touch-sensitive liquid crystal display, an OLED (Organic Light-Emitting Diode) touch device, or the like. The display, which may also be referred to as a display screen or display unit, is suitable, among other things, for displaying information processed in the electronic device and for displaying a visualized user interface.
Further, the computer usable storage medium may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application program required for at least one function, and the like; the storage data area may store data created according to the use of the blockchain node, and the like.
In the embodiments provided in the present invention, it should be understood that the disclosed apparatus, device and method can be implemented in other ways. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the modules is only one logical functional division, and other divisions may be realized in practice.
The modules described as separate parts may or may not be physically separate, and parts displayed as modules may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the present embodiment.
In addition, functional modules in the embodiments of the present invention may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, or in a form of hardware plus a software functional module.
The embodiments of the present disclosure have been described above. However, these examples are for illustrative purposes only and are not intended to limit the scope of the present disclosure. The scope of the disclosure is defined by the appended claims and equivalents thereof. Various alternatives and modifications can be devised by those skilled in the art without departing from the scope of the present disclosure, and such alternatives and modifications are intended to be within the scope of the present disclosure.

Claims (10)

1. The utility model provides a deep learning model unified deployment system towards Android which characterized in that includes:
the monitoring and counting module is used for completing monitoring and counting executed on the whole system and log reading and writing;
the abstract adaptation module is used for providing an interpreter, a model and/or a data source required by the deep learning inference process;
and the service module is used for providing a uniform programming interface for the Android application program.
2. The system according to claim 1, wherein the abstract adaptation module comprises in particular:
the first sub-module is used for adapting a corresponding specific interpreter singleton to different bottom-layer deep learning frames;
the second submodule is used for creating model examples for different model files and initializing relevant metadata of the model examples;
and the third submodule is used for adapting a specific data source example for different types of data input.
3. The system of claim 1, wherein the service module is specifically configured to:
and calling the bottom interpreter adapted by the abstract adapting module to complete the execution of the task, and calling the monitoring statistical module to store corresponding statistical data.
4. An Android-oriented deep learning model unified deployment method is applied to the Android-oriented deep learning model unified deployment system as claimed in any one of claims 1 to 3, and is characterized by comprising the following steps:
initializing a uniform deployment system;
constructing an inference task and executing the inference task to obtain an execution result;
acquiring task execution statistical data;
and closing the unified deployment system.
5. The method according to claim 4, wherein initializing the unified deployment system specifically comprises:
the data source and/or model is loaded and the interpreter context is initialized.
6. The method of claim 4, wherein the building an inference task and executing the inference task to obtain an execution result specifically comprises:
creating an inference task, specifying a model, a data source and/or an interpreter, and specifying operations before and after the start of the task;
loading single-input data, calling an interpreter interpretation model, and calculating to obtain an execution result of an inference task;
obtaining the execution result of the inference task.
7. The method of claim 6, wherein the execution result specifically comprises:
the output of the neural network, the catalog of classification tasks and/or the output result of the regression task.
8. The method of claim 4, wherein the obtaining task execution statistics specifically comprises:
and acquiring statistical data in the process of deducing task execution through the monitoring statistical module, wherein the statistical data comprises model accuracy, resource occupancy rate and/or throughput rate indexes.
9. An electronic device, comprising a memory, a processor and a computer program stored in the memory and capable of running on the processor, wherein the processor implements the steps corresponding to the Android-oriented deep learning model unified deployment method in any one of claims 4 to 8 when executing the computer program.
10. A computer storage medium having computer program instructions stored thereon, wherein the program instructions, when executed by a processor, are configured to implement the steps corresponding to the unified deployment method for the Android-oriented deep learning model as claimed in any one of claims 4 to 8.
CN202110049287.7A 2021-01-14 2021-01-14 Android-oriented deep learning model unified deployment system, method, equipment and medium Pending CN112698841A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110049287.7A CN112698841A (en) 2021-01-14 2021-01-14 Android-oriented deep learning model unified deployment system, method, equipment and medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110049287.7A CN112698841A (en) 2021-01-14 2021-01-14 Android-oriented deep learning model unified deployment system, method, equipment and medium

Publications (1)

Publication Number Publication Date
CN112698841A true CN112698841A (en) 2021-04-23

Family

ID=75514830

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110049287.7A Pending CN112698841A (en) 2021-01-14 2021-01-14 Android-oriented deep learning model unified deployment system, method, equipment and medium

Country Status (1)

Country Link
CN (1) CN112698841A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114756211A (en) * 2022-05-13 2022-07-15 北京百度网讯科技有限公司 Model training method and device, electronic equipment and storage medium

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180136912A1 (en) * 2016-11-17 2018-05-17 The Mathworks, Inc. Systems and methods for automatically generating code for deep learning systems
CN108363478A (en) * 2018-01-09 2018-08-03 北京大学 For wearable device deep learning application model load sharing system and method
CN109189469A (en) * 2018-06-22 2019-01-11 北京大学 Android application micro services method and system based on reflection
CN110245493A (en) * 2019-05-22 2019-09-17 中国人民公安大学 A method of the Android malware detection based on depth confidence network
CN111341462A (en) * 2020-02-27 2020-06-26 上海泗科智能科技有限公司 Mobile phone terminal diabetic retinopathy screening APP based on deep learning
CN111488211A (en) * 2020-04-09 2020-08-04 北京嘀嘀无限科技发展有限公司 Task processing method, device, equipment and medium based on deep learning framework
US20200293774A1 (en) * 2019-03-15 2020-09-17 International Business Machines Corporation Data labeling for deep-learning models
CN111767059A (en) * 2020-06-30 2020-10-13 北京百度网讯科技有限公司 Deployment method and device of deep learning model, electronic equipment and storage medium

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180136912A1 (en) * 2016-11-17 2018-05-17 The Mathworks, Inc. Systems and methods for automatically generating code for deep learning systems
CN108363478A (en) * 2018-01-09 2018-08-03 北京大学 For wearable device deep learning application model load sharing system and method
CN109189469A (en) * 2018-06-22 2019-01-11 北京大学 Android application micro services method and system based on reflection
US20200293774A1 (en) * 2019-03-15 2020-09-17 International Business Machines Corporation Data labeling for deep-learning models
CN110245493A (en) * 2019-05-22 2019-09-17 中国人民公安大学 A method of the Android malware detection based on depth confidence network
CN111341462A (en) * 2020-02-27 2020-06-26 上海泗科智能科技有限公司 Mobile phone terminal diabetic retinopathy screening APP based on deep learning
CN111488211A (en) * 2020-04-09 2020-08-04 北京嘀嘀无限科技发展有限公司 Task processing method, device, equipment and medium based on deep learning framework
CN111767059A (en) * 2020-06-30 2020-10-13 北京百度网讯科技有限公司 Deployment method and device of deep learning model, electronic equipment and storage medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MENGWEI XU ET AL.: ""DeepWear: Adaptive Local Offloading for On-Wearable Deep Learning"", 《IEEE TRANSACTIONS ON MOBILE COMPUTING》, vol. 19, no. 2, pages 14 - 26 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114756211A (en) * 2022-05-13 2022-07-15 北京百度网讯科技有限公司 Model training method and device, electronic equipment and storage medium
CN114756211B (en) * 2022-05-13 2022-12-16 北京百度网讯科技有限公司 Model training method and device, electronic equipment and storage medium

Similar Documents

Publication Publication Date Title
EP3754496B1 (en) Data processing method and related products
US9529692B2 (en) Memory management tools
EP3030969B1 (en) Automated application test system
CN111625452A (en) Flow playback method and system
Liu et al. G3: when graph neural networks meet parallel graph processing systems on GPUs
CN111176802A (en) Task processing method and device, electronic equipment and storage medium
CN110362363B (en) Method for realizing terminal application control based on runtime model
CN112090079B (en) Game task running method and device, computer equipment and storage medium
US10241895B2 (en) Memory stack trace management tool
EP4055483A1 (en) Page simulation system
CN108985459A (en) The method and apparatus of training pattern
CN112698841A (en) Android-oriented deep learning model unified deployment system, method, equipment and medium
CN114185874A (en) Big data based modeling method and device, development framework and equipment
Shan et al. KubeAdaptor: A docking framework for workflow containerization on Kubernetes
CN114610597A (en) Pressure testing method, device, equipment and storage medium
FR2991074A1 (en) METHOD, DEVICE AND COMPUTER PROGRAM FOR DYNAMICALLY CONTROLLING MEMORY ACCESS DISTANCES IN A NUMA-TYPE SYSTEM
US10152318B2 (en) Computer system and method for executing applications with new data structures
CN111459547B (en) Method and device for displaying function call link
CN114756293A (en) Service processing method, device, computer equipment and storage medium
CN114625448A (en) Flow generation method and device combining RPA and AI, electronic equipment and storage medium
CN110347448B (en) Method for constructing runtime model of terminal application behavior
US7743244B2 (en) Computer system model generation with tracking of actual computer system configuration
CN115421712A (en) Software development method, device, equipment and medium based on component model
Zhang Intelligent Scheduling for IoT Applications at the Network Edge
CN115617341A (en) Software compiling system, method, medium and equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination