Algorithm delivery method and device, equipment and storage medium
By building the target operating environment and performing predetermined detection and processing, verifying the operating status of the algorithm to be delivered, the operation problems caused by developers' direct delivery of the algorithm are solved, and the reliable delivery of the algorithm and the improvement of user experience are achieved.
Patent Information
- Application Number
- CN202510288191.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-12
- Publication Date
- 2025-06-13
AI Technical Summary
In the prior art, developers directly deliver the algorithm to users, resulting in users that may encounter problems such as the code being unable to run and the algorithm effect not meeting expectations, which affects the user experience and the actual implementation of the algorithm.
By obtaining the delivery work orders of the algorithm to be delivered, building the target operating environment, and performing predetermined detection and processing of the algorithm to be delivered to determine the verification results. If the verification is passed, the algorithm is delivered to the user.
Effectively verify the code running status of the algorithm to be delivered, reduce algorithm running problems, realize reliable algorithm delivery, and improve user experience.
Smart Images

Figure CN120144174A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of data processing, and in particular, to an algorithm delivery method, device, equipment, and storage medium. Background Art
[0002] Generally, the delivery process of an algorithm is that developers test the algorithm and then deliver it. The algorithm refers to a series of well-defined computational steps or methods for solving specific problems or performing specific tasks, and in the programming field, the algorithm is represented in the form of code. The delivery means providing the code of the algorithm to users for use.
[0003] However, when developers directly deliver the algorithm to users for use, users may encounter algorithm operation problems such as the code not being able to run and the algorithm effect not meeting expectations, resulting in a poor user experience and affecting the actual implementation of the algorithm.
[0004] Therefore, there is an urgent need for an algorithm delivery method to reduce the algorithm operation problems of the delivered algorithm, so as to achieve reliable delivery of the algorithm. Summary of the Invention
[0005] The purpose of the embodiments of the present invention is to provide an algorithm delivery method, device, equipment, and storage medium to reduce the algorithm operation problems of the delivered algorithm, so as to achieve reliable delivery of the algorithm. The specific technical solutions are as follows:
[0006] In a first aspect, the present application provides an algorithm delivery method, which is applied to a delivery platform; the method includes:
[0007] Obtain a delivery work order for the algorithm to be delivered; wherein, the delivery work order includes an algorithm address and target configuration information; the algorithm address is the storage address of the code of the algorithm to be delivered; the target configuration information is resource information about software and / or hardware required to build the operating environment of the algorithm to be delivered;
[0008] Based on the target configuration information, build a target operating environment for running the algorithm to be delivered;
[0009] Obtain the code of the algorithm to be delivered from the algorithm address;
[0010] Perform a predetermined detection process on the algorithm to be delivered to obtain data to be analyzed; wherein, the predetermined detection process at least includes: detecting the running state of the code of the algorithm to be delivered in the target operating environment; the data to be analyzed is data related to the running state of the code of the algorithm to be delivered in the target operating environment;
[0011] Based on the data to be analyzed, determine the verification result of the algorithm to be delivered;
[0012] If the verification result is verification passed, then deliver the algorithm to be delivered to the user; wherein, the verification passed at least indicates that the code of the algorithm to be delivered runs normally.
[0013] In a second aspect of the implementation of the present invention, an algorithm delivery device is further provided, and the device is applied to a delivery platform; the device includes:
[0014] A first acquisition module, configured to acquire a delivery work order of an algorithm to be delivered; wherein, the delivery work order includes an algorithm address and target configuration information; the algorithm address is the storage address of the code of the algorithm to be delivered; the target configuration information is resource information about software and / or hardware required to construct the operating environment of the algorithm to be delivered;
[0015] A construction module, configured to construct a target operating environment for running the algorithm to be delivered based on the target configuration information;
[0016] A second acquisition module, configured to acquire the code of the algorithm to be delivered from the algorithm address;
[0017] A detection module, configured to perform a predetermined detection process on the algorithm to be delivered to obtain data to be analyzed; wherein, the predetermined detection process at least includes: detecting the running state of the code of the algorithm to be delivered in the target operating environment; the data to be analyzed is data related to the running state of the code of the algorithm to be delivered in the target operating environment;
[0018] A determination module, configured to determine the verification result of the algorithm to be delivered based on the data to be analyzed;
[0019] A delivery module, configured to if the verification result is verification passed, then deliver the algorithm to be delivered to the user; wherein, the verification passed at least indicates that the code of the algorithm to be delivered runs normally.
[0020] In a third aspect of the implementation of the present invention, an electronic device is further provided, including a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory communicate with each other through the communication bus;
[0021] The memory is used for storing a computer program;
[0022] The processor is configured to implement the algorithm delivery method described in any one of the above when executing the program stored on the memory.
[0023] In a fourth aspect of the implementation of the present invention, a computer-readable storage medium is further provided. The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the above-mentioned algorithm delivery method is implemented.
[0024] In yet another aspect of the implementation of the present invention, a computer program product containing instructions is further provided. When it runs on a computer, it causes the computer to execute the above-mentioned algorithm delivery method.
[0025] The solution of the present application can construct a target running environment required for the operation of the algorithm to be delivered based on the delivery work order of the algorithm to be delivered, perform predetermined detection processing on the algorithm to be delivered in the target running environment, and obtain data to be analyzed. The data to be analyzed is data related to the code running state of the algorithm to be delivered; based on the data to be analyzed, the verification result of the algorithm to be delivered is determined. If the verification result is verification passed, it at least indicates that the code of the algorithm to be delivered runs normally, and the algorithm to be delivered can be delivered to the user. It can be seen that the solution of the present application can effectively verify the code running state of the algorithm to be delivered, thereby reducing the algorithm running problems existing in the delivered algorithms and realizing the reliable delivery of the algorithms. BRIEF DESCRIPTION OF THE DRAWINGS
[0026] In order to more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the following will briefly introduce the drawings required for the description of the embodiments or the prior art.
[0027] Figure 1 It is a schematic flowchart of an algorithm delivery method provided by an embodiment of the present application;
[0028] Figure 2 It is an example diagram of a delivery work order provided by an embodiment of the present application;
[0029] Figure 3 It is a schematic diagram of human-computer interaction for algorithm delivery provided by an embodiment of the present application;
[0030] Figure 4 It is a schematic structural diagram of an algorithm delivery device provided by an embodiment of the present application;
[0031] Figure 5 It is a schematic structural diagram of an electronic device provided by an embodiment of the present application. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0032] The following will describe the technical solutions in the embodiments of the present invention with reference to the drawings in the embodiments of the present invention.
[0033] In the technical solution of this application, operations such as the acquisition, storage, use, processing, transmission, provision, and disclosure of the user's personal information are all carried out under the condition of obtaining the user's authorization.
[0034] To reduce the algorithm operation problems of the algorithm for completing delivery, so as to achieve reliable delivery of the algorithm, an embodiment of this application provides an algorithm delivery method. The method is applied to a delivery platform; the delivery platform is the backend, that is, the server side, which has the function of verifying the algorithms submitted by developers and delivering the verified algorithms to users. Specifically, the delivery platform can be a server and other devices that can implement the algorithm delivery method of this application, and the delivery platform has a corresponding frontend, that is, the client, such as web pages and applets. Users can operate in the client corresponding to the delivery platform to obtain the algorithms verified by using the algorithm delivery method of this application.
[0035] The method includes:
[0036] Obtain a delivery work order for the algorithm to be delivered; wherein, the delivery work order includes an algorithm address and target configuration information; the algorithm address is the storage address of the code of the algorithm to be delivered; the target configuration information is resource information about software and / or hardware required to build the operating environment of the algorithm to be delivered.
[0037] Based on the target configuration information, build a target operating environment for running the algorithm to be delivered.
[0038] Obtain the code of the algorithm to be delivered from the algorithm address.
[0039] Perform a predetermined detection process on the algorithm to be delivered to obtain data to be analyzed; wherein, the predetermined detection process at least includes: detecting the running state of the code of the algorithm to be delivered in the target operating environment; the data to be analyzed is data related to the running state of the code of the algorithm to be delivered in the target operating environment.
[0040] Based on the data to be analyzed, determine the verification result of the algorithm to be delivered.
[0041] If the verification result is verification passed, then deliver the algorithm to be delivered to the user; wherein, the verification passed at least indicates that the code of the algorithm to be delivered runs normally.
[0042] The solution of this application can construct a target operating environment required for the operation of the algorithm to be delivered based on the delivery work order of the algorithm to be delivered, perform predetermined detection processing on the algorithm to be delivered in the target operating environment to obtain data to be analyzed, where the data to be analyzed is data related to the code running status of the algorithm to be delivered; determine the verification result of the algorithm to be delivered based on the data to be analyzed. If the verification result is verification passed, it at least indicates that the code of the algorithm to be delivered runs normally, and the algorithm to be delivered can be delivered to the user. It can be seen that the solution of this application can effectively verify the code running status of the algorithm to be delivered, thereby reducing algorithm running problems existing in the delivered algorithms and realizing reliable delivery of the algorithms.
[0043] Next, with reference to the accompanying drawings, an algorithm delivery method provided by an embodiment of this application will be introduced.
[0044] As Figure 1 shown, an algorithm delivery method provided by an embodiment of this application, which is applied to a delivery platform, may include the following steps:
[0045] S101, obtain the delivery work order of the algorithm to be delivered; where the delivery work order includes an algorithm address and target configuration information; the algorithm address is the storage address of the code of the algorithm to be delivered; the target configuration information is resource information about software and / or hardware required to construct the operating environment of the algorithm to be delivered;
[0046] The storage address of the code may be the Git address of the code. The Git address refers to the URL (Universal Resource Locator) of the Git repository used to access and manage the code repository. This address is usually used to clone the code repository to a local computer.
[0047] The storage address of the code may also be the storage address corresponding to the file of the code.
[0048] The software required to construct the operating environment of the algorithm to be delivered may include basic images required for algorithm deployment, etc. The hardware required to construct the operating environment of the algorithm to be delivered may include the type of gpu (Graphics Processing Unit), cpu (Central Processing Unit), and memory, etc.
[0049] The basic image usually may include an operating system, a programming language environment, and basic dependencies.
[0050] Operating System: The base image usually contains a lightweight operating system, such as a certain distribution of Linux, debian (an operating system software), centos (Community Enterprise Operating System), etc. The operating system provides the basic running environment and system resources for the algorithm.
[0051] Programming Language Environment: According to the programming language used by the algorithm, the base image will contain the corresponding programming language environment. For example, if the algorithm is written in Python, then the base image can contain the Python interpreter and related library files.
[0052] Base Dependencies: Refers to the image files of the necessary dependencies required for the algorithm to run. It can be understood that when the algorithm runs, it can depend on objects such as the standard library of the programming language, third-party libraries, frameworks, build tools, and test frameworks. These dependent objects are called base dependencies. These dependencies need to be pre-installed in the base image to ensure the normal operation of the algorithm. For example, a deep learning algorithm using TensorFlow (an artificial intelligence learning system) requires the support of the TensorFlow library. The base image required for algorithm deployment can provide a standardized running environment for the algorithm to ensure its stable operation. The target configuration information can include hardware resource information and description information of the base image.
[0053] The hardware resource information is used to indicate the parameters of the device required for the operation of the to-be-delivered algorithm.
[0054] The description information of the base image can be the storage address of the data of the base image, and the data of the base image can be obtained from the storage address. The description information of the base image can also be the information indicating the base image required for the algorithm to run. Thus, based on the description information of the base image, the data of the base image can be obtained from the database. The database can store data of various types of base images. Specifically, the obtained data of the base image can be the data of the operating system, programming language environment, and base dependencies.
[0055] Using the description information of the base image, the data of the operating system, programming language environment, and base dependencies can be obtained to build a target running environment for running the to-be-delivered algorithm in a device with the same device parameters as indicated by the hardware resource information.
[0056] The target configuration information can also include dependency configuration item information.
[0057] The dependent configuration items refer to components such as libraries, frameworks, modules, and other algorithms required during the operation of the algorithm. There is a difference between the basic dependent configuration in the base image and the dependent configuration items. The basic dependent configuration in the base image can be applicable to multiple algorithms of the same type, while the dependent configuration items are strongly related to the algorithm itself, and different algorithms correspond to different dependent configuration items.
[0058] The dependent configuration item information can be the storage address of the data of the dependent configuration item, and the data of the dependent configuration item can be obtained from the storage address. The dependent configuration item information can also be the information indicating the dependent configuration items required for the operation of the algorithm. Thus, based on the dependent configuration item information, the data of the dependent configuration item can be obtained from the database. The database can store data of various types of dependent configuration items.
[0059] Optionally, the method further includes:
[0060] In response to receiving a delivery task trigger request for the algorithm to be delivered, based on the delivery task trigger request, allocate a test device to the sender of the delivery task trigger request, so that the sender can complete the debugging of the algorithm to be delivered on the test device; wherein, the delivery task trigger request includes the parameters of the test device required by the sender.
[0061] In response to receiving an instruction sent by the sender indicating that the debugging is completed, provide an interface for filling out a delivery work order to the sender, so that the sender can fill out the delivery work order of the algorithm to be delivered on the interface.
[0062] The sender of the instruction can be any user, such as a developer of the algorithm. When the sender of the instruction wants to deliver the algorithm to be delivered, the sender can first send a delivery task trigger request for the algorithm to be delivered to the delivery platform through the client of the delivery platform, so as to obtain the test device allocated to the sender of the instruction. The sender of the instruction can complete the debugging of the algorithm to be delivered on the test device. The sender of the instruction can record the content required to be filled in the delivery work order during the debugging process. After the debugging is completed by the sender of the instruction, the sender of the instruction can send an instruction indicating that the debugging is completed to the delivery platform through the client of the delivery platform, and the client of the delivery platform can display an interface for filling out a delivery work order, and the sender of the instruction can fill out the delivery work order of the algorithm to be delivered on the interface.
[0063] Of course, the above embodiments are only one implementation manner of the present application. The user can also not apply for a test device on the delivery platform. The hardware and software used by the user to debug the algorithm can be prepared by the user himself / herself, and the user can directly fill out the delivery work order on the interface for filling out the delivery work order on the client of the delivery platform.
[0064] S102, construct a target running environment for running the to-be-delivered algorithm based on the target configuration information.
[0065] In the above embodiments, it is introduced that the target configuration information may include hardware resource information and description information of the base image.
[0066] In this application, to construct a target running environment for running the to-be-delivered algorithm, the device used to construct the target running environment may first be determined by using the hardware resource information in the target configuration information, and then the data of the operating system, programming language environment, and basic dependencies may be obtained by using the description information of the base image to construct the target running environment in the device.
[0067] Devices for running algorithms may be provided in advance to support the construction of a target running environment for running the to-be-delivered algorithm. The performance of the device meets the performance required by the algorithm.
[0068] However, the performance requirements of the devices corresponding to different algorithms are different. Therefore, a device with the same performance as the device required by each algorithm may be allocated to reduce the waste of device performance.
[0069] In one implementation, multiple devices may be prepared in advance to provide hardware support for running algorithms. The hardware resource information may include the type of gpu (Graphics Processing Unit), the number of cpu (Central Processing Unit) cores, and the memory size. Thus, a device with the same hardware resource information may be selected from each device as the target device. The target device supports the construction of a target running environment for running the to-be-delivered algorithm, and the performance provided by the target device is the same as the performance required by the algorithm, thereby reducing the waste of hardware resources.
[0070] Generally, by using the description information of the base image, a target running environment for running the to-be-delivered algorithm may be constructed in the device. However, in order to construct a target running environment that is more compatible with the algorithm itself, the running configuration information may include hardware resource information, description information of the base image, and dependency configuration item information;
[0071] In this implementation, the constructing a target running environment for running the to-be-delivered algorithm based on the target configuration information includes:
[0072] Select a device with the same parameters indicated by the hardware resource information as the target device;
[0073] Deploy the image system and basic dependency configuration indicated by the description information of the basic image in the target device;
[0074] Deploy the dependency configuration items indicated by the dependency configuration item information in the image system.
[0075] The solution of this embodiment can deploy the dependency configuration items required by the algorithm to be delivered in the image system, providing support for the operation of the algorithm to be delivered.
[0076] For different programming languages, the specific forms of the dependency configuration items may vary. Exemplarily, for the Python language, the dependency configuration items may include pip dependencies and / or non-pip dependencies.
[0077] The pip dependency refers to the dependency installed and managed through the Python package management tool pip. Pip is the official package management tool for Python, which allows developers to download and install the required libraries from the Python Package Index (a collection of Python open-source libraries).
[0078] The non-pip dependency refers to the dependency that is not installed and managed through pip. These dependencies may come from other channels, such as source code, pre-compiled binary files, or other package management tools, etc.
[0079] The pip dependency and / or non-pip dependency are the dependency items that may be used in a Python language project.
[0080] Optionally, the operation configuration information may further include the network configuration information required for the algorithm to run.
[0081] Some algorithm operations need to be in the corresponding network environment. Therefore, based on the network configuration information, the corresponding network environment can be configured in the image system according to the network configuration information, providing support for the operation of the algorithm to be delivered.
[0082] S103, Obtain the code of the algorithm to be delivered from the algorithm address;
[0083] Obtaining the code of the algorithm to be delivered is for subsequent running of the code in the above-configured target running environment. A corresponding code engineering project can be established for the code in the target running environment, which is convenient for running the code subsequently.
[0084] S104. Perform a predetermined detection process on the to-be-delivered algorithm to obtain data to be analyzed. Among them, the predetermined detection process at least includes: detecting the running state of the code of the to-be-delivered algorithm in the target running environment; the data to be analyzed is data related to the running state of the code of the to-be-delivered algorithm in the target running environment.
[0085] The predetermined detection process may include a detection process for whether the algorithm is running normally. The data to be analyzed may include the detection result of whether the algorithm is running normally or abnormally obtained by detection.
[0086] Optionally, the predetermined detection process further includes detecting each performance index of the to-be-delivered algorithm. The step of performing a predetermined detection process on the to-be-delivered algorithm to obtain data to be analyzed includes:
[0087] In the target running environment, run the code of the to-be-delivered algorithm using a specified code running method, and record each performance index of the to-be-delivered algorithm during the running process of the to-be-delivered algorithm;
[0088] Obtain the output result of the to-be-delivered algorithm and each recorded performance index as the data to be analyzed.
[0089] Each performance index may include: the duration of completing one run, the GPU utilization rate and / or CPU utilization rate of the to-be-delivered algorithm during running.
[0090] The data to be analyzed may further include each performance index.
[0091] Each performance index may be monitored by the platform during the running process of the algorithm.
[0092] When the specified verification processing method is the method of running the algorithm running script for code running, each performance index may be detected by the algorithm running script.
[0093] There are various ways to determine the specified code running method.
[0094] One implementation method may be to detect the type of the to-be-delivered algorithm as the target type;
[0095] Select a candidate code running method corresponding to the target type from each candidate code running method as the specified code running method for the to-be-delivered algorithm.
[0096] In this application, the delivery platform has pre-set specified code running methods for multiple algorithms to verify the to-be-delivered algorithms.
[0097] First, the type of the algorithm to be delivered can be detected as the target type. Specifically, it can be obtained by identifying the code of the algorithm to be delivered, or the type of the algorithm to be delivered can be recorded in the delivery work order, and the type of the algorithm to be delivered can be obtained from the delivery work order. Then, a candidate code running method corresponding to the target type is selected from each candidate code running method as the specified code running method for the algorithm to be delivered.
[0098] Generally, a data set is required for algorithm running. In this implementation, the delivery work order may include data set information. The data set information may be the storage address of the data set, and the data set can be obtained from the storage address. Of course, the data set information may also be the data of the data set.
[0099] For each candidate code running method, the delivery platform may also be provided with a corresponding data set.
[0100] Therefore, the data set can be used to run the algorithm in the specified code running method to obtain the running result of the algorithm running.
[0101] One implementation may be that if the delivery work order includes the script address of the algorithm running script and the script parameters of the algorithm running script, then the method of running the algorithm running script for code running is used as the specified code running method;
[0102] Among them, the algorithm running script is a script for code running of the algorithm to be delivered; the script parameters are configuration items required for running the algorithm running script.
[0103] For some types of algorithms, the delivery platform does not have corresponding code running methods. At this time, the developer can write the script address of the algorithm running script and the script parameters of the algorithm running script in the delivery work order, so that the algorithm running script can be run for code running.
[0104] In this implementation, the delivery work order may include data set information. The data set information may be the storage address of the data set, and the data set can be obtained from the storage address. Of course, the data set information may also be the data of the data set.
[0105] In addition, the delivery platform can record the method of running the algorithm running script for code running as a candidate code running method for subsequent verification of the same type of algorithm to be delivered. At the same time, the data set corresponding to the algorithm running script can be recorded as the data set corresponding to this candidate code running method.
[0106] S105. Determine the verification result of the to-be-delivered algorithm based on the data to be analyzed;
[0107] For the operation result of the algorithm, a standard value is preset in advance. If the operation result matches the standard value, the verification result of the to-be-delivered algorithm is passed; if the operation result does not match the standard value, the verification result of the to-be-delivered algorithm is not passed. Exemplarily, the standard value of algorithm A is the interval (1, 3). If the operation result of the to-be-delivered algorithm is within the interval (1, 3), the verification result is passed; otherwise, the verification result is not passed. Optionally, determining the verification processing result of the to-be-delivered algorithm based on the data to be analyzed may include:
[0108] Analyze whether the output result included in the data to be analyzed matches the standard output result to obtain a first analysis result;
[0109] Analyze the magnitude relationship between the index value of each performance index included in the data to be analyzed and the standard value of the performance index to obtain a second analysis result;
[0110] If the first analysis result indicates that the output result matches the standard output result, and the second analysis result indicates that the magnitude relationship between the index value of each performance index and the standard value of the performance index satisfies the standard magnitude relationship set for the performance index, then determine the result indicating verification passed as the verification result of the to-be-delivered algorithm; otherwise, determine the result indicating verification not passed as the verification result of the to-be-delivered algorithm.
[0111] The verification result of the to-be-delivered algorithm may also include verifying each performance index of the to-be-delivered algorithm. It can be understood that the shorter the duration for the to-be-delivered algorithm to complete one run, the better the performance.
[0112] For different algorithms, the required CPU utilization rate and GPU utilization rate are different. For example, for some algorithms, high CPU utilization rate and GPU utilization rate indicate that the algorithm is efficiently using computing resources, which may improve the overall performance. While for some algorithms, the CPU utilization rate and GPU utilization rate may be caused by some inefficient or redundant operations in the algorithm, which may lead to a decline in the overall performance. Therefore, for different algorithms, a specified CPU utilization rate interval and a specified GPU utilization rate interval can be set. For the CPU utilization rate and the GPU utilization rate, when the CPU utilization rate is within the specified CPU utilization rate interval and the GPU utilization rate is within the specified GPU utilization rate interval, it indicates good performance.
[0113] In this embodiment, a standard duration, a specified CPU utilization rate interval, and a specified GPU utilization rate interval can be set for the to-be-delivered algorithm as standard values.
[0114] The second analysis result refers to whether the duration of one run of the algorithm to be delivered is less than the standard duration, whether the CPU utilization rate is within the specified CPU utilization rate range, and whether the GPU utilization rate is within the specified GPU utilization rate range. If so, the verification result of the algorithm to be delivered is passed.
[0115] The first analysis result indicates that the running result of the algorithm to be delivered matches the standard value, and the second analysis result indicates that the duration of one run of the algorithm to be delivered is less than the standard duration, the CPU utilization rate is within the specified CPU utilization rate range, and the GPU utilization rate is within the specified GPU utilization rate range. Then, the verification result of the algorithm to be delivered is passed.
[0116] It can be understood that the performance of the algorithm is very important. Sometimes, even if the algorithm can run normally, but the performance of the algorithm does not meet the standard, the algorithm cannot be used. Therefore, this application verifies the performance of the algorithm to further improve the reliable delivery of the algorithm.
[0117] S106, if the verification result is verified to pass, then deliver the algorithm to be delivered to the user; wherein, the verification passing at least indicates that the code of the algorithm to be delivered runs normally.
[0118] If the verification passes, it means that the algorithm can be delivered to the user. The user can obtain the algorithm that has passed the verification through the front end of the delivery platform.
[0119] Optionally, what can be delivered to the user can be the encapsulated algorithm. Encapsulating the algorithm to be delivered includes:
[0120] Encapsulate the code of the algorithm to be delivered and the target running environment required for the operation of the algorithm to be delivered.
[0121] This application can encapsulate the code of the algorithm to be delivered and the target running environment required for the operation of the algorithm to be delivered together. Thus, the user can directly use the algorithm without the need to configure the algorithm environment, and the user experience is better.
[0122] In addition, the delivery platform can provide the user with the delivery information of the algorithm that has passed the verification. In this delivery information, information such as the basic algorithm information and algorithm description of the algorithm can be displayed to facilitate the user's understanding of the algorithm. The basic information can include algorithm information such as algorithm name, algorithm version, and algorithm document, the Git address of the algorithm code, the submitters, handover persons, and other carbon copy persons involved in the algorithm, etc. The algorithm description is used to describe the function of the algorithm, etc. The basic algorithm information and algorithm description and other information can be the information included in the delivery work order.
[0123] The solution of this application can construct a target operating environment required for the operation of the algorithm to be delivered based on the delivery work order of the algorithm to be delivered, perform predetermined detection processing on the algorithm to be delivered in the target operating environment to obtain data to be analyzed, where the data to be analyzed is data related to the code running status of the algorithm to be delivered; determine the verification result of the algorithm to be delivered based on the data to be analyzed. If the verification result is passed, it at least indicates that the code of the algorithm to be delivered runs normally, and the algorithm to be delivered can be delivered to the user. It can be seen that the solution of this application can effectively verify the code running status of the algorithm to be delivered, thereby reducing algorithm running problems existing in the delivered algorithms and realizing reliable delivery of the algorithms.
[0124] Optionally, if the code of the algorithm to be delivered fails to be obtained from the algorithm address, it is determined that the algorithm to be delivered fails to pass the verification, and a prompt message indicating that the algorithm to be delivered fails to pass the verification is fed back;
[0125] and / or
[0126] If, during the process of constructing a target operating environment for running the algorithm to be delivered, the deployment of the mirror system fails in the target hardware device or the deployment of the dependent configuration items fails in the mirror system, it is determined that the algorithm to be delivered fails to pass the verification processing, and a prompt message indicating that the algorithm to be delivered fails to pass the verification is fed back.
[0127] If the algorithm to be delivered cannot be obtained from the algorithm address, it means that the algorithm address is incorrect, and the delivery of the algorithm to be delivered cannot be realized. The platform can feed back a prompt message indicating that the algorithm to be delivered fails to pass the verification to the developer for the developer to rectify.
[0128] The failure of deploying the mirror system in the target hardware device or the failure of deploying the dependent configuration items in the mirror system may be that the corresponding mirror system data and dependent configuration item data cannot be obtained. At this time, the operating environment cannot be provided for the algorithm to be delivered, so it can be determined that the algorithm to be delivered fails to pass the verification processing. The platform can feed back a prompt message indicating that the algorithm to be delivered fails to pass the verification to the developer for the developer to rectify.
[0129] Optionally, when the specified verification processing method is to run the algorithm running script for code running,
[0130] The running of the code of the algorithm to be delivered in the target operating environment using the specified code running method includes:
[0131] Using the script parameters of the algorithm execution script, execute the algorithm execution script in the project directory where the code of the to-be-delivered algorithm is currently located, so as to execute the code of the to-be-delivered algorithm in the target execution environment.
[0132] In addition, using the script parameters of the algorithm execution script, execute the algorithm execution script in the system root directory of the target execution environment, so as to execute the code of the to-be-delivered algorithm in the target execution environment.
[0133] It can be understood that users have the need to call algorithms in different working directories. This application can determine whether the algorithm is applicable to different working directories by executing the script in the project directory and in the system root directory respectively.
[0134] In this application, the directory of the script is in the project directory. It can be understood that different working directories may result in different paths of the script in the commands required for script execution. For example, the path of the script in the project directory can be / data / agrithom1 / demo.py; when the current working directory is the project directory, the reference path in the commands required for script execution is usually a relative path, and the command required for script execution can be: python. / demo.py, while when the current working directory is the system root directory, the reference path in the commands required for script execution is usually an absolute path, and the command required for script execution can be: python / data / agrithom1 / demo.py. The current working directory is the current working location of the user in the system. And during the execution of the script, references to reference objects such as files may be involved, and during the execution of the algorithm, references to reference objects such as various dependencies may also be involved. Each dependency can include basic dependency configurations and dependency configuration items. It can be understood that if the reference path to the reference object during the execution of the script or the algorithm is a relative path, when the current working directory is the project directory, the execution of the script or the algorithm is normal, while when the current working directory is the system root directory, the reference cannot be made, resulting in an error in the execution of the script or the algorithm.
[0135] Therefore, if an error occurs when this application executes the script in the system root directory, it can be determined that the reference path to the reference object during the execution process of the script or the algorithm is a relative path. At this time, the algorithm is not applicable to different working directories, and the developer can be notified to make modifications.
[0136] Optionally, the method further includes:
[0137] Determine the first running information of the algorithm running script when running under the project directory, and determine the second running information of the algorithm running script when running under the system root directory; wherein, any one of the first running information and the second running information includes the output result of the algorithm running script and each performance index during the running process of the algorithm running script;
[0138] Analyze whether the output result in the first running information matches the standard output result to obtain a third analysis result, and analyze whether the output result in the second running information matches the standard output result to obtain a fourth analysis result;
[0139] Based on the first running information and the second running information, analyze the magnitude relationship between the value of each performance index during the running process of the algorithm running script and the standard value of the performance index to obtain a fifth analysis result;
[0140] The determination of the verification processing result of the algorithm to be delivered based on the first analysis result and the second analysis result includes: if the first analysis result, the third analysis result, and the fourth analysis result indicate a match, and the second analysis result indicates that the index value of each performance index matches the standard value of the performance index, and the fifth analysis result indicates that the index value of each performance index matches the standard value of the performance index, determine the verification processing result of the algorithm to be delivered.
[0141] It can be understood that if the first analysis result, the third analysis result, and the fourth analysis result indicate a match, and the second analysis result indicates that the index value of each performance index matches the standard value of the performance index, and the fifth analysis result indicates that the index value of each performance index matches the standard value of the performance index, it means that the script can run normally whether in the project directory or the system root directory, and meets the verification standard of the algorithm, which also means that the reference paths involved in the running of the script and the algorithm are absolute paths and are not affected by the current working directory, so the algorithm of the present application can be applied to different working directories.
[0142] The solution of this embodiment can determine whether the algorithm can be applied to different working directories by determining whether the algorithm can pass the verification under different working directories, thereby further enhancing the reliable delivery of the algorithm.
[0143] Figure 2 , which is an example diagram of a delivery work order provided by the present application.
[0144] Such as Figure 2 The delivery work order may include basic information, dependent environment, algorithm description, verification configuration, and test performance.
[0145] The basic information may include algorithm information, algorithm code, and relevant personnel. The basic information corresponds to the basic information in the above embodiments and will not be elaborated here.
[0146] The dependent environment may include a basic environment, environment configuration, pip dependencies, non-pip dependencies, and network configuration.
[0147] The basic environment and the environment configuration correspond to the description information of the above basic image, and the pip dependencies, non-pip dependencies correspond to the above dependency configuration item information. The network configuration corresponds to the above network configuration information.
[0148] The algorithm description may include dependent algorithms, dependent services, and multi-process / threads.
[0149] The dependent algorithms and dependent services refer to other algorithms and services that the algorithm to be delivered depends on for running, and are dependency configuration items included in the above basic dependency configuration. In the algorithm description, the dependent algorithms and dependent services are described and can be displayed to the user on the delivery page to facilitate the user's understanding of the algorithm.
[0150] The multi-process / threads refer to the process information and thread information when the algorithm to be delivered runs, and can be displayed to the user on the delivery page to facilitate the user's understanding of the algorithm.
[0151] The verification configuration may include script location, running parameters, expected completion time, and verification method.
[0152] The script location corresponds to the script address of the above algorithm running script; the running parameters correspond to the script parameters of the above algorithm running script. The expected completion time corresponds to the standard value of the duration for one run above; the verification method corresponds to the above specified code running method.
[0153] The test performance may include algorithm performance, resource utilization rate, and test method.
[0154] The algorithm performance corresponds to the above performance indicators, the resource utilization rate corresponds to the above GPU utilization rate and / or CPU utilization rate, and the test method corresponds to the above specified code running method.
[0155] Figure 3 , which is a human-computer interaction schematic diagram for algorithm delivery provided by this application. As Figure 3 shown, the interaction steps include:
[0156] S301, Submit / Save.
[0157] After the developer has finished debugging the algorithm to be delivered, they can fill out a delivery work order in the interface for filling out the delivery work order. At this time, the developer can choose to submit the delivery work order to the delivery platform, and then step S303 is executed. They can also save the filled delivery work order in the draft box.
[0158] S302, Submit / Save.
[0159] For the delivery work order in the draft box, submit / save it. For the delivery work order in the draft box, the developer can modify it. After modification, they can submit it to the delivery platform, and then step S303 is executed. They can also save the modified delivery work order in the draft box.
[0160] S303, Automatic Verification.
[0161] S303 is that the delivery platform executes the algorithm delivery method of this application.
[0162] S304, Manual Review.
[0163] If the verification is successful, manual review can be carried out further. If the manual review passes, the algorithm can be delivered. If the manual review is rejected, the algorithm cannot be delivered.
[0164] S305, Cancel Verification.
[0165] When step S303 is being executed and the developer chooses to cancel the verification, step S303 is stopped and the verification of the algorithm to be delivered is cancelled.
[0166] S306, Verification Failed.
[0167] If in step S303, the algorithm to be delivered fails the verification, a prompt indicating verification failure is sent to the developer.
[0168] The solution of this embodiment can effectively verify the code running status of the algorithm to be delivered through the automatic verification of the delivery platform and manual review, thereby reducing the algorithm running problems of the algorithms that have completed delivery and realizing the reliable delivery of the algorithms.
[0169] This application embodiment also provides an algorithm delivery device. The device is applied to the delivery platform, as Figure 4 shown. The device includes:
[0170] The first acquisition module 401 is configured to acquire a delivery work order for the algorithm to be delivered; wherein, the delivery work order includes an algorithm address and target configuration information; the algorithm address is the storage address of the code of the algorithm to be delivered; the target configuration information is resource information about software and / or hardware required to build the operating environment of the algorithm to be delivered;
[0171] The construction module 402 is configured to build a target operating environment for running the algorithm to be delivered based on the target configuration information;
[0172] The second acquisition module 403 is configured to acquire the code of the algorithm to be delivered from the algorithm address;
[0173] The detection module 404 is configured to perform a predetermined detection process on the algorithm to be delivered to obtain data to be analyzed; wherein, the predetermined detection process at least includes: detecting the running state of the code of the algorithm to be delivered in the target operating environment; the data to be analyzed is data related to the running state of the code of the algorithm to be delivered in the target operating environment;
[0174] The determination module 405 is configured to determine the verification result of the algorithm to be delivered based on the data to be analyzed;
[0175] The delivery module 406 is configured to, if the verification result is verification passed, deliver the algorithm to be delivered to the user; wherein, the verification passed at least indicates that the code of the algorithm to be delivered runs normally.
[0176] The solution of the present application can build a target operating environment required for running the algorithm to be delivered based on the delivery work order of the algorithm to be delivered, perform a predetermined detection process on the algorithm to be delivered in the target operating environment to obtain data to be analyzed, and the data to be analyzed is data related to the running state of the code of the algorithm to be delivered; determine the verification result of the algorithm to be delivered based on the data to be analyzed. If the verification result is verification passed, it at least indicates that the code of the algorithm to be delivered runs normally, and the algorithm to be delivered can be delivered to the user. It can be seen that the solution of the present application can effectively verify the running state of the code of the algorithm to be delivered, thereby reducing algorithm running problems existing in the algorithms completed for delivery and realizing reliable delivery of the algorithms. Optionally, the device further includes:
[0177] The allocation module is configured to, in response to receiving a delivery task trigger request for the algorithm to be delivered, allocate a test device to the sender of the delivery task trigger request based on the delivery task trigger request, so that the sender can complete the debugging of the algorithm to be delivered on the test device; wherein, the delivery task trigger request includes parameters of the test device required by the sender;
[0178] A filling module, which is configured to provide an interface for filling a delivery work order to the sender in response to receiving an instruction indicating the completion of debugging sent by the sender, so that the sender fills a delivery work order of the algorithm to be delivered in the interface.
[0179] Optionally, the target configuration information includes hardware resource information, description information of the base image, and dependency configuration item information;
[0180] The building module includes:
[0181] A selection unit, configured to select a device with the same parameters as those indicated by the hardware resource information as the target device;
[0182] A first deployment unit, configured to deploy the image system and basic dependency configuration indicated by the description information of the base image in the target device;
[0183] A second deployment unit, configured to deploy the dependency configuration items indicated by the dependency configuration item information in the image system.
[0184] Optionally, the device further includes:
[0185] A first feedback module, configured to determine that the algorithm to be delivered fails to pass verification if the code of the algorithm to be delivered cannot be obtained from the algorithm address, and feedback a prompt message indicating that the algorithm to be delivered fails to pass verification;
[0186] And / or
[0187] A second feedback module, configured to determine that the algorithm to be delivered fails to pass verification processing if the deployment of the image system fails in the target hardware device or the deployment of the dependency configuration items fails in the image system during the process of building a target running environment for running the algorithm to be delivered, and feedback a prompt message indicating that the algorithm to be delivered fails to pass verification.
[0188] Optionally, the detection module includes:
[0189] An operation unit, configured to run the code of the algorithm to be delivered in the target running environment by using a specified code running method, and record each performance index of the algorithm to be delivered during the running process of the algorithm to be delivered;
[0190] An acquisition unit, configured to obtain the output result of the algorithm to be delivered and each recorded performance index as data to be analyzed;
[0191] The determination module includes:
[0192] A first analysis unit, configured to analyze whether the output result included in the data to be analyzed matches the standard output result to obtain a first analysis result;
[0193] A second analysis unit, configured to analyze the magnitude relationship between the index value of each performance index included in the data to be analyzed and the standard value of the performance index, and obtain a second analysis result;
[0194] A first determination unit, configured to, if the first analysis result indicates that the output result matches the standard output result, and the second analysis result indicates that the magnitude relationship between the index value of each performance index and the standard value of the performance index satisfies the standard magnitude relationship set for the performance index, determine the result indicating verification passed as the verification result of the algorithm to be delivered; otherwise, determine the result indicating verification failed as the verification result of the algorithm to be delivered.
[0195] Optionally, the determining method of the specified code running mode includes:
[0196] Detect the type of the algorithm to be delivered as the target type;
[0197] Select, from various candidate code running modes, the candidate code running mode whose targeted type is the same as the target type as the specified code running mode of the algorithm to be delivered;
[0198] Optionally, the determining method of the specified code running mode includes: if the delivery work order includes: the script address of the algorithm running script and the script parameters of the algorithm running script, then use the method of running the algorithm running script to perform code running as the specified code running mode;
[0199] Wherein, the algorithm running script is a script for performing code running on the algorithm to be delivered; the script parameters are configuration items required for running the algorithm running script.
[0200] Optionally, when the specified verification processing mode is the method of running the algorithm running script to perform code running,
[0201] The code for running the algorithm to be delivered in the target running environment using the specified code running mode includes:
[0202] Use the script parameters of the algorithm running script to run the algorithm running script in the project directory where the code of the algorithm to be delivered is currently located, so as to run the code of the algorithm to be delivered in the target running environment,
[0203] And use the script parameters of the algorithm running script to run the algorithm running script in the system root directory of the target running environment, so as to run the code of the algorithm to be delivered in the target running environment.
[0204] Optionally, the device further includes:
[0205] A second determination unit, configured to determine first running information of the algorithm running script when running under the project directory, and determine second running information of the algorithm running script when running under the system root directory; wherein, any one of the first running information and the second running information includes the output result of the algorithm running script and each performance index during the running process of the algorithm running script;
[0206] A third analysis unit, configured to analyze whether the output result in the first running information matches the standard output result to obtain a third analysis result, and analyze whether the output result in the second running information matches the standard output result to obtain a fourth analysis result;
[0207] A fourth analysis unit, configured to analyze the magnitude relationship between the value of each performance index during the running process of the algorithm running script and the standard value of the performance index based on the first running information and the second running information to obtain a fifth analysis result;
[0208] The first determination unit includes:
[0209] A determination subunit, configured to determine the verification processing result of the algorithm to be delivered if the first analysis result, the third analysis result, and the fourth analysis result indicate a match, and the second analysis result indicates that the index value of each performance index is not less than the match with the standard value of the performance index, and the fifth analysis result indicates that the index value of each performance index is not less than the match with the standard value of the performance index.
[0210] An embodiment of the present invention further provides an electronic device, as Figure 5 shown, including a processor 501, a communication interface 502, a memory 503, and a communication bus 504, wherein the processor 501, the communication interface 502, and the memory 503 complete communication with each other through the communication bus 504,
[0211] The memory 503 is used to store a computer program;
[0212] The processor 501 is configured to implement any one of the above algorithm delivery methods when executing the program stored on the memory 503.
[0213] The communication bus mentioned in the above terminal can be a Peripheral Component Interconnect (PCI) bus, an Extended Industry Standard Architecture (EISA) bus, etc. This communication bus can be divided into an address bus, a data bus, a control bus, etc. For the sake of convenience of representation, only a thick line is used in the figure, but it does not mean that there is only one bus or one type of bus.
[0214] The communication interface is used for communication between the above terminal and other devices.
[0215] The memory can include a Random Access Memory (RAM), or can also include a non-volatile memory, such as at least one disk memory. Optionally, the memory can also be at least one storage device located far away from the aforementioned processor.
[0216] The above-mentioned processor can be a general-purpose processor, including a Central Processing Unit (CPU), a Network Processor (NP), etc.; it can also be a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field-Programmable Gate Array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.
[0217] In another embodiment provided by the present invention, there is also provided a computer-readable storage medium, in which a computer program is stored, and when the computer program is executed by a processor, the algorithm delivery method described in any one of the above embodiments is implemented.
[0218] In another embodiment provided by the present invention, there is also provided a computer program product containing instructions, and when it runs on a computer, it causes the computer to execute the algorithm delivery method described in any one of the above embodiments.
[0219] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions described in the embodiments of the present invention are generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server or data center that includes one or more integrated available media. The available medium can be a magnetic medium (such as a floppy disk, hard disk, magnetic tape), an optical medium (such as a DVD), or a semiconductor medium (such as a solid state disk (SSD)).
[0220] It should be noted that in this document, relational terms such as first and second are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the term "comprising", "including", or any other variant thereof is intended to cover non-exclusive inclusion, so that a process, method, article, or device that includes a series of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article, or device. Without further limitation, an element defined by the statement "including one..." does not exclude the existence of additional identical elements in the process, method, article, or device that includes the element.
[0221] Each embodiment in this specification is described in a related manner. The same or similar parts between the embodiments can be referred to each other, and the differences between each embodiment and other embodiments are emphasized.
[0222] The above description is only a preferred embodiment of the present invention and is not intended to limit the protection scope of the present invention. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention are included in the protection scope of the present invention.
Claims
1. An algorithm delivery method, characterized in that: The method is applied to a delivery platform; the method comprises: Obtaining a delivery work order for the algorithm to be delivered; wherein the delivery work order includes an algorithm address and target configuration information; the algorithm address is a storage address of the code of the algorithm to be delivered; the target configuration information is: resource information about software and / or hardware required to build an operating environment for the algorithm to be delivered; Based on the target configuration information, construct a target operating environment for running the algorithm to be delivered; Obtaining the code of the algorithm to be delivered from the algorithm address; Performing a predetermined detection process on the algorithm to be delivered to obtain data to be analyzed; wherein the predetermined detection process at least includes: detecting the running state of the code of the algorithm to be delivered in the target running environment; the data to be analyzed is data related to the running state of the code of the algorithm to be delivered in the target running environment; Determining the verification result of the algorithm to be delivered based on the data to be analyzed; If the verification result is that the verification is passed, the algorithm to be delivered is delivered to the user; wherein, the verification passing at least indicates that the code of the algorithm to be delivered runs normally.
2. The method according to claim 1, characterized in that The method further comprises: In response to receiving a delivery task trigger request for the algorithm to be delivered, based on the delivery task trigger request, a test device is allocated to the issuer of the delivery task trigger request, so that the issuer completes the debugging of the algorithm to be delivered on the test device; wherein the delivery task trigger request includes parameters of the test device required by the issuer; In response to receiving the instruction issued by the issuer indicating that the debugging is completed, an interface for filling in a delivery work order is provided to the issuer, so that the issuer fills in the delivery work order of the algorithm to be delivered on the interface.
3. The method according to claim 1, characterized in that The target configuration information includes hardware resource information, description information of the base image and dependent configuration item information; The step of constructing a target operating environment for running the algorithm to be delivered based on the target configuration information includes: Selecting a device having the same parameters as those indicated by the hardware resource information as a target device; Deploy the image system and basic dependency configuration indicated by the description information of the basic image in the target device; The dependent configuration item indicated by the dependent configuration item information is deployed in the mirror system.
4. The method according to claim 3, characterized in that The method further comprises: If the code of the algorithm to be delivered fails to be obtained from the algorithm address, it is determined that the algorithm to be delivered is not verified, and prompt information indicating that the algorithm to be delivered has not passed the verification is fed back; and / or, If, in the process of building a target operating environment for running the algorithm to be delivered, the deployment of the mirror system in the target hardware device fails or the deployment of dependent configuration items in the mirror system fails, it is determined that the algorithm to be delivered has not passed the verification, and prompt information indicating that the algorithm to be delivered has not passed the verification is fed back.
5. The method according to claim 1, characterized in that The predetermined detection process also includes detecting various performance indicators of the algorithm to be delivered, and the predetermined detection process is performed on the algorithm to be delivered to obtain the data to be analyzed, including: In the target operating environment, using a specified code operating mode, the code of the algorithm to be delivered is run, and various performance indicators of the algorithm to be delivered are recorded during the running of the algorithm to be delivered; Obtaining the output results of the algorithm to be delivered and the recorded performance indicators as data to be analyzed; Determining the verification result of the algorithm to be delivered based on the data to be analyzed includes: Analyze whether the output result included in the data to be analyzed matches the standard output result to obtain a first analysis result; Analyze the magnitude relationship between the index value of each performance index included in the data to be analyzed and the standard value of the performance index to obtain a second analysis result; If the output result represented by the first analysis result matches the standard output result, and the relationship between the indicator value of each performance indicator represented by the second analysis result and the standard value of the performance indicator satisfies the standard size relationship set for the performance indicator, then the result that represents the verification is determined as the verification result of the algorithm to be delivered; otherwise, the result that represents the verification fails is determined as the verification result of the algorithm to be delivered.
6. The method according to claim 5, characterized in that The method for determining the designated code operation mode includes: Detecting the type of the algorithm to be delivered as a target type; A candidate code running mode of the same type as the target type is selected from each candidate code running mode as the designated code running mode of the algorithm to be delivered.
7. The method according to claim 5, characterized in that The method for determining the designated code operation mode includes: If the delivery work order includes: the script address of the algorithm running script and the script parameters of the algorithm running script, the method of running the algorithm running script to perform code running is used as the designated code running method; The algorithm running script is a script used to run the code of the algorithm to be delivered; and the script parameters are configuration items required for running the algorithm running script.
8. The method according to claim 7, characterized in that When the specified code running mode is a mode of running the algorithm running script to run the code, The code for running the algorithm to be delivered in the target operating environment using the specified code operating mode includes: Using the script parameters of the algorithm running script, in the project directory where the code of the algorithm to be delivered is currently located, run the algorithm running script to run the code of the algorithm to be delivered in the target running environment, And, using the script parameters of the algorithm running script, the algorithm running script is run in the system root directory of the target running environment to run the code of the algorithm to be delivered in the target running environment.
9. The method according to claim 8, characterized in that The method further comprises: Determine first running information of the algorithm running script when running in the project directory, and determine second running information of the algorithm running script when running in the system root directory; wherein any one of the first running information and the second running information includes an output result of the algorithm running script and various performance indicators during the running process of the algorithm running script; Analyzing whether the output result in the first operation information matches the standard output result to obtain a third analysis result, and analyzing whether the output result in the second operation information matches the standard output result to obtain a fourth analysis result; Based on the first operation information and the second operation information, analyzing the magnitude relationship between the value of each performance indicator in the operation process of the algorithm operation script and the standard value of the performance indicator to obtain a fifth analysis result; The verification processing result of the algorithm to be delivered is determined based on the first analysis result and the second analysis result, including: if the first analysis result, the third analysis result and the fourth analysis result represent a match, and the second analysis result represents that the indicator value of each performance indicator matches the standard value of the performance indicator, and the fifth analysis result represents that the indicator value of each performance indicator matches the standard value of the performance indicator, the verification processing result of the algorithm to be delivered is determined.
10. An algorithm delivery device, characterized in that: The device is applied to a delivery platform; The device comprises: The first acquisition module is used to acquire a delivery work order of the algorithm to be delivered; wherein the delivery work order includes an algorithm address and target configuration information; the algorithm address is a storage address of the code of the algorithm to be delivered; the target configuration information is: resource information about software and / or hardware required to build an operating environment for the algorithm to be delivered; A construction module, used to construct a target operating environment for running the algorithm to be delivered based on the target configuration information; A second acquisition module is used to acquire the code of the algorithm to be delivered from the algorithm address; A detection module, configured to perform a predetermined detection process on the algorithm to be delivered to obtain data to be analyzed; wherein the predetermined detection process at least includes: detecting the running state of the code of the algorithm to be delivered in the target running environment; the data to be analyzed is data related to the running state of the code of the algorithm to be delivered in the target running environment; A determination module, used to determine the verification result of the algorithm to be delivered based on the data to be analyzed; The delivery module is used to deliver the algorithm to be delivered to the user if the verification result is verification passed; wherein, the verification passed at least indicates that the code of the algorithm to be delivered runs normally.
11. An electronic device, characterized in that: It includes a processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory communicate with each other through the communication bus; Memory, used to store computer programs; A processor, for implementing any of the methods described in claims 1-9 when executing a program stored in a memory.
12. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method according to any one of claims 1 to 9 is implemented.