An algorithmic solution development method, device, and computer-readable storage medium
By generating the original algorithm solution and responding to the maintenance operation of the maintainer, the cumbersome algorithm solution development process in the existing technology is solved, and the efficiency and quality improvement of algorithm solution development is achieved.
Patent Information
- Application Number
- CN202111484846.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-12-07
- Publication Date
- 2025-05-27
- Estimated Expiration
- 2041-12-07
AI Technical Summary
The development process of existing algorithm solutions is cumbersome and requires a lot of time and manpower to coordinate the work between departments, resulting in high time costs.
An algorithm solution development method is provided. By generating the original algorithm solution, it responds to the maintenance operation of the maintainer, and after at least two target operators are maintained, the target algorithm solution is obtained using the current multiple target operators. Different target operators can be maintained in parallel, simplifying the coordination process.
It improves the efficiency of algorithm solution development, shortens maintenance time cycle, reduces time cost, and improves the development quality of target algorithm solutions.
Smart Images

Figure CN114895890B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of artificial intelligence technology, and particularly to a method, device, and computer-readable storage medium for developing algorithmic solutions. Background Art
[0002] In the field of developing algorithmic solutions, an algorithmic solution requires the cooperation of multiple functional positions. Specifically: The product manager designs the composition of the algorithmic solution and then decomposes it into operator modules according to functions and hands them over to different algorithm departments; the algorithm departments develop operator models and then deliver them to the integration and optimization department; the integration and optimization department optimizes the operator models; and the testing department starts algorithm testing. The entire process of developing the algorithmic solution is cumbersome, and it takes a lot of time and manpower to coordinate the work between departments, greatly increasing the time cost. Summary of the Invention
[0003] The main technical problem to be solved by this application is to provide a method, device, and computer-readable storage medium for developing algorithmic solutions, which can improve the efficiency of developing algorithmic solutions.
[0004] To solve the above technical problem, a technical solution adopted by this application is: providing a method for developing an algorithmic solution, the method including: generating an original algorithmic solution; where the original algorithmic solution includes multiple target operators, and a target operator is an algorithm module for implementing a preset function, and at least two of the multiple target operators are provided with corresponding maintainers; in response to the maintenance operation of the maintainer, maintaining the target operator corresponding to the maintainer; where different target operators can be maintained in parallel; after at least two target operators are maintained, using the current multiple target operators to obtain a target algorithmic solution.
[0005] Among them, generating the original algorithmic solution includes: in response to a preset operation of a first privileged person, displaying the operator identifiers of multiple target operators selected by the first privileged person in the design area of the solution design interface and connecting the operator identifiers; in response to the generation operation of the first privileged person, generating an original algorithmic solution based on the target operators corresponding to the operator identifiers in the design area, where the execution order of the target operators in the original algorithmic solution is determined according to the connection relationship of the corresponding operator identifiers.
[0006] Among them, the solution design interface further includes an operator area, and a number of original operators are provided in the operator area; in response to a preset operation of a first-privileged person, operator identifiers of multiple target operators selected by the first-privileged person are displayed in the design area of the solution design interface and the operator identifiers are connected, including: in response to a dragging operation of an original operator in the operator area by the first-privileged person, the operator identifier of the dragged original operator is displayed in the design area, and the dragged original operator is bound to a preset function model selected by the first-privileged person to serve as a first target operator, and the operator identifier of the first target operator is connected based on the connection operation of the first-privileged person; and / or, each historical operator in the historical algorithm solution selected by the first-privileged person is used as a second target operator, and the operator identifiers corresponding to the second target operators are displayed in the design area of the solution design interface, and the operator identifiers of the second target operators are connected according to the connection relationship of each historical operator in the historical algorithm solution.
[0007] Among them, the operator identifier is an identification box, and the identification box is provided with an input setting interface; connecting the operator identifier of the first target operator based on the connection operation of the first-privileged person includes: in response to a triggering operation of the input setting interface by the first-privileged person, selection items of at least some target operators in the design area are displayed, and the target operator selected by the first-privileged person is used as a candidate superior operator of the first target operator; in response to a start operation of connecting the input of the first target operator by the first-privileged person, the corresponding candidate superior operator in the design area is set to a connectable state, and the output end of the operator identifier of the candidate superior operator selected by the first-privileged person is connected to the input end of the operator identifier of the first target operator.
[0008] Among them, the operator identifier is an identification box; before generating an original algorithm solution based on the target operator corresponding to the operator identifier in the design area in response to a generation operation of the first-privileged person, the algorithm solution development method further includes any one or more of the following steps: in response to a triggering operation of the version setting interface in the identification box by the first-privileged person, selection items of at least one version of the target operator are displayed, and the target operator is updated to the version selected by the first-privileged person; detecting that the target operator must be updated, prompting in the identification box that it must be updated; detecting that there is an updatable version of the target operator, prompting in the identification box that it is updatable.
[0009] Among them, before maintaining the target operator corresponding to the maintainer in response to a maintenance operation of the maintainer, and different target operators can be maintained in parallel, the algorithm solution development method further includes at least one of the following steps: in response to a maintainer selection operation of the first-privileged person in the configuration area of the solution design interface, the maintainer selected by the first-privileged person is used as the maintainer corresponding to the target operator; adjusting the state of the target operator; where the state includes at least one of maintained, not maintained, and rejected.
[0010] Wherein, after the maintainer selected by the first authority is used as the maintainer corresponding to the target operator in response to the maintainer selection operation of the first authority in the configuration area of the solution design interface, the algorithm solution development method further includes: sending a first reminder message to the maintainer to remind the maintainer to maintain the target operator within a preset time.
[0011] Wherein, maintaining the target operator corresponding to the maintainer includes: verifying the target operator by using verification data; if the verification fails, modifying the target operator until the target operator passes the verification.
[0012] Wherein, after obtaining the target algorithm solution by using the current multiple target operators, the algorithm solution development method further includes: in response to the start operation of the second authority or detecting that all at least two target operators are maintained, integrating and compiling the target algorithm solution in sequence to obtain the compilation result corresponding to the target algorithm solution; in response to the test operation of the third authority or detecting that the compilation is completed, testing the compilation result by using the test solution selected by the second authority to obtain a test report.
[0013] Wherein, the test report at least includes test data, test time and test result; and / or, after testing the compilation result by using the test solution selected by the second authority to obtain a test report, the algorithm solution development method further includes at least one of the following steps: in response to the export operation of the user, exporting the target product; wherein, the target product includes at least one of the target algorithm solution, the test report and the compilation result; displaying the test report.
[0014] Wherein, the multiple target operators include an input operator, at least one intermediate processing operator and an output operator.
[0015] To solve the above technical problems, another technical solution adopted by this application is: providing an algorithm solution development device, which includes a processor and a memory. The processor is used to execute program instructions to implement the above algorithm solution development method, and the memory is used to store program instructions.
[0016] To solve the above technical problems, another technical solution adopted by this application is: providing a computer-readable storage medium, which is used to store program instructions, and the program instructions can be executed to implement the above algorithm solution development method.
[0017] In the above solution, at least two target operators in the original algorithm solution are maintained, and after the at least two target operators are maintained, the target algorithm solution is obtained by using the current multiple target operators. Among them, different target operators can be maintained in parallel, so the maintainers of each target operator can simultaneously maintain the target operators they are responsible for, shortening the time period for maintaining the target operators in the original algorithm solution, providing great convenience for the maintenance of the target operators, thereby improving the efficiency of maintaining the target operators, and further improving the efficiency of developing the target algorithm solution.
[0018] In addition, through online integrated operations, the generation of the original algorithm solution, the maintenance of the target operators, and the development of the target algorithm solution can be realized, making the development of the target algorithm solution more convenient and efficient, and reducing the time cost. Brief Description of the Drawings
[0019] Figure 1 is a schematic flowchart of an embodiment of the algorithm solution development method provided by the present application;
[0020] Figure 2 is a schematic diagram of an embodiment of the algorithm solution provided by the present application;
[0021] Figure 3 is a schematic diagram of an embodiment of the target operator configuration area provided by the present application;
[0022] Figure 4 is a schematic diagram of an embodiment of the solution configuration area provided by the present application;
[0023] Figure 5 is Figure 1 a schematic flowchart of an embodiment of step S11 shown;
[0024] Figure 6 is a schematic flowchart of an embodiment of the operator identifier for connecting the first target operator based on the connection operation provided by the present application;
[0025] Figure 7 is a schematic flowchart of an embodiment of detecting the target operator version provided by the present application;
[0026] Figure 8 is Figure 1 a schematic flowchart of an embodiment of step S12 shown;
[0027] Figure 9 is a schematic flowchart of another embodiment of the algorithm solution development method provided by the present application;
[0028] Figure 10 is a schematic structural diagram of an embodiment of the algorithm solution development device provided by the present application;
[0029] Figure 11 It is a schematic structural diagram of an embodiment of the computer-readable storage medium provided by this application. Detailed implementation manners
[0030] The following will combine the accompanying drawings of the specification to elaborate on the solutions of the embodiments of this application in detail.
[0031] In the following description, specific details such as specific system structures, interfaces, and technologies are presented for the purpose of illustration rather than limitation, so as to thoroughly understand this application.
[0032] The terms "system" and "network" in this article are often used interchangeably in this article. The term "and / or" in this article is merely a description of the association relationship of associated objects, indicating that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist simultaneously, and B exists alone. In addition, the character " / " in this article generally represents an "or" relationship between the associated objects before and after. In addition, "multiple" in this article means two or more than two.
[0033] In one implementation manner, the algorithm solution development method described in this article can be that the algorithm solution developer performs relevant operations on the terminal device. The terminal device generates a corresponding operation request according to the obtained relevant operations, and sends the operation request to other non-operation devices such as a server. The server performs relevant operations in response to the operation request. That is to say, in this implementation manner, the execution entity is other non-operation devices such as a server, and its response to the relevant operations of the user means responding to the relevant operation requests sent by the terminal device connected to the non-operation device according to the relevant operations of the user.
[0034] In other implementation manners, the algorithm solution development method described in this article can also be that the algorithm solution developer performs relevant operations on the terminal device. The terminal device responds according to the obtained relevant operations, that is, the terminal device responds to and executes the relevant operations. That is to say, in this implementation manner, the execution entity is the terminal device, and its response to the relevant operations of the user means responding to the relevant operations performed by the user on the terminal device.
[0035] In one implementation manner, the algorithm solution described in this article can be used for image processing. That is to say, the developed algorithm solution is an image processing algorithm solution. It can be understood that in other implementation manners, the developed algorithm solution can also be used for the processing of video data, audio data, etc. The specific application scenario of the developed algorithm solution can be set according to actual usage needs, and is not limited here.
[0036] Please refer to Figure 1 , Figure 1It is a schematic flowchart of an embodiment of the algorithm scheme development method provided by this application. It should be noted that if there are substantially the same results, this embodiment is not limited to Figure 1 the process sequence shown. For example, Figure 1 as shown, this embodiment includes:
[0037] Step S11: Generate an original algorithm scheme.
[0038] Among them, the original algorithm scheme includes multiple target operators, and the target operator is an algorithm module for implementing a preset function. That is to say, multiple algorithm modules with preset functions, namely multiple target operators, constitute the original algorithm scheme, and the original algorithm scheme generated based on multiple target operators has a certain function required by users. Among them, the number of target operators in the original algorithm scheme is not limited and can be specifically set according to actual usage needs. For example, Figure 2 as shown, Figure 2 is a schematic diagram of an embodiment of the algorithm scheme provided by this application. 8 target operators with preset functions constitute the original algorithm scheme, so that the generated original algorithm scheme can perform license plate recognition and face feature extraction.
[0039] In a specific implementation manner, the multiple target operators include an input operator, an output operator, and at least one intermediate processing operator. Among them, the number of intermediate processing operators is not specifically limited and can be specifically set according to actual usage needs. For example, Figure 2 as shown, this algorithm scheme includes an "input" operator, an "output" operator, and 6 intermediate processing operators. Among them, the intermediate processing operators are respectively: "detection" operator, "adapter" operator, "detection - license plate" operator, "recognition - license plate" operator, "keypoint - face" operator, and "recognition - face feature extraction" operator.
[0040] In one implementation manner, the algorithm scheme developer can select multiple target operators actually required and generate the original algorithm scheme based on the multiple target operators selected by the algorithm scheme developer. In other implementation manners, the algorithm scheme developer can also generate the original algorithm scheme on the basis of an existing historical algorithm scheme by adding operators, or deleting operators in the historical algorithm scheme, or updating the operator version in the historical algorithm scheme according to actual needs. How to generate the original algorithm scheme can be selected according to actual usage needs and is not specifically limited here. For example, an existing historical algorithm scheme can be used to detect fire trucks, fire fighting equipment, and fire fighters, but according to the requirements, the generated original algorithm scheme also needs to have the function of crowd counting. Therefore, at this time, a "person detection" operator needs to be added to the historical algorithm scheme so that the generated original algorithm scheme can have the functions of detecting fire trucks, detecting fire fighting equipment, detecting fire fighters, and counting the number of people.
[0041] In this embodiment, at least two of the multiple target operators are provided with corresponding maintainers, and the maintainers will perform verification and maintenance on their corresponding target operators to ensure that the target operators can operate normally or ensure that the output results of the target operators have high precision, so as to ensure that the target algorithm solution generated based on at least two maintained target operators and the remaining other unmaintained target operators can operate normally in the subsequent test stage. Among them, the number of target operators that need to be maintained is not limited and can be specifically set according to actual usage needs. In order to improve the development efficiency of the subsequent target algorithm solution, that is, to reduce the possibility of returning to modify the target operators in the target algorithm solution due to abnormal operation of some target operators or poor test results of the target algorithm solution in the subsequent test stage, in one embodiment, each of the multiple target operators can be provided with a corresponding maintainer, and each maintainer performs verification and maintenance on its corresponding target operator, that is, each target operator that constitutes the original algorithm solution has been verified and maintained, thereby reducing the probability of abnormal operation of each target operator in the subsequent stage.
[0042] Step S12: In response to the maintenance operation of the maintainer, maintain the target operator corresponding to the maintainer.
[0043] In this embodiment, in response to the maintenance operation of the maintainer, maintain the target operator corresponding to the maintainer. That is to say, the maintainer will perform verification and maintenance on its corresponding target operator to ensure that the target operator can operate normally, so as to ensure that the target algorithm solution generated based on the target operator can operate normally in the subsequent test stage.
[0044] Among them, different target operators can be maintained in parallel. That is to say, the maintainers of each target operator can simultaneously maintain the target operators they are responsible for maintaining, shortening the time period for maintaining the target operators in the original algorithm solution, providing great convenience for the maintenance of the target operators, thereby improving the efficiency of maintaining the target operators in the original algorithm solution, and further improving the development efficiency of the target algorithm solution. For example, as Figure 2 shown, taking the target operators to be maintained as the "detection - license plate" operator and the "recognition - license plate" operator as an example, the maintainer corresponding to the "detection - license plate" operator and the maintainer corresponding to the "recognition - license plate" operator can maintain the target operators they are responsible for in parallel. That is, while the maintainer corresponding to the "detection - license plate" operator is maintaining the "detection - license plate" operator, the maintainer corresponding to the "recognition - license plate" operator can also maintain the "recognition - license plate" operator. In addition, the execution subject of the algorithm solution development method of the present application can be a server or a terminal device, so the subject for maintaining the target operator is the server or the terminal device, eliminating manual maintenance and improving the maintenance efficiency of the target operator.
[0045] Since the target operator that needs to be maintained has a corresponding maintainer, that is, each maintainer only maintains one target operator and only maintains the target operator that he / she needs to maintain. Therefore, in one embodiment, before the maintainer maintains the corresponding target operator, it is also necessary to determine the maintainer corresponding to each target operator. Specifically, in response to the maintainer selection operation of the first authority in the configuration area of the solution design interface, the maintainer selected by the first authority is used as the maintainer corresponding to the target operator. As Figure 2 and Figure 3 shown, Figure 3 is a schematic diagram of an embodiment of the target operator configuration area provided by the present application. The target operator configuration area of the solution design interface specifically includes a first target operator configuration area. The first authority can select a maintainer in the "Operator Maintainer" column of the first target operator configuration area as the maintainer of the target operator. In one specific embodiment, the maintainers of the "input" operator and the "output" operator are integrated developers. That is, the integrated developer who designs and develops the "input" operator is the maintainer of the "input" operator, and the integrated developer who designs and develops the "output" operator is the maintainer of the "output" operator; the algorithm personnel who design and develop the intermediate processing operator are the maintainers of the corresponding developed intermediate processing operator.
[0046] In one specific embodiment, after the maintainer selected by the first authority is used as the maintainer corresponding to the target operator in response to the maintainer selection operation of the first authority in the configuration area of the solution design interface, a first reminder message will also be sent to the maintainer corresponding to the target operator to remind the maintainer to maintain the target operator within a preset time. The length of the preset time is not limited and can be specifically set according to actual usage needs. For example, the preset time is 10 days, 20 days, etc. In another specific embodiment, within the preset time, the first reminder message can also be repeatedly sent to the maintainer after a certain interval. The interval is not specifically limited. For example, it is required that the maintainer complete the maintenance of the target operator within 20 days. To avoid the maintainer's forgetting, the first reminder message can be sent to the maintainer once every 5 days.
[0047] In order to facilitate the first authority to understand the current real-time status of each target operator, in one embodiment, the status of the target operator will be adjusted before the maintainer maintains the corresponding target operator. And in one embodiment, after the maintainer completes the maintenance of the corresponding target operator, the status of the target operator will also be adjusted. Among them, the status of the target operator includes at least one of "maintained", "not maintained" and "rejected". "Maintained" means that the maintainer corresponding to the target operator has completed the maintenance of it, and "not maintained" means that the maintainer corresponding to the target operator has not maintained it yet.
[0048] Step S13: After maintaining at least two target operators, use the current multiple target operators to obtain a target algorithm solution.
[0049] In this embodiment, after maintaining at least two target operators, it indicates that all the target operators to be maintained have been completed. At this time, the current multiple target operators can be used to obtain a target algorithm solution. In one embodiment, information such as the verification data, training process, and preset functional model of each target operator can be traced back according to the target algorithm solution, so as to modify the target operators with abnormalities or low output result accuracy in the target algorithm solution, thereby improving the development quality of the target algorithm solution.
[0050] In a specific embodiment, in order to facilitate each department to understand the target algorithm solution, the basic information of the target algorithm solution will be configured. Specifically, as shown in Figure 4, Figure 4 is a schematic diagram of an embodiment of the solution configuration area provided by this application. The first privileged person can configure the basic information of the target algorithm solution in the first solution configuration area in the solution configuration area; for example, the solution name is "structured picture stream solution", the device platform on which it runs is "3559a", the privileged person, that is, the first privileged person, is "Wu Li", and the privilege group is "traffic algorithm group", etc.
[0051] In another specific embodiment, in order to facilitate the subsequent compilation and testing of the target algorithm solution, while configuring the basic information of the target algorithm solution, the configuration parameters for compilation and the test plan can be configured. In addition, as Figure 4 shown, the relevant parameters of the device platform can also be configured in the second solution configuration area of the solution configuration area.
[0052] By maintaining at least two target operators in the original algorithm solution and using the current multiple target operators to obtain a target algorithm solution after the maintenance of at least two target operators. Among them, different target operators can be maintained in parallel, so the maintainers of each target operator can maintain the target operators they are responsible for at the same time, shortening the time period for maintaining the target operators in the original algorithm solution, providing great convenience for the maintenance of the target operators, thereby improving the efficiency of maintaining the target operators, and further improving the efficiency of developing the target algorithm solution.
[0053] In addition, through online integrated operations, the generation of the original algorithm solution, the maintenance of the target operators, and the development of the target algorithm solution can be realized, making the development of the target algorithm solution more convenient and efficient, and reducing the time cost.
[0054] Please refer to Figure 5 , Figure 5 is Figure 1Flow schematic diagram of an embodiment of step S11. It should be noted that if there are substantially the same results, this embodiment does not Figure 5 be limited to the Figure 5 shown process sequence. As
[0055] Step S111: In response to a preset operation of a first authorized person, display the operator identifiers of multiple target operators selected by the first authorized person in the design area of the solution design interface and connect the operator identifiers.
[0056] In this embodiment, in response to a preset operation of a first authorized person, display the operator identifiers of multiple target operators selected by the first authorized person in design area 11 of the solution design interface and connect the operator identifiers. That is to say, when the first authorized person performs the preset operation, the operator identifiers of multiple target operators selected by the first authorized person will be displayed in design area 11 of the solution design interface. That is, what is displayed in the solution design interface is not the target operators, but the operator identifiers of the target operators, and the operator identifiers of multiple target operators will be connected. For example, as Figure 2 shown, the original algorithm solution includes an "Input" operator, a "Detection" operator, an "Adapter" operator, a "Detection - License Plate" operator, an "Identification - License Plate" operator, a "Key Point - Face" operator, an "Identification - Face Feature Extraction" operator, and an "Output" operator. Therefore, after the first authorized person performs the preset operation, the operator identifier of the "Input" operator, the operator identifier of the "Detection" operator, the operator identifier of the "Adapter" operator, the operator identifier of the "Detection - License Plate" operator, the operator identifier of the "Identification - License Plate" operator, the operator identifier of the "Key Point - Face" operator, the operator identifier of the "Identification - Face Feature Extraction" operator, and the operator identifier of the "Output" operator will be displayed in design area 11 of the solution design interface.
[0057] In one embodiment, the operator identifier is an identification frame, that is, the operator identifier is an identification frame used to identify the target operator. Among them, the information content about the corresponding target operator displayed on the identification frame is not limited. For example, basic information such as the target operator name can be displayed on the identification frame, or interfaces such as an input setting interface 15 and a version setting interface 19 that can perform relevant settings on the target operator can also be displayed. In addition, the size, dimensions, shape, etc. of the identification frame are not limited and can be specifically set according to actual usage needs.
[0058] In one embodiment, the first authorized person can select multiple target operators actually required and generate an original algorithm solution based on the multiple target operators selected by the first authorized person. Specifically, as Figure 2As shown, the solution design interface further includes an operator area 13. The operator area 13 is provided with a number of original operators. In response to the dragging operation of the original operators in the operator area 13 by the first privileged person, the operator identifier of the dragged original operator is displayed in the design area 11. That is to say, the operator area 13 of the solution design interface contains a variety of original operators. The first privileged person can drag the original operators required for the original algorithm solution from the operator area 13. Along with the dragging operation of the first privileged person, the operator identifier of the dragged original operator will be displayed in the design area 11 of the solution design interface. In an implementation, the operator developer can develop and design new original operators according to the actual scenario requirements, and perform save and storage operations on the new original operators, so that the new original operators become one of the several original operators in the operator area 13 for subsequent algorithm solution development.
[0059] In addition, the first privileged person will bind the dragged original operator to a preset function model selected by the first privileged person to be the first target operator. That is to say, binding the dragged original operator to the preset function model can obtain the first target operator, and the first target operator can process the data and output the corresponding processing result. However, due to achieving the preset functions of some original operators, a single preset function model may not be able to obtain the output result of the corresponding preset function. Therefore, the preset function model bound to the dragged original operator can be one or more, which can be specifically set according to the actual usage requirements and will not be specifically limited here. For example, as Figure 3 shown, the dragged "recognition - license plate" original operator is bound to two preset function models. Specifically, as Figure 3 shown, the solution design interface includes a target operator configuration area. The target operator configuration area specifically further includes a second target operator configuration area. The first privileged person binds the preset function model to the original operators that have been dragged to the solution design interface one by one. The first privileged person can select any original operator that has not been bound to the preset function model. At this time, the configuration area of the selected original operator is correspondingly displayed in the target operator configuration area of the solution design interface. Then the first privileged person selects the preset function model to be bound to the selected original operator in the second target operator configuration area in the target operator configuration area to complete the binding of the preset function model to the original operator. Among them, the development and design of the preset function model are completed by the integrated framework personnel. The integrated framework personnel can optimize and update the preset function model regularly so that the preset function model can support running on more platforms.
[0060] In addition, the operator identifiers of the first target operators are connected according to the connection operation of the first privileged person, so that the front-back connection relationship between the operator identifiers of the respective first target operators in the design area 11 of the solution design interface can be determined. The first privileged person can form the basic framework of the algorithm solution through simple operations of dragging and dropping primitive operators, binding preset function models, and connecting operator identifiers, which greatly improves the development efficiency of the algorithm solution. In addition, the operator identifiers of the target operators selected by the first privileged person are displayed on the solution design interface, enabling the first privileged person to visually develop the algorithm solution and thus timely discover problems that occur during the development of the algorithm solution.
[0061] Among them, as Figure 6 shown, Figure 6 is a schematic flowchart of an embodiment of connecting the operator identifiers of the first target operators based on the connection operation. Connecting the operator identifiers of the first target operators based on the connection operation of the first privileged person specifically includes the following sub-steps:
[0062] Step S61: In response to the triggering operation of the first privileged person on the input setting interface, display the selection items of at least some target operators in the design area, and use the target operators selected by the first privileged person as the candidate superior operators of the first target operators.
[0063] In this embodiment, in response to the triggering operation of the first privileged person on the input setting interface 15, display the selection items of at least some target operators in the design area 11, and use the target operators selected by the first privileged person as the candidate superior operators of the first target operators. Among them, the number of at least some target operators is not limited and can be specifically set according to actual usage needs. For example, the selection items of all target operators in the design area 11 can be displayed, or only the target operators corresponding to the output results that can be used as the input data of this target operator can be displayed. In addition, the first privileged person can select one or more target operators from the selection items of at least some target operators as the candidate superior operators of the first target operators, which is not specifically limited here.
[0064] Specifically, as Figure 2 shown, when the first privileged person triggers the input setting interface 15, the target operators corresponding to the output results that can be used as the input data of this target operator in the design area 11 will be displayed at this time. For example, when the first privileged person triggers the input setting interface 15 of the "output" operator, since the output results of the "license plate recognition" operator and the "face feature extraction recognition" operator can be used as the input data of the "output" operator, the selection items of the "license plate recognition" operator and the "face feature extraction recognition" operator in the design area 11 will be displayed at this time.
[0065] Step S62: In response to the first authority's operation of starting the input connection of the first target operator, set the corresponding candidate upper-level operator in the design area to a connectable state, and connect the output end of the operator identifier of the candidate upper-level operator selected by the first authority to the input end of the operator identifier of the first target operator.
[0066] In this embodiment, in response to the first authority's operation of starting the input connection of the first target operator, set the corresponding candidate upper-level operator in the design area 11 to a connectable state, and connect the output end of the operator identifier of the candidate upper-level operator selected by the first authority to the input end of the operator identifier of the first target operator.
[0067] Specifically, as Figure 2 shown, the first authority triggers the input connection start key 17 in Figure 2 by performing an input connection start operation on the first target operator. At this time, the corresponding candidate upper-level operator of the first target operator in the design area 11 is set to a connectable state. When the first authority drags the mouse from the operator identifier of the first target operator to the operator identifier of the candidate upper-level operator, connect the input end of the operator identifier of the first target operator to the output end of the operator identifier of the candidate upper-level operator. Execute the above steps for each first target operator in the design area 11 until the operator identifiers are connected in the execution order to facilitate the subsequent generation of a complete original algorithm scheme.
[0068] In other embodiments, the algorithm scheme developer can also generate an original algorithm scheme based on an existing historical algorithm scheme by adding operators, deleting operators in the historical algorithm scheme, or updating the operator version in the historical algorithm scheme according to actual needs. Specifically, use each historical operator in the historical algorithm scheme selected by the first authority as the second target operator, and display the operator identifier corresponding to the second target operator in the design area 11 of the scheme design interface, and connect the operator identifiers of the second target operators according to the connection relationship of each historical operator in the historical algorithm scheme.
[0069] Step S112: In response to the generation operation of the first authority, generate an original algorithm scheme based on the target operator corresponding to the operator identifier in the design area.
[0070] In this embodiment, in response to the generation operation of the first authorized person, an original algorithm solution is generated based on the target operator corresponding to the operator identifier in the design area 11. Among them, the execution order of the target operators in the original algorithm solution is determined according to the connection relationship of the corresponding operator identifiers. That is to say, when the first authorized person performs the generation operation, the server or the terminal device will generate an original algorithm solution based on the target operator corresponding to the operator identifier in the design area 11 of the solution design interface, and subsequently, when executing this original algorithm solution, the corresponding target operators will be executed according to the execution order determined by the connection relationship of the operator identifiers in the design area 11.
[0071] Since the version of the target operator will affect the accuracy, correctness, etc. of the output result of the subsequent target algorithm solution generated based on the target operator, in one embodiment, before generating the original algorithm solution based on the target operator corresponding to the operator identifier in the design area 11, the version of the target operator will be updated. Specifically, the operator identifier is an identification box. In response to the triggering operation of the first authorized person on the version setting interface 19 in the identification box, options for at least one version of the target operator are displayed, and the target operator is updated to the version selected by the first authorized person. That is to say, after the first authorized person triggers the version setting interface 19, options for at least one version of the target operator will be correspondingly displayed, and the first authorized person can select one of the options as the updated version of the target operator.
[0072] Specifically, as Figure 2 shown, after the first authorized person triggers the version setting interface 19 on the identification box, options for at least one version will be displayed at the target operator; the first authorized person can click on one of the versions to be the updated version of the target operator.
[0073] Optionally, in one embodiment, the number of versions in the displayed options for the target operator can be 1 or multiple, etc., which can be set according to actual usage needs and will not be specifically limited here. In a specific embodiment, when the number of versions in the displayed options for the target operator is multiple, the latest version can be bolded or otherwise processed and displayed to inform the first authorized person that this version is the latest version, thus facilitating the first authorized person to make a selection and improving the efficiency of updating the version of the target operator.
[0074] In one embodiment, the maintainer corresponding to the target operator can regularly update the version of the target operator to improve the accuracy of the target operator. For example, the maintainer corresponding to the target operator will update the current version of the target operator to generate a new version of the target operator and store it in the database, so that the target algorithm solution can be generated based on the new version of the target operator in the future, thereby improving the accuracy and accuracy of the output result of the target algorithm solution. Among them, the version update of the target operator also includes the update of the platform supported by the target operator to run, so that the target operator can support running on more platforms.
[0075] In one embodiment, as Figure 7 shown, Figure 7 is a schematic flowchart of an embodiment for detecting the version of the target operator provided by the present application. The version of the target operator can be detected to determine the current version of the target operator, so as to determine whether the version of the target operator needs to be updated. Specifically, it includes the following sub-steps:
[0076] Step S71: Detect the version of the target operator.
[0077] In order to ensure the accuracy of the output result of the target algorithm solution generated later and avoid the wrong selection of the target operator version by the first authority, in this embodiment, after updating each target operator to the version selected by the first authority, the version of each target operator will be detected to further determine whether the version of each target operator needs to be updated. Among them, the version detection algorithm of the target operator is not limited and can be specifically set according to actual usage needs.
[0078] Step S72: When it is detected that the target operator must be updated, prompt "Must update" in the identification box.
[0079] In this embodiment, when it is detected that the target operator must be updated, prompt "Must update" in the identification box. That is to say, the current version of the target operator is relatively low, which will result in a relatively low accuracy of the output result of the target algorithm solution generated later. Therefore, the version of the target operator must be updated, and prompt "Must update" in the identification box of the target operator to inform the first authority to update the target operator. Specifically, as Figure 2 shown, when it is detected that a target operator must be updated, the words "Must update" will be displayed in the identification box of the target operator to prompt the first authority that the target operator must be updated.
[0080] In a specific embodiment, it is possible to determine whether to prompt for mandatory update in the identification box by detecting whether the version of the target operator is the latest version among the displayed version options. That is, when it is detected that the version of a target operator is not the latest version, the words "Must Update" are displayed in the identification box of the target operator to prompt the first-level authority that the version of the target operator must be updated to the latest version.
[0081] Step S73: It is detected that there is an updatable version of the target operator, and an updatable prompt is given in the identification box.
[0082] In this embodiment, when it is detected that there is an updatable version of the target operator, an updatable prompt is given in the identification box. That is, the current version of the target operator will make the output result of the subsequent generated target algorithm scheme have a certain accuracy, and after updating the target operator to the existing updatable version, the accuracy of the output result of the subsequent generated target algorithm scheme remains basically unchanged. Therefore, the first-level authority can update the version of the target operator to the existing updatable version or not update the version of the target operator; moreover, an updatable prompt is given in the identification box of the target operator to inform the first-level authority that the target operator has an updatable version, but it is not necessary to update the version.
[0083] Specifically, as Figure 2 shown, when it is detected that there is an updatable version of the target operator, the words "Optional Update" are displayed in the identification box of the target operator to prompt the first-level authority that they can selectively update the version of the target operator.
[0084] Please refer to Figure 8 , Figure 8 which Figure 1 is a schematic flowchart of an embodiment of step S12 shown. It should be noted that if there are substantially the same results, this embodiment is not limited to Figure 8 the Figure 8 flow order shown. As
[0085] Step S121: Verify the target operator using verification data.
[0086] In this embodiment, the target operator is verified using verification data so as to subsequently determine whether the target operator needs to be modified. For example, modifying the configuration parameters of the target operator or updating the version of the target operator, i.e., updating the version of the target operator, etc. Among them, the verification data is not limited and can be determined according to the type of the target operator to be verified. For example, the verification data is a piece of image data or a piece of video data, etc. It should be noted that the target operator referred to in this embodiment is a target operator bound to a preset function model.
[0087] In one embodiment, before verifying the target operator, it is also necessary to configure the parameters of the target operator, otherwise the target operator cannot run. Specifically, as Figure 3 shown, the target operator configuration area of the solution design interface specifically further includes a third target operator configuration area. The first authorized person can enter the general configuration parameters of the target algorithm in the third target operator configuration area, and can also click the "Edit" button in the first target operator configuration area, so as to enter the personalized configuration parameters of the target operator, etc.
[0088] Step S122: Determine whether the target operator passes the verification.
[0089] In this embodiment, by determining whether the target operator passes the verification, it is determined whether the target operator needs to be modified subsequently. Among them, when the target operator fails to pass the verification, step S123 is executed.
[0090] In one embodiment, it can be determined whether the target operator passes the verification by determining whether the accuracy or accuracy of the output result of the target operator reaches the preset requirements. In other embodiments, it can also be determined whether the target operator passes the verification by determining whether the target operator runs abnormally. Specifically, it can be set according to actual usage needs and is not limited here.
[0091] Step S123: If the verification fails, modify the target operator until the target operator passes the verification.
[0092] In this embodiment, if the target operator fails to pass the verification, the target operator will be modified until the target operator passes the verification, which indicates that the maintainer has completed the maintenance of the corresponding target operator. Among them, the specific modification of the target operator is not limited here and can be specifically set according to the problems that occur during the verification of the target operator.
[0093] For example, if the target operator fails to pass the verification due to low accuracy or accuracy of the output result, it may be that the version of the target operator is relatively low, so at this time, the version of the target operator can be modified, that is, the version of the target operator can be updated; for another example, if the target operator fails to pass the verification due to abnormal operation, it may be that the configuration parameters of the target operator are incorrect, so at this time, the configuration parameters of the target operator can be modified.
[0094] Please refer to Figure 9 , Figure 9 is a schematic flowchart of another embodiment of the algorithm solution development method provided by this application. It should be noted that if there are substantially the same results, this embodiment does not take Figure 9 the shown process sequence as a limit. As Figure 9 shown, this embodiment includes:
[0095] Step S91: Generate an original algorithm solution.
[0096] Step S91 is similar to Step S11 and will not be elaborated here.
[0097] Step S92: In response to the maintenance operation of the maintainer, maintain the target operator corresponding to the maintainer.
[0098] Step S92 is similar to Step S12 and will not be elaborated here.
[0099] Step S93: After maintaining at least two target operators, use the current multiple target operators to obtain a target algorithm solution.
[0100] Step S93 is similar to Step S13 and will not be elaborated here.
[0101] Step S94: In response to the start operation of the second privileged person or detecting that at least two target operators have been maintained, integrate and compile the target algorithm solution in sequence to obtain the compilation result corresponding to the target algorithm solution.
[0102] In this embodiment, in response to the start operation of the second privileged person or detecting that at least two target operators have been maintained, integrate and compile the target algorithm solution in sequence to obtain the compilation result corresponding to the target algorithm solution. That is to say, in this embodiment, after determining that all target operators that need to be maintained have been maintained, the target algorithm solution will be automatically integrated and compiled in sequence; or, the second privileged person can also manually trigger the integration and compilation operation to integrate and compile the target algorithm solution in sequence to obtain the compilation result corresponding to the target algorithm solution.
[0103] Among them, integration is to splice the relevant data of each target operator according to the splicing relationship between the target operators in the target algorithm solution, so as to form a complete algorithm solution. Compilation is to compile the integrated target algorithm solution using compilation configuration parameters and the environment, so as to obtain the compilation result corresponding to the target algorithm solution. The purpose is to compile the compilation script of the target algorithm solution so that the target algorithm solution can run on the required platform. Among them, the compilation parameters include compilation commands, platforms that compilation depends on, target operator versions, relevant directories of target operators, etc. At the same time, relevant documents such as the target algorithm solution, compilation results (i.e., compilation products), compilation configuration parameter files, dependent libraries, and dependent configuration files will be compressed and packaged. By automatically integrating and compiling the target algorithm solution in sequence, less manual participation is required, improving the efficiency of integrating and compiling the target algorithm solution.
[0104] In one embodiment, a preset time for sequentially integrating and compiling the target algorithm solution can be set. If the integration and compilation are not completed within the preset time, the second authority can determine whether there is an abnormality in the integration and compilation process, so as to avoid wasting resources due to long-term occupation of the terminal device or server. The preset duration is not specifically limited and can be specifically set according to actual usage needs.
[0105] In one embodiment, the second authority and the first authority can be the same person or two different people, which is not specifically limited here.
[0106] Step S95: In response to the test operation of the third authority or detecting that the compilation is completed, use the test solution selected by the second authority to test the compilation result to obtain a test report.
[0107] In this embodiment, in response to the test operation of the third authority or detecting that the compilation is completed, use the test solution selected by the second authority to test the compilation result to obtain a test report. That is to say, in this embodiment, after it is determined that the compilation of the target algorithm solution is completed, the test solution selected by the second authority will be automatically used to test the compilation result; or, the third authority manually triggers a test operation to test the compilation result to obtain a test report. This application can realize tasks such as the development of the target algorithm solution, the maintenance of the target operator, the integration and compilation of the target algorithm solution, and the test of the compilation result through online integrated operations, improving the convenience and efficiency of task execution such as the development of the algorithm solution. In one embodiment, the third authority, the second authority, and the first authority can be the same person or three different people, which is not specifically limited here.
[0108] In one embodiment, the test report includes at least test data, test time, and test result. Among them, the test data is specifically set according to the type of the target algorithm solution. For example, the test data is image data or video data, etc.; the test time is the time spent on completing the test of the compilation result; the test result is the accuracy rate, missed detection rate, etc. of the target algorithm solution. It can be understood that in other embodiments, the test report may also include the test results of a single target operator, etc., and the content of the test report can be specifically set according to actual usage needs, which is not specifically limited here.
[0109] In one embodiment, the target product can also be exported. Specifically, in response to the user's export operation, the target product is exported. The target product includes at least one of a target algorithm solution, a test report, and a compilation result. It can be understood that in other embodiments, the target product may also include a test report of a single target operator, etc. The type of the target product can be specifically set according to actual usage needs and will not be specifically limited herein. Based on the target product such as the target algorithm solution, the test report, and the compilation result, the entire development process of the target algorithm solution can be clearly traced back to quickly locate problems. For example, when the test results show that motorcycles are easily missed during traffic detection; at this time, view the target algorithm solution and trace back to the target detection operator; then, view the training data and training curves of the preset function model bound to the target detection operator; the maintainer corresponding to the target detection operator analyzes the reasons based on the training data and training curves and makes modifications.
[0110] In one embodiment, in order to facilitate the third-party authority to view the test report content in a timely manner, after testing the compilation result and obtaining the test report, the test report is displayed on the solution design interface.
[0111] Please refer to Figure 10 , Figure 10 FIG. is a schematic structural diagram of an embodiment of an algorithm solution development device provided by the present application. In this embodiment, the algorithm solution development device 100 includes a processor 101 and a memory 103.
[0112] The processor 101 can also be referred to as a CPU (Central Processing Unit). The processor 101 may be an integrated circuit chip with signal processing capabilities. The processor 101 can also be a general-purpose processor, 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. The general-purpose processor can be a microprocessor or the processor 101 can also be any conventional processor 101, etc.
[0113] The memory 103 in the algorithm solution development device 100 is used to store program instructions required for the operation of the processor 101.
[0114] The processor 101 is used to execute program instructions to implement the methods provided by any embodiment and any non-conflicting combination of the above algorithm solution development methods of the present application.
[0115] Please refer to Figure 11 , Figure 11It is a schematic structural diagram of an embodiment of a computer-readable storage medium provided by this application. The computer-readable storage medium 110 of the embodiment of this application stores program instructions 111, and when the program instructions 111 are executed, the methods provided by any embodiment of the algorithm solution development method of this application and any non-conflicting combination are implemented. Among them, the program instructions 111 can form a program file and be stored in the above-mentioned computer-readable storage medium 110 in the form of a software product, so that a computer device (which can be a personal computer, a server, or a network device, etc.) can execute all or part of the steps of the methods of various embodiments of this application. The aforementioned computer-readable storage medium 110 includes: various media that can store program codes, such as USB flash drives, mobile hard disks, read-only memories (ROM, Read-Only Memory), random access memories (RAM, Random Access Memory), magnetic disks, or optical discs, or terminal devices such as computers, servers, mobile phones, and tablets.
[0116] The above are only the embodiments of this application, and do not limit the patent scope of this application. Any equivalent structure or equivalent process transformation made by using the content of the specification and drawings of this application, or directly or indirectly applied in other related technical fields, shall be included in the patent protection scope of this application by the same token.
Claims
1. A method for developing an algorithm solution, characterized in that, the method includes: generating an original algorithm solution; wherein, the original algorithm solution includes a plurality of target operators, the target operator is an algorithm module for implementing a preset function, and at least two of the plurality of target operators are provided with corresponding maintainers; responding to the maintenance operation of the maintainer, maintaining the target operator corresponding to the maintainer; wherein, different target operators can be maintained in parallel; after the at least two target operators are maintained, using the current plurality of target operators to obtain a target algorithm solution; wherein, the solution design interface includes a design area and an operator area, and a number of original operators are provided in the operator area; the generating of the original algorithm solution includes: responding to the dragging operation of the first authorized person on the original operator in the operator area of the solution design interface, displaying the operator identifier of the dragged original operator in the design area of the solution design interface, and binding the dragged original operator to a preset function model selected by the first authorized person to be used as a first target operator, and connecting the operator identifier of the first target operator based on the connection operation of the first authorized person; and / or, using each historical operator in the historical algorithm solution selected by the first authorized person as a second target operator, and displaying the operator identifier corresponding to the second target operator in the design area of the solution design interface, and connecting the operator identifiers of the second target operators according to the connection relationship of each historical operator in the historical algorithm solution; responding to the generation operation of the first authorized person, generating the original algorithm solution based on the target operators corresponding to the operator identifiers in the design area, wherein the execution order of the target operators in the original algorithm solution is determined according to the connection relationship of the corresponding operator identifiers.
2. The method according to claim 1, characterized in that, the operator identifier is an identification box, and the identification box is provided with an input setting interface; the connecting the operator identifier of the first target operator based on the connection operation of the first authorized person includes: responding to the triggering operation of the first authorized person on the input setting interface, displaying selection items of at least some of the target operators in the design area, and using the target operator selected by the first authorized person as a candidate superior operator of the first target operator; responding to the input connection start operation of the first authorized person on the first target operator, setting the corresponding candidate superior operator in the design area to a connectable state, and connecting the output end of the operator identifier of the candidate superior operator selected by the first authorized person to the input end of the operator identifier of the first target operator.
3. The method according to any one of claims 1 to 2, characterized in that, the operator identifier is an identification box; before the generating the original algorithm solution based on the target operators corresponding to the operator identifiers in the design area in response to the generation operation of the first authorized person, the method further includes any one or more of the following steps: In response to the triggering operation of the first authorized person on the version setting interface in the identification box, display the selection items of at least one version of the target operator, and update the target operator to the version selected by the first authorized person; Detect that the target operator must be updated, and prompt in the identification box that it must be updated; Detect that there is an updatable version of the target operator, and prompt in the identification box that it can be updated.
4. The method according to claim 1, wherein, before the maintaining the target operator corresponding to the maintainer in response to the maintenance operation of the maintainer, and wherein different target operators can be maintained in parallel, the method further comprises at least one of the following steps: In response to the maintainer selection operation of the first authorized person in the configuration area of the solution design interface, use the maintainer selected by the first authorized person as the maintainer corresponding to the target operator; Adjust the state of the target operator; wherein the state includes at least one of maintained, not maintained, and rejected.
5. The method according to claim 4, wherein, after the using the maintainer selected by the first authorized person as the maintainer corresponding to the target operator in response to the maintainer selection operation of the first authorized person in the configuration area of the solution design interface, the method further comprises: Send a first reminder message to the maintainer to remind the maintainer to maintain the target operator within a preset time.
6. The method according to claim 1, wherein, the maintaining the target operator corresponding to the maintainer includes: Verify the target operator using verification data; If the verification fails, modify the target operator until the target operator passes the verification.
7. The method according to claim 1, wherein, after the using the current multiple target operators to obtain a target algorithm solution, the method further comprises: In response to the start operation of the second authorized person or detecting that all the at least two target operators are maintained, integrate and compile the target algorithm solution in sequence to obtain the compilation result corresponding to the target algorithm solution; In response to the test operation of the third authorized person or detecting that the compilation is completed, use the test solution selected by the second authorized person to test the compilation result to obtain a test report.
8. The method according to claim 7, wherein, the test report at least includes test data, test time, and test result; and / or, after the using the test solution selected by the second authorized person to test the compilation result to obtain a test report, the method further comprises at least one of the following steps: In response to the export operation of the user, export the target product; wherein the target product includes at least one of the target algorithm solution, the test report, and the compilation result; Display the test report.
9. The method according to claim 1, wherein, the multiple target operators include an input operator, at least one intermediate processing operator, and an output operator.
10. An algorithm solution development device, wherein, The algorithmic solution development device includes a processor and a memory. The processor is configured to execute program instructions to implement the algorithmic solution development method according to any one of claims 1-9, and the memory is configured to store the program instructions.
11. A computer-readable storage medium, characterized in that the computer-readable storage medium is used to store program instructions that can be executed to implement the algorithm development method according to any one of claims 1-9.
Citation Information
Patent Citations
Algorithm model development method, terminal equipment and computer storage medium
CN110928528A
Automatic programming control system, method and device, electronic equipment and storage medium
CN112199086A