CN111737159A - Software debugging method, device, equipment and computer readable storage medium - Google Patents

Software debugging method, device, equipment and computer readable storage medium Download PDF

Info

Publication number
CN111737159A
CN111737159A CN202010878569.3A CN202010878569A CN111737159A CN 111737159 A CN111737159 A CN 111737159A CN 202010878569 A CN202010878569 A CN 202010878569A CN 111737159 A CN111737159 A CN 111737159A
Authority
CN
China
Prior art keywords
target
characteristic value
input characteristic
software
weight information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010878569.3A
Other languages
Chinese (zh)
Other versions
CN111737159B (en
Inventor
高峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202010878569.3A priority Critical patent/CN111737159B/en
Publication of CN111737159A publication Critical patent/CN111737159A/en
Application granted granted Critical
Publication of CN111737159B publication Critical patent/CN111737159B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3644Software debugging by instrumenting at runtime
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/366Software debugging using diagnostics

Abstract

The application discloses a software debugging method, a device, equipment and a computer readable storage medium, comprising the following steps: the acquisition device is used for acquiring coordinate information of a target output characteristic diagram, dimension information of a target input characteristic diagram and a Pad mode which are preset in target AI inference side software, and acquiring input characteristic diagram values and weight information which are generated in the running process of the target AI inference side software, wherein the target output characteristic diagram corresponds to the target input characteristic diagram; the analyzer is used for analyzing the input characteristic diagram numerical value based on the coordinate information, the Pad mode and the dimension information to obtain a target input characteristic value corresponding to the coordinate information; the quantizer is used for quantizing the target input characteristic value and the weight information to obtain a quantized input characteristic value and quantized weight information; an arithmetic unit, a comparator and a debugger; the debugging of the target AI reasoning side software is realized, and the deployment of the target AI side software can be accelerated.

Description

Software debugging method, device, equipment and computer readable storage medium
Technical Field
The present application relates to the field of software debugging technologies, and in particular, to a software debugging method, apparatus, device, and computer-readable storage medium.
Background
With the rapid development of Artificial Intelligence and 5G communication technologies, mtc (large-scale machine communication) which is one of three application scenarios combining 5G technologies and the AIOT (Artificial Intelligence Internet of Things) technology applied by Artificial Intelligence edge devices present a fully-exploding situation, and become a new round of standing-by science wave after the mobile Internet technology. As a typical representative of an artificial intelligent edge device which is one of the important components of the science and technology wave, an FPGA (Field programmable Gate Array) has natural advantages of rich hardware logic resources, high parallelism, high low delay and the like, and by combining an OpenCL (Open Computing language) heterogeneous Computing architecture, writing of inference side application software, that is, software for performing corresponding inference on a structure of a target network and accelerating determination efficiency of the structure of the target network, can be quickly realized. Meanwhile, Artificial Intelligence, especially rapid iteration of the advanced learning field AI (Artificial Intelligence), and the data volume are continuously increased, new models are continuously proposed and new operators are added, so that the debugging work of the AI inference side software is challenged. And for a long time, no special debugging environment or debugging method for setting application scenes aiming at the artificial intelligence edge end exists, which becomes a problem to be solved urgently that the quick deployment of inference side software and the final landing of AI products are influenced.
In summary, how to implement debugging of AI inference side software is a problem that those skilled in the art are in urgent need to solve at present.
Disclosure of Invention
The application aims to provide a software debugging device which can solve the technical problem of how to realize the debugging of AI inference side software to a certain extent. The application also provides a software debugging method, equipment and a computer readable storage medium.
In order to achieve the above purpose, the present application provides the following technical solutions:
a software debugging apparatus comprising:
the acquisition device is used for acquiring coordinate information of a target output characteristic diagram, dimension information of a target input characteristic diagram and a Pad mode which are preset in target AI inference side software, and acquiring input characteristic diagram values and weight information which are generated in the running process of the target AI inference side software, wherein the target output characteristic diagram corresponds to the target input characteristic diagram;
the analyzer is used for analyzing the input characteristic diagram numerical value based on the coordinate information, the Pad mode and the dimension information to obtain a target input characteristic value corresponding to the coordinate information;
the quantizer is used for quantizing the target input characteristic value and the weight information to obtain a quantized input characteristic value and quantized weight information;
an arithmetic unit, configured to calculate a target output characteristic value corresponding to the coordinate information based on the target input characteristic value and the weight information; calculating a target calculation result of a target operator based on the target input characteristic value and the target output characteristic value, and calculating an execution period of each operator;
a comparator for comparing the quantized input feature value, the quantized weight information, the target calculation result, the target output feature value, and the execution period with corresponding values in the operation process of the target AI inference side software in a consistent manner, and outputting inconsistent values as comparison results;
and the debugger is used for debugging the target AI inference side software based on the comparison result.
Preferably, the obtaining unit obtains the input feature map value and the weight information generated during the operation of the target AI inference side software, and includes:
the acquirer acquires a log file generated after the target AI reasoning side software operates, and analyzes the numerical value of the input characteristic diagram and the weight information in the log file.
Preferably, the method further comprises the following steps:
a display for displaying the target input characteristic value, and/or the target output characteristic value, and/or the comparison result, and/or the execution cycle.
Preferably, the displaying of the target input characteristic value, the target output characteristic value, the comparison result, and/or the execution cycle by the display device includes:
the display displays the target input characteristic value, the target output characteristic value, the comparison result and the execution period through an Excel table.
Preferably, the arithmetic unit calculates a target output characteristic value corresponding to the coordinate information based on the target input characteristic value and the weight information, and includes:
and the arithmetic unit calls a preset Excel formula through a VBA interface, and calculates the target output characteristic value corresponding to the coordinate information based on the target input characteristic value and the weight information.
Preferably, the comparing unit compares the quantized input feature value, the quantized weight information, the target calculation result, the target output feature value, and the execution period with corresponding values in the operation process of the target AI inference side software in a consistent manner, and outputs inconsistent values as comparison results, and the comparing unit includes:
and the comparator compares the quantized input characteristic value, the quantized weight information, the target calculation result, the target output characteristic value and the execution period with corresponding values in the running process of the target AI inference side software through an Excel table in a consistent manner, and outputs inconsistent values as the comparison result.
Preferably, the debugging unit is configured to debug the target AI inference side software based on the comparison result, and includes:
and the debugger debugs the target AI inference side software based on the comparison result through a preset debugging tool.
A method of software debugging, comprising:
acquiring coordinate information of a target output characteristic diagram, dimension information of a target input characteristic diagram and a Pad mode preset in target AI inference side software, and acquiring numerical values and weight information of the input characteristic diagram generated in the running process of the target AI inference side software, wherein the target output characteristic diagram corresponds to the target input characteristic diagram;
analyzing the input characteristic diagram value based on the coordinate information, the Pad mode and the dimension information to obtain a target input characteristic value corresponding to the coordinate information;
quantizing the target input characteristic value and the weight information to obtain a quantized input characteristic value and quantized weight information;
calculating a target output characteristic value corresponding to the coordinate information based on the target input characteristic value and the weight information; calculating a target calculation result of a target operator based on the target input characteristic value and the target output characteristic value, and calculating an execution period of each operator;
comparing the quantized input characteristic value, the quantized weight information, the target calculation result, the target output characteristic value and the execution period with corresponding values in the running process of the target AI inference side software in a consistent manner, and outputting inconsistent values as comparison results;
and debugging the target AI inference side software based on the comparison result.
A software debugging device comprising:
a memory for storing a computer program;
a processor for implementing the steps of the software debugging method as described above when executing the computer program.
A computer-readable storage medium, in which a computer program is stored which, when being executed by a processor, carries out the steps of the software debugging method as described above.
The application provides a software debugging device, includes: the acquisition device is used for acquiring coordinate information of a target output characteristic diagram, dimension information of a target input characteristic diagram and a Pad mode which are preset in target AI inference side software, and acquiring input characteristic diagram values and weight information which are generated in the running process of the target AI inference side software, wherein the target output characteristic diagram corresponds to the target input characteristic diagram; the analyzer is used for analyzing the input characteristic diagram numerical value based on the coordinate information, the Pad mode and the dimension information to obtain a target input characteristic value corresponding to the coordinate information; the quantizer is used for quantizing the target input characteristic value and the weight information to obtain a quantized input characteristic value and quantized weight information; the arithmetic unit is used for calculating a target output characteristic value corresponding to the coordinate information based on the target input characteristic value and the weight information; calculating a target calculation result of a target operator based on the target input characteristic value and the target output characteristic value, and calculating an execution period of each operator; the comparator is used for carrying out consistency comparison on the quantized input characteristic value, the quantized weight information, the target calculation result, the target output characteristic value and the execution period and corresponding values in the running process of the target AI inference side software, and outputting inconsistent values as comparison results; and the debugger is used for debugging the target AI inference side software based on the comparison result. In the application, the software debugging device realizes the debugging of the target AI inference side software by means of the acquirer, the resolver, the quantizer, the arithmetic unit, the comparator and the debugger, and can accelerate the deployment of the target AI side software. The software debugging method, the software debugging equipment and the computer readable storage medium solve the corresponding technical problems.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings needed to be used in the description of the embodiments or the prior art will be briefly introduced below, it is obvious that the drawings in the following description are only embodiments of the present application, and for those skilled in the art, other drawings can be obtained according to the provided drawings without creative efforts.
Fig. 1 is a schematic structural diagram of a software debugging apparatus according to an embodiment of the present application;
fig. 2 is a schematic flowchart of a software debugging method according to an embodiment of the present application;
fig. 3 is a schematic structural diagram of a software debugging device according to an embodiment of the present application;
fig. 4 is another schematic structural diagram of a software debugging device according to an embodiment of the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only a part of the embodiments of the present application, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
Referring to fig. 1, fig. 1 is a schematic structural diagram of a software debugging apparatus according to an embodiment of the present disclosure.
The software debugging device provided by the embodiment of the application can comprise:
the acquirer 101 is configured to acquire coordinate information of a target output feature map, dimension information of a target input feature map, and a Pad mode, which are preset in the target AI inference side software, and acquire an input feature map value and weight information generated in the running process of the target AI inference side software, where the target output feature map corresponds to the target input feature map;
the analyzer 102 is used for analyzing the input feature map numerical value based on the coordinate information, the Pad mode and the dimension information to obtain a target input feature value corresponding to the coordinate information;
a quantizer 103, configured to quantize the target input feature value and the weight information to obtain a quantized input feature value and quantized weight information;
an arithmetic unit 104 for calculating a target output characteristic value corresponding to the coordinate information based on the target input characteristic value and the weight information; calculating a target calculation result of a target operator based on the target input characteristic value and the target output characteristic value, and calculating an execution period of each operator;
a comparator 105 for comparing the quantized input characteristic value, the quantized weight information, the target calculation result, the target output characteristic value, and the execution period with corresponding values in the operation process of the target AI inference side software in a consistent manner, and outputting inconsistent values as a comparison result;
and the debugger 106 is used for debugging the target AI inference side software based on the comparison result.
In practical application, the coordinate information of the target output characteristic diagram, the dimension information of the target input characteristic diagram and the Pad mode acquired by the acquirer can be input to the acquirer by a user, in the process, the user can determine the target input characteristic diagram and the target output characteristic diagram according to the requirement of the user, of course, the acquirer can also automatically acquire the coordinate information and other information of the target output characteristic diagram, the application is not specifically limited, the coordinate information of the target output characteristic diagram can include the coordinate information of the target output characteristic diagram and the information of a channel where the target output characteristic diagram is located, the dimension information of the target input characteristic diagram can include the coordinate information of the target output characteristic diagram and the like, and the types of the Pad modes can include adding Pad from the periphery, adding Pad from the left side, adding Pad from the right side and the like; in a specific application scenario, the input feature map value is an input value of the convolutional layer, and the type of the input feature map value may be int 16.
In practical application, after the acquirer acquires coordinate information of a target output feature map, dimension information of a target input feature map and a Pad mode which are preset in target AI inference side software, and acquires an input feature map numerical value and weight information generated in the running process of the target AI inference side software, the analyzer can analyze the input feature map numerical value based on the coordinate information, the Pad mode and the dimension information to obtain a target input feature value corresponding to the coordinate information, namely, the analyzer can obtain a corresponding target input feature value, so as to verify whether the running process of the target AI inference side software is normal or not according to the target input feature value.
In practical application, in the running process of target AI inference side software, data needs to be quantized correspondingly, so after a target input characteristic value is obtained by a resolver, the target input characteristic value and weight information can be quantized by a quantizer to obtain a quantized input characteristic value and quantized weight information, a target output characteristic value corresponding to coordinate information is calculated by an arithmetic unit based on the target input characteristic value and the weight information, a target calculation result of a target operator is calculated based on the target input characteristic value and the target output characteristic value, and the execution period of each operator is calculated; it should be noted that the target output characteristic value is also the theoretical output characteristic value calculated by the software debugging apparatus provided in the present application, and if the target AI inference side software is normally operated, the real-time output characteristic value output by the target AI inference side software should be consistent with the target output characteristic value, so that the operation of the target AI inference side software can be judged through the target output characteristic value, and in the operation process of the target AI inference side software, the target calculation result of the target operator and the execution period of each operator also reflect whether the target AI inference side software is normally operated, so that the target calculation result of the target operator and the execution period of each operator need to be calculated by an operator.
In practical application, after the target output characteristic value, the target calculation result of the target operator and the execution period of each operator are calculated by the arithmetic unit, the quantized input characteristic value, the quantized weight information, the target calculation result, the target output characteristic value and the execution period can be compared with corresponding values in the running process of the target AI inference side software in a consistent manner by the comparator, inconsistent values are output as comparison results, and the inconsistent values correspond to the abnormal running condition of the target AI inference side software, so that the target AI inference side software can be debugged subsequently by the debugger based on the comparison results.
The application provides a software debugging device, includes: the acquisition device is used for acquiring coordinate information of a target output characteristic diagram, dimension information of a target input characteristic diagram and a Pad mode which are preset in target AI inference side software, and acquiring input characteristic diagram values and weight information which are generated in the running process of the target AI inference side software, wherein the target output characteristic diagram corresponds to the target input characteristic diagram; the analyzer is used for analyzing the input characteristic diagram numerical value based on the coordinate information, the Pad mode and the dimension information to obtain a target input characteristic value corresponding to the coordinate information; the quantizer is used for quantizing the target input characteristic value and the weight information to obtain a quantized input characteristic value and quantized weight information; the arithmetic unit is used for calculating a target output characteristic value corresponding to the coordinate information based on the target input characteristic value and the weight information; calculating a target calculation result of a target operator based on the target input characteristic value and the target output characteristic value, and calculating an execution period of each operator; the comparator is used for carrying out consistency comparison on the quantized input characteristic value, the quantized weight information, the target calculation result, the target output characteristic value and the execution period and corresponding values in the running process of the target AI inference side software, and outputting inconsistent values as comparison results; and the debugger is used for debugging the target AI inference side software based on the comparison result. In the application, the software debugging device realizes the debugging of the target AI inference side software by means of the acquirer, the resolver, the quantizer, the arithmetic unit, the comparator and the debugger, and can accelerate the deployment of the target AI side software.
In the software debugging device provided by the application, because the target AI inference side software can generate the log file for recording corresponding operation data in the operation process, the acquirer can acquire the value of the input feature map and the weight information generated in the operation process of the target AI inference side software, and in order to improve the data acquisition efficiency, the acquirer can acquire the log file generated after the target AI inference side software operates, and the value of the input feature map and the weight information are analyzed in the log file.
In the software debugging apparatus provided by the present application, in order to facilitate a user to view corresponding information, the software debugging apparatus may further include: and the display is used for displaying the target input characteristic value, the target output characteristic value, the comparison result and/or the execution period.
In practical applications, during the process of displaying the target input characteristic value, and/or the target output characteristic value, and/or the comparison result, and/or the execution cycle by the display, the display may display the target input characteristic value, and/or the target output characteristic value, and/or the comparison result, and/or the execution cycle by the Excel table. And the target input characteristic value and/or the target output characteristic value and/or the comparison result and/or the execution period and the like can be displayed in a comparative form through an Excel table.
In the software debugging device, in the process that the arithmetic unit calculates the target output characteristic value corresponding to the coordinate information based on the target input characteristic value and the weight information, in order to improve the operation efficiency and reduce the operation difficulty, the arithmetic unit can call a preset Excel formula through a VBA interface, and calculates the target output characteristic value corresponding to the coordinate information based on the target input characteristic value and the weight information.
In the software debugging device provided by the application, for comparison, the comparator compares the quantized input characteristic value, the quantized weight information, the target calculation result, the target output characteristic value and the execution period with the corresponding value in the running process of the target AI inference side software in a consistent manner, and outputs the inconsistent value as the comparison result.
In the software debugging device provided by the application, the debugger debugs the target AI inference side software based on the comparison result, and can debug the target AI inference side software based on the comparison result through a preset debugging tool for the convenience of debugging.
In practical application, the type of the preset debugging tool may be determined according to actual needs, for example, the preset debugging tool may be an online debugging tool such as gdb.
Referring to fig. 2, fig. 2 is a schematic flowchart illustrating a software debugging method according to an embodiment of the present disclosure.
The software debugging method provided by the embodiment of the application can comprise the following steps:
step S101: coordinate information of a target output characteristic diagram preset in target AI inference side software, dimension information of a target input characteristic diagram and a Pad mode are obtained, input characteristic diagram values and weight information generated in the running process of the target AI inference side software are obtained, and the target output characteristic diagram corresponds to the target input characteristic diagram.
Step S102: and analyzing the input characteristic diagram value based on the coordinate information, the Pad mode and the dimension information to obtain a target input characteristic value corresponding to the coordinate information.
Step S103: and quantizing the target input characteristic value and the weight information to obtain a quantized input characteristic value and quantized weight information.
Step S104: calculating a target output characteristic value corresponding to the coordinate information based on the target input characteristic value and the weight information; and calculating a target calculation result of the target operator based on the target input characteristic value and the target output characteristic value, and calculating the execution period of each operator.
Step S105: and carrying out consistency comparison on the quantized input characteristic value, the quantized weight information, the target calculation result, the target output characteristic value and the execution period with corresponding values in the running process of the target AI inference side software, and outputting inconsistent values as comparison results.
Step S106: and debugging the target AI inference side software based on the comparison result.
The description of the corresponding steps in the software debugging method provided in the embodiment of the present application may refer to the above embodiments, and is not repeated here.
The software debugging method provided by the embodiment of the application can be used for acquiring the input characteristic diagram numerical value and the weight information generated in the running process of the target AI inference side software, and can be specifically used for acquiring a log file generated after the target AI inference side software runs and analyzing the input characteristic diagram numerical value and the weight information in the log file.
The software debugging method provided by the embodiment of the application can also display the target input characteristic value, the target output characteristic value, the comparison result and/or the execution cycle.
The software debugging method provided by the embodiment of the application, the step of displaying the target input characteristic value, and/or the target output characteristic value, and/or the comparison result, and/or the execution cycle, may specifically be: and displaying the target input characteristic value, the target output characteristic value, the comparison result and/or the execution period through the Excel table.
The software debugging method provided by the embodiment of the application, based on the target input characteristic value and the weight information, calculates the target output characteristic value corresponding to the coordinate information, and may specifically be: and calling a preset Excel formula through a VBA interface, and calculating a target output characteristic value corresponding to the coordinate information based on the target input characteristic value and the weight information.
The software debugging method provided by the embodiment of the application compares the consistency of the quantized input characteristic value, the quantized weight information, the target calculation result, the target output characteristic value and the execution period with the corresponding value in the running process of the target AI inference side software, and outputs the inconsistent value as the comparison result, which can be specifically as follows: and comparing the consistency of the quantized input characteristic value, the quantized weight information, the target calculation result, the target output characteristic value and the execution period with the corresponding value in the operation process of the target AI inference side software through an Excel table, and outputting the inconsistent value as a comparison result.
The software debugging method provided by the embodiment of the application, based on the comparison result, the step of debugging the target AI inference side software, may specifically be: and debugging the target AI inference side software based on the comparison result through a preset debugging tool.
The application also provides software debugging equipment and a computer readable storage medium, which have corresponding effects of the software debugging method provided by the embodiment of the application. Referring to fig. 3, fig. 3 is a schematic structural diagram of a software debugging device according to an embodiment of the present application.
The software debugging device provided by the embodiment of the application comprises a memory 201 and a processor 202, wherein a computer program is stored in the memory 201, and the processor 202 implements the steps of the software debugging method described in any one of the embodiments when executing the computer program.
Referring to fig. 4, another software debugging device provided in the embodiment of the present application may further include: an input port 203 connected to the processor 202, for transmitting externally input commands to the processor 202; a display unit 204 connected to the processor 202, for displaying the processing result of the processor 202 to the outside; and the communication module 205 is connected with the processor 202 and is used for realizing the communication between the software debugging device and the outside world. The display unit 204 may be a display panel, a laser scanning display, or the like; the communication method adopted by the communication module 205 includes, but is not limited to, mobile high definition link technology (HML), Universal Serial Bus (USB), High Definition Multimedia Interface (HDMI), and wireless connection: wireless fidelity technology (WiFi), bluetooth communication technology, bluetooth low energy communication technology, ieee802.11s based communication technology.
The computer readable storage medium provided in the embodiments of the present application stores a computer program, and when the computer program is executed by a processor, the steps of the software debugging method described in any of the above embodiments are implemented.
The computer-readable storage media to which this application relates include Random Access Memory (RAM), memory, Read Only Memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage media known in the art.
For a description of a relevant part in the software debugging method, the device and the computer readable storage medium provided in the embodiments of the present application, reference is made to detailed descriptions of a corresponding part in the software debugging method provided in the embodiments of the present application, and details are not described herein again. In addition, parts of the above technical solutions provided in the embodiments of the present application, which are consistent with the implementation principles of corresponding technical solutions in the prior art, are not described in detail so as to avoid redundant description.
It is further noted that, herein, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the application. Thus, the present application is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims (10)

1. A software debugging apparatus, comprising:
the acquisition device is used for acquiring coordinate information of a target output characteristic diagram, dimension information of a target input characteristic diagram and a Pad mode which are preset in target AI inference side software, and acquiring input characteristic diagram values and weight information which are generated in the running process of the target AI inference side software, wherein the target output characteristic diagram corresponds to the target input characteristic diagram;
the analyzer is used for analyzing the input characteristic diagram numerical value based on the coordinate information, the Pad mode and the dimension information to obtain a target input characteristic value corresponding to the coordinate information;
the quantizer is used for quantizing the target input characteristic value and the weight information to obtain a quantized input characteristic value and quantized weight information;
an arithmetic unit, configured to calculate a target output characteristic value corresponding to the coordinate information based on the target input characteristic value and the weight information; calculating a target calculation result of a target operator based on the target input characteristic value and the target output characteristic value, and calculating an execution period of each operator;
a comparator for comparing the quantized input feature value, the quantized weight information, the target calculation result, the target output feature value, and the execution period with corresponding values in the operation process of the target AI inference side software in a consistent manner, and outputting inconsistent values as comparison results;
and the debugger is used for debugging the target AI inference side software based on the comparison result.
2. The software debugging device according to claim 1, wherein the obtaining unit obtains the input feature map values and the weight information generated during the operation of the target AI inference side software, and comprises:
the acquirer acquires a log file generated after the target AI reasoning side software operates, and analyzes the numerical value of the input characteristic diagram and the weight information in the log file.
3. The software debugging apparatus according to claim 1, further comprising:
a display for displaying the target input characteristic value, and/or the target output characteristic value, and/or the comparison result, and/or the execution cycle.
4. The software debugging device according to claim 3, wherein the display displays the target input characteristic value, and/or the target output characteristic value, and/or the comparison result, and/or the execution cycle, and comprises:
the display displays the target input characteristic value, the target output characteristic value, the comparison result and the execution period through an Excel table.
5. The software debugging apparatus according to claim 1, wherein the calculator calculates a target output characteristic value corresponding to the coordinate information based on the target input characteristic value and the weight information, and includes:
and the arithmetic unit calls a preset Excel formula through a VBA interface, and calculates the target output characteristic value corresponding to the coordinate information based on the target input characteristic value and the weight information.
6. The software debugging apparatus according to claim 1, wherein the comparator compares the quantized input feature value, the quantized weight information, the target calculation result, the target output feature value, and the execution period with corresponding values during the operation of the target AI inference side software in a consistent manner, and outputs inconsistent values as comparison results, and the comparison comprises:
and the comparator compares the quantized input characteristic value, the quantized weight information, the target calculation result, the target output characteristic value and the execution period with corresponding values in the running process of the target AI inference side software through an Excel table in a consistent manner, and outputs inconsistent values as the comparison result.
7. The software debugging apparatus according to any one of claims 1 to 6, wherein the debugger debugs the target AI inference side software based on the comparison result, and includes:
and the debugger debugs the target AI inference side software based on the comparison result through a preset debugging tool.
8. A method for debugging software, comprising:
acquiring coordinate information of a target output characteristic diagram, dimension information of a target input characteristic diagram and a Pad mode preset in target AI inference side software, and acquiring numerical values and weight information of the input characteristic diagram generated in the running process of the target AI inference side software, wherein the target output characteristic diagram corresponds to the target input characteristic diagram;
analyzing the input characteristic diagram value based on the coordinate information, the Pad mode and the dimension information to obtain a target input characteristic value corresponding to the coordinate information;
quantizing the target input characteristic value and the weight information to obtain a quantized input characteristic value and quantized weight information;
calculating a target output characteristic value corresponding to the coordinate information based on the target input characteristic value and the weight information; calculating a target calculation result of a target operator based on the target input characteristic value and the target output characteristic value, and calculating an execution period of each operator;
comparing the quantized input characteristic value, the quantized weight information, the target calculation result, the target output characteristic value and the execution period with corresponding values in the running process of the target AI inference side software in a consistent manner, and outputting inconsistent values as comparison results;
and debugging the target AI inference side software based on the comparison result.
9. A software debugging device, comprising:
a memory for storing a computer program;
a processor for implementing the steps of the software debugging method of claim 8 when executing said computer program.
10. A computer-readable storage medium, in which a computer program is stored which, when being executed by a processor, carries out the steps of the software debugging method according to claim 8.
CN202010878569.3A 2020-08-27 2020-08-27 Software debugging method, device, equipment and computer readable storage medium Active CN111737159B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010878569.3A CN111737159B (en) 2020-08-27 2020-08-27 Software debugging method, device, equipment and computer readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010878569.3A CN111737159B (en) 2020-08-27 2020-08-27 Software debugging method, device, equipment and computer readable storage medium

Publications (2)

Publication Number Publication Date
CN111737159A true CN111737159A (en) 2020-10-02
CN111737159B CN111737159B (en) 2021-02-09

Family

ID=72658919

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010878569.3A Active CN111737159B (en) 2020-08-27 2020-08-27 Software debugging method, device, equipment and computer readable storage medium

Country Status (1)

Country Link
CN (1) CN111737159B (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108229670A (en) * 2018-01-05 2018-06-29 中国科学技术大学苏州研究院 Deep neural network based on FPGA accelerates platform
CN110036367A (en) * 2018-08-15 2019-07-19 深圳鲲云信息科技有限公司 A kind of verification method and Related product of AI operation result
CN110489344A (en) * 2019-08-02 2019-11-22 Oppo广东移动通信有限公司 Engine test method and Related product
CN110516334A (en) * 2019-08-16 2019-11-29 浪潮电子信息产业股份有限公司 Convolutional calculation emulation test method, device and relevant device based on hardware environment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108229670A (en) * 2018-01-05 2018-06-29 中国科学技术大学苏州研究院 Deep neural network based on FPGA accelerates platform
CN110036367A (en) * 2018-08-15 2019-07-19 深圳鲲云信息科技有限公司 A kind of verification method and Related product of AI operation result
CN110489344A (en) * 2019-08-02 2019-11-22 Oppo广东移动通信有限公司 Engine test method and Related product
CN110516334A (en) * 2019-08-16 2019-11-29 浪潮电子信息产业股份有限公司 Convolutional calculation emulation test method, device and relevant device based on hardware environment

Also Published As

Publication number Publication date
CN111737159B (en) 2021-02-09

Similar Documents

Publication Publication Date Title
US20110191752A1 (en) Method and System for Debugging of Software on Target Devices
CN111209203B (en) Model verification method based on source code
CN111258290A (en) Automatic test method and system for vehicle control unit
CN110766167B (en) Interactive feature selection method, device and readable storage medium
CN111596902A (en) Method, device, equipment and storage medium for building front-end and back-end development framework
CN113434396A (en) Interface test method, device, equipment, storage medium and program product
KR20230088252A (en) Method and apparatus for generating and applying deep learning model based on deep learning framework
CN115543290A (en) Visual programming method and system
CN110347588B (en) Software verification method, device, computer equipment and storage medium
CN111460620A (en) Test evaluation model construction method and system
CN111737159B (en) Software debugging method, device, equipment and computer readable storage medium
CN110750453A (en) HTML 5-based intelligent mobile terminal testing method, system, server and storage medium
CN102183896B (en) A kind of system utilizing Matlab to test nuclear power station relay protective scheme
CN106843822B (en) Execution code generation method and equipment
CN115221720B (en) Combined simulation method, equipment, medium and system of nuclear energy equipment
CN114661615B (en) FPGA software testing method and device
CN110895460A (en) Jenkins-based robot system integration method and device and terminal equipment
CN111240972B (en) Model verification device based on source code
CN113392436A (en) CAE analysis software and office software integrated control method and platform
CN113220586A (en) Automatic interface pressure test execution method, device and system
CN113849484A (en) Big data component upgrading method and device, electronic equipment and storage medium
CN112269740A (en) Automatic testing method and device for automatic driving software
CN110674179A (en) Query interface generation method, device and medium
US20120005055A1 (en) Dynamic computation of roi for test automation
CN111679924A (en) Component software system reliability simulation method and device and electronic equipment

Legal Events

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