WO2020119188A1 - Procédé, appareil et dispositif de détection de programmes et support de stockage lisible par ordinateur - Google Patents

Procédé, appareil et dispositif de détection de programmes et support de stockage lisible par ordinateur Download PDF

Info

Publication number
WO2020119188A1
WO2020119188A1 PCT/CN2019/103639 CN2019103639W WO2020119188A1 WO 2020119188 A1 WO2020119188 A1 WO 2020119188A1 CN 2019103639 W CN2019103639 W CN 2019103639W WO 2020119188 A1 WO2020119188 A1 WO 2020119188A1
Authority
WO
WIPO (PCT)
Prior art keywords
program
winograd
test data
convolution
fpga
Prior art date
Application number
PCT/CN2019/103639
Other languages
English (en)
Chinese (zh)
Inventor
曹芳
赵雅倩
郭振华
Original Assignee
广东浪潮大数据研究有限公司
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 广东浪潮大数据研究有限公司 filed Critical 广东浪潮大数据研究有限公司
Publication of WO2020119188A1 publication Critical patent/WO2020119188A1/fr

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/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Definitions

  • the present invention relates to the field of computer application technology, and in particular, to a program detection method, device, device, and readable storage medium.
  • CNN Convolutional Neural Networks
  • FPGA Field-Programmable Gate Array
  • DSP multiplier
  • the Winograd algorithm is a fast algorithm for convolutional neural networks. It uses the structural similarity between elements to generate a list of elements in the output feature map. Can reduce the number of multiplication operations, thereby greatly reducing the complexity of the algorithm, can improve the CNN performance on the FPGA.
  • the purpose of the present invention is to provide a program detection method, device, equipment and readable storage medium to detect the Winograd program on the FPGA to ensure the accuracy of the entire CNN algorithm.
  • the present invention provides the following technical solutions:
  • a program detection method including:
  • the target algorithm program of the convolutional neural network uses the target algorithm program of the convolutional neural network to perform convolution calculation on the test data to obtain a convolution result;
  • the target algorithm program is an algorithm program that implements the convolutional neural network in a sliding window manner;
  • the target algorithm program of the convolutional neural network is used to perform convolution calculation on the test data to obtain a convolution result, including:
  • the FPGA uses the Winograd program to perform fast convolution calculation on the test data, including:
  • the FPGA uses the Winograd program to perform fast convolution calculation on the test data, and uses the fast calculation to obtain the first layer result of the convolutional neural network as the fast convolution result.
  • it also includes:
  • the filter parameters are set in the target convolution algorithm program and the Winograd program, respectively.
  • sending the test data to the FPGA includes:
  • the FPGA uses the Winograd program to perform fast convolution calculation on the test data, including:
  • the FPGA starts the kernel and uses the Winograd program to perform fast convolution calculation on the test data.
  • calculating the similarity between the fast convolution result and the convolution result includes:
  • the similarity when the similarity is less than or equal to the threshold, it further includes:
  • a program detection device including:
  • Test data acquisition module used to acquire test data when receiving the Winograd program detection instruction
  • the convolution calculation module is used to use the target algorithm program of the convolutional neural network to perform convolution calculation on the test data to obtain a convolution result;
  • the target algorithm program is to implement the convolutional nerve in a sliding window manner Algorithm program of the network;
  • a test data sending module configured to send the test data to the FPGA, so that the FPGA uses the Winograd program to perform fast convolution calculation on the test data;
  • a similarity calculation module configured to receive the fast convolution result sent by the FPGA, and calculate the similarity between the fast convolution result and the convolution result;
  • the detection result determination module is used to determine that the Winograd program is correct when the similarity is greater than a threshold.
  • a program detection device including:
  • Memory used to store computer programs
  • the processor is configured to implement the steps of the above program detection method when executing the computer program.
  • a readable storage medium a computer program is stored on the readable storage medium, and when the computer program is executed by a processor, the steps of the above-mentioned program detection method are realized.
  • the test data is obtained; the target algorithm program of the convolutional neural network is used to perform convolution calculation on the test data to obtain the convolution result; the target algorithm program is Implement the algorithm program of convolutional neural network by sliding window method; send test data to FPGA, so that FPGA can use Winograd program to perform fast convolution calculation on test data; receive the fast convolution result sent by FPGA, and calculate the fast convolution result and The similarity of the convolution results; when the similarity is greater than the threshold, it is determined that the Winograd program is correct.
  • the target algorithm program of the deep neural convolutional network that is, the implementation process of the sliding window algorithm
  • only the use of loop nesting can accurately express the convolution algorithm, and it has the advantages of simple code and low probability of error.
  • the Winograd program is a fast algorithm program for realizing the convolutional neural network, that is to say, when the correctly expressed Winograd program and the target algorithm program calculate the convolution calculation result of the same input data, the two convolution results obtained should be Consistency or keeping within a certain range of differences means similarity. Based on this, after writing the Winograd program to the FPGA, when receiving the Winograd program detection instruction, first obtain the test data for verification.
  • the test data can be sent to the FPGA.
  • the FPGA uses the Winograd program to perform fast convolution calculation on the test data, and then sends the fast convolution calculation result to the CPU.
  • the CPU receives the fast convolution result sent by the FPGA, it calculates the similarity between the fast convolution result and the convolution result; when the similarity is greater than the threshold, it is determined that the Winograd program is correct.
  • the target algorithm program running in the CPU can be used to detect the Winograd program in the FPGA, which ensures the accuracy of the Winograd algorithm part, can improve the accuracy of the CNN algorithm in the FPGA, and further improve the implementation on the FPGA The accuracy of computer vision tasks.
  • the embodiments of the present invention also provide a program detection device, device and readable storage medium corresponding to the above-mentioned program detection method, which have the above-mentioned technical effects and will not be repeated here.
  • FIG. 1 is an implementation flowchart of a program detection method in an embodiment of the present invention
  • Figure 2 is a schematic diagram of the function of creating a board running environment
  • Figure 3 is a schematic diagram of the initialization board parameter function
  • FIG. 5 is a schematic structural diagram of a program detection device according to an embodiment of the present invention.
  • FIG. 6 is a schematic structural diagram of a program detection device according to an embodiment of the present invention.
  • FIG. 7 is a schematic diagram of a specific structure of a program detection device in an embodiment of the present invention.
  • the core of the present invention is to provide a program detection method that combines the advantages of the Winograd algorithm and the target algorithm, and proposes a way to check the running result of the Winograd algorithm program based on the running result of the target algorithm program to further determine whether the Winograd algorithm program is correct
  • the method of Winograd algorithm is expressed.
  • trans_input0 4.0f*d1-5.0f*d3+d5;
  • trans_input1 -4.0f*d2-4.0f*d3+d4+d5;
  • trans_input3 -2.0f*d2-d3+2.0f*d4+d5;
  • float trans_filter2 minus_one_over_6*g0+one_over_6*g1
  • float trans_filter3 one_over_24*g0+one_over_12*g1+one_over_6*g2;
  • float trans_filter4 one_over_24*g0-one_over_12*g1+one_over_6*g2;
  • Winograd matrix multiplication
  • the expression of the Winograd algorithm on the kernel side of the FPGA remains unchanged, but the first layer CNN convolution result of its calculation is returned to the host side, and at the same time, the traditional convolution calculation is implemented on the host side, and another thread is used to calculate the convolution of the first layer CNN result.
  • the calculation result of the traditional convolution algorithm on the host side with the calculation result of the Winograd algorithm returned by the kernel side. If the difference between the calculation results is small and within the expected permission range, it means that the Winograd calculation result is correct, and the kernel side cnn program continues Run; if the difference in the calculation results exceeds the expected result, it means that the Winograd algorithm expression is wrong, and the program needs to be interrupted to check and modify.
  • FIG. 1 is a flowchart of a program detection method according to an embodiment of the present invention. The method can be applied to a CPU. The method includes the following steps:
  • the Winograd program is a fast algorithm program for realizing a convolutional neural network.
  • the Winograd program detection instruction can be sent to the CPU through the visual interface or through the command line.
  • the CPU receives the Winograd program detection instruction, the CPU can obtain data for testing the Winograd program.
  • the test data may specifically be image data or a matrix. Obtaining test data can receive external incoming test data through the interface, and can also read parameter data directly from the storage device.
  • the target algorithm program is an algorithm program that implements a convolutional neural network in a sliding window manner.
  • the target algorithm program of the convolutional neural network may be written in advance. After the test data is obtained, the target algorithm program can be used to perform convolution calculation on the test data to obtain the convolution result. Among them, the target algorithm program can also use Fourier or im2col to realize the algorithm program of the convolutional neural network.
  • the sliding window algorithm this method is the most intuitive and simple method.
  • im2col algorithm At present, almost all mainstream computing frameworks including Caffe, MXNet, etc. have implemented this method. This method converts the entire convolution process into a GEMM process, and GEMM is extremely optimized in various BLAS libraries.
  • FFT algorithm Fourier transform and fast Fourier transform are commonly used calculation methods in classic image processing. Since the sliding window algorithm, Fourier algorithm or im2col algorithm are common algorithms, the specific processing logic will not be repeated here.
  • the test data After the test data is obtained, the test data needs to be sent to the FPGA.
  • the FPGA in the embodiment of the present invention may be a chip or device with editable logic gates. After the FPGA receives the test data, it can use the Winograd program to perform a fast convolution calculation on the test data to obtain a fast convolution result. After the FPGA calculates the fast convolution result, the fast convolution result can be returned to the CPU.
  • test data is sent to the FPGA, including:
  • Step 1 Create PFGA board operating environment and initialize board parameters
  • Step 2 Send test data to FPGA.
  • the creation of the board operating environment and the initialization of the board parameters can be operated on the board by calling the functions packaged by intel.
  • the function of creating the board running environment as shown in FIG. 2 can be called, as shown in FIG. 3.
  • the function of initializing board parameters can be used.
  • the FPGA After the FPGA receives the test data, it can start the kernel and use the Winograd program to perform fast convolution calculation on the test data.
  • the kernel is a real-time operating system with event scheduling and synchronization in the FPGA, communication between processes (messaging), memory management, and process management. In this way, after the fast convolution result is obtained, the result can be returned to the CPU.
  • S104 Receive the fast convolution result sent by the FPGA, and calculate the similarity between the fast convolution result and the convolution result.
  • the CPU After the CPU receives the FPGA legal fast convolution result, it can calculate the similarity between the fast convolution result and the convolution result.
  • the calculation results should be consistent or have a high degree of similarity.
  • the code of the target algorithm program is relatively simple and is not easy to make mistakes, the convolution result obtained by the convolution calculation of the test data by the target algorithm program can be used as a reference value.
  • the judgment The similarity between the convolution result and the fast convolution result can determine whether the Winograd program is correct.
  • the calculation method of the similarity includes but is not limited to the following two methods.
  • a calculation method of relative degree may be selected:
  • Method 1 Calculate the ratio between the fast convolution result and the convolution result, and use the ratio to determine the similarity. By judging the relationship between the ratio of two values and 1, the similarity of these two numbers can be determined. Specifically, the ratio is close to 1, indicating that the similarity between the two values is higher. Based on this, after the fast convolution result and the convolution result are obtained, the ratio of the fast convolution result to the convolution result can be calculated, and then the similarity can be determined using the ratio.
  • the guarantee ratio is between (0, 1) (that is, the calculated fast convolution result is better than the convolution result, or the convolution result is better than the calculated fast convolution Results
  • the specified ratio is 1
  • the similarity is 100%
  • the ratio is (0-1)
  • the ratio is directly After differentiation, the percentage is determined as the similarity.
  • Method 2 Calculate the difference between the fast convolution result and the convolution result, and use the difference to determine the similarity. Specifically, when the difference is 0, the similarity is 100%, and different differences are specified as different similarities. For example, when the difference is 1, the similarity is 99%, and the difference is 2, yes. The degree is 98%. According to a certain ratio, the larger the difference, the smaller the similarity.
  • a threshold may be set, and the threshold is used to compare with the similarity to determine whether the Winograd program is correct. Specifically, when the similarity is greater than the threshold, the Winograd program can be determined to be correct. When the similarity is less than or equal to the threshold, it is determined that the Winograd program is wrong.
  • the value of the threshold can be determined as 99%, or 99.9%, or 99.999%.
  • the test data is obtained; the target algorithm program of the convolutional neural network is used to perform convolution calculation on the test data to obtain the convolution result; the target algorithm program is Implement the algorithm program of convolutional neural network by sliding window method; send test data to FPGA, so that FPGA can use Winograd program to perform fast convolution calculation on test data; receive the fast convolution result sent by FPGA, and calculate the fast convolution result and The similarity of the convolution results; when the similarity is greater than the threshold, it is determined that the Winograd program is correct.
  • the target algorithm program of the deep neural convolution network that is, the implementation process of the sliding window algorithm
  • only the use of loop nesting can accurately express the convolution algorithm, and it has the advantages of simple code and low error probability.
  • the Winograd program is a fast algorithm program for implementing convolutional neural networks, that is, when the correctly expressed Winograd program and the target algorithm program calculate the convolution calculation result of the same input data, the two convolution results obtained should be Consistency or keeping within a certain range of differences means similarity. Based on this, after the Winograd program is written into the FPGA, when the Winograd program detection instruction is received, the test data for verification is first obtained.
  • the test data can be sent to the FPGA.
  • the FPGA uses the Winograd program to perform fast convolution calculation on the test data, and then sends the fast convolution calculation result to the CPU.
  • the CPU receives the fast convolution result sent by the FPGA, it calculates the similarity between the fast convolution result and the convolution result; when the similarity is greater than the threshold, it is determined that the Winograd program is correct.
  • the target algorithm program running in the CPU can be used to detect the Winograd program in the FPGA, which ensures the accuracy of the Winograd algorithm part, can improve the accuracy of the CNN algorithm in the FPGA, and further improve the implementation on the FPGA The accuracy of computer vision tasks.
  • the embodiments of the present invention also provide corresponding improvements.
  • the same steps as in the above-mentioned embodiments or the corresponding steps can be referred to each other, and the corresponding beneficial effects can also be cross-referenced, which will not be repeated in the preferred/improved embodiments herein.
  • the difference and the ratio can be directly compared with the preset judgment threshold to determine whether the Winograd program is correct. Specifically, after calculating the difference between the convolution result and the fast convolution result, if the difference is less than 10 -3 , it is determined that the Winograd program is correct, or the ratio between the convolution result and the fast convolution result is greater than 0.999, Then make sure the Winograd program is correct.
  • the judgment thresholds of 10 -3 and 0.999 can be adjusted according to the actual accuracy requirements.
  • step S102 may specifically use a target algorithm program to perform convolution calculation on the test data, and use the first layer result of the convolutional neural network as the convolution result; accordingly, the FPGA in step S104 uses the Winograd program to test the data Carry out fast convolution calculation, specifically, FPGA uses the Winograd program to perform fast convolution calculation on the test data, and the first layer result of the convolutional neural network obtained by the fast calculation is used as the fast convolution result. In this way, the verification time of the Winograd program can be shortened.
  • the filter parameters in the convolutional neural network can also be set. Specifically, the filter parameters of the convolutional neural network are obtained, and the filter parameters are respectively set in the target convolution algorithm program and the Winograd program. In this way, the filter parameters in the target convolution algorithm program and the Winograd program can be guaranteed to be consistent, and the accuracy of the Winograd program under different filter parameters can also be tested separately.
  • FIG. 4 is a specific flowchart of a program detection method according to an embodiment of the present invention.
  • the expression of the Winograd algorithm expressed by the Winograd program on the FPGA-kernel side remains unchanged, but the first layer of CNN convolution results of its calculation are returned to the host (host side, same as the CPU or processor above), while achieving the target on the host side Convolution calculation, starting a new thread to calculate the convolution result of the first layer CNN. After the calculation is completed, compare the calculation result of the target convolution algorithm on the host side with the calculation result of the Winograd algorithm returned by the kernel side.
  • test data and filter data (same as the filter parameters above) into the CPU cache. Then, two threads are started on the host side, where thread 1 is used to calculate the convolution according to the target convolution algorithm; thread 2 is used to start the kernel to use the FPGA board to accelerate the calculation of CNN.
  • thread 2 After thread 2 starts, it first creates the FPGA board operating environment, initializes the board parameters, and then writes the test data and filter data into the FPGA board card cache, and then starts the FPGA kernel program to perform calculations. That is, the kernel program calculates the convolution according to the Winograd algorithm, obtains the first layer CNN convolution, and returns the convolution result to the host side.
  • the input and filter data are first obtained, and then the first layer CNN convolution result is calculated according to the target convolution algorithm.
  • Received Winograd convolution result data returned from the kernel. Then compare the difference of the convolution results obtained by the two methods. If the difference is less than 10 -3 , it means that the Winograd algorithm program is correct. If the difference is beyond the expected range, it means that there is a problem with the expression of the kernel Winograd algorithm program, and the program needs to be interrupted to check and modify.
  • an embodiment of the present invention also provides a program detection device.
  • the program detection device described below and the program detection method described above can be referred to each other.
  • the device includes the following modules:
  • the test data obtaining module 101 is used to obtain test data when receiving the Winograd program detection instruction; wherein, the Winograd program is a fast algorithm program for realizing a convolutional neural network;
  • the convolution calculation module 102 is used to use the target algorithm program of the convolutional neural network to perform convolution calculation on the test data to obtain the convolution result;
  • the target algorithm program is an algorithm program that implements the convolutional neural network in a sliding window manner
  • the test data sending module 103 is used to send the test data to the FPGA so that the FPGA can use the Winograd program to perform fast convolution calculation on the test data;
  • the similarity calculation module 104 is used to receive the fast convolution result sent by the FPGA and calculate the similarity between the fast convolution result and the convolution result;
  • the detection result determination module 105 is used to determine that the Winograd program is correct when the similarity is greater than the threshold.
  • the test data is obtained; the target algorithm program of the convolutional neural network is used to perform convolution calculation on the test data to obtain the convolution result; the target algorithm program is Implement the algorithm program of convolutional neural network by sliding window method; send test data to FPGA, so that FPGA can use Winograd program to perform fast convolution calculation on test data; receive the fast convolution result sent by FPGA, and calculate the fast convolution result and The similarity of the convolution results; when the similarity is greater than the threshold, it is determined that the Winograd program is correct.
  • the target algorithm program of the deep neural convolutional network that is, the implementation process of the sliding window algorithm
  • only the use of loop nesting can accurately express the convolution algorithm, and it has the advantages of simple code and low probability of error.
  • the Winograd program is a fast algorithm program for realizing the convolutional neural network, that is to say, when the correctly expressed Winograd program and the target algorithm program calculate the convolution calculation result of the same input data, the two convolution results obtained should be Consistency or keeping within a certain range of differences means similarity. Based on this, after writing the Winograd program to the FPGA, when receiving the Winograd program detection instruction, first obtain the test data for verification.
  • the test data can be sent to the FPGA.
  • the FPGA uses the Winograd program to perform fast convolution calculation on the test data, and then sends the fast convolution calculation result to the CPU.
  • the CPU receives the fast convolution result sent by the FPGA, it calculates the similarity between the fast convolution result and the convolution result; when the similarity is greater than the threshold, it is determined that the Winograd program is correct.
  • the target algorithm program running in the CPU can be used to detect the Winograd program in the FPGA, which ensures the accuracy of the Winograd algorithm part, can improve the accuracy of the CNN algorithm in the FPGA, and further improve the implementation on the FPGA The accuracy of computer vision tasks.
  • the convolution calculation module 102 is specifically used to perform fast convolution calculation on the test data in the FPGA using the Winograd program, and use the fast calculation to obtain the first layer result of the convolutional neural network as a fast
  • the target algorithm program is used to perform convolution calculation on the test data, and the first layer result of the convolutional neural network is used as the convolution result.
  • the filter setting module is used to obtain the filter parameters of the convolutional neural network; the filter parameters are set in the target convolution algorithm program and the Winograd program, respectively.
  • the test data sending module 103 is specifically used to create a PFGA board operating environment and initialize board parameters; send the test data to the FPGA so that the FPGA starts the kernel and uses the Winograd program to Test data for fast convolution calculation.
  • the similarity calculation module 104 is specifically used to calculate the ratio between the fast convolution result and the convolution result, and use the ratio to determine the similarity; or, calculate the fast convolution result and the convolution result. Difference, use the difference to determine the similarity.
  • the detection result determination module 105 is specifically configured to determine that the Winograd program is wrong when the similarity is less than or equal to the threshold.
  • an embodiment of the present invention further provides a program detection device.
  • a program detection device described below and a program detection method described above can be referred to each other.
  • the program detection equipment includes:
  • Memory D1 used to store computer programs
  • the processor D2 is configured to implement the steps of the program detection method in the foregoing method embodiments when the computer program is executed.
  • FIG. 7 is a schematic diagram of a specific structure of a program detection device provided in this embodiment.
  • the program detection device may have a relatively large difference due to different configurations or performances, and may include one or more processings.
  • a central processing unit (CPU) 322 for example, one or more processors
  • a memory 332 for example, one or more storage media 330 (for example, one or more mass storage devices) that store application programs 342 or data 344.
  • the memory 332 and the storage medium 330 may be short-term storage or persistent storage.
  • the program stored in the storage medium 330 may include one or more modules (not shown in the figure), and each module may include a series of instruction operations on the data processing device.
  • the central processor 322 may be configured to communicate with the storage medium 330 and execute a series of instruction operations in the storage medium 330 on the program detection device 301.
  • the program detection device 301 may also include one or more power supplies 326, one or more wired or wireless network interfaces 350, one or more input output interfaces 358, and/or one or more operating systems 341.
  • one or more power supplies 326 for example, Windows ServerTM, Mac OS XTM, UnixTM, LinuxTM, FreeBSDTM, etc.
  • the steps in the program detection method described above can be implemented by the structure of the program detection device.
  • an embodiment of the present invention further provides a readable storage medium.
  • a readable storage medium described below and a program detection method described above can be referred to each other.
  • a readable storage medium stores a computer program on the readable storage medium, and when the computer program is executed by a processor, the steps of the program detection method of the foregoing method embodiments are implemented.
  • the readable storage medium may specifically be a U-disk, a mobile hard disk, a read-only memory (Read-Only Memory, ROM), a random access memory (Random Access Memory, RAM), a magnetic disk, or an optical disk, which can store program codes Readable storage media.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Image Analysis (AREA)

Abstract

L'invention concerne un procédé, un appareil et un dispositif de détection de programmes, et un support de stockage par ordinateur. Le procédé de la présente invention comprend les étapes suivantes : acquisition de données de test après réception d'une instruction de détection de programmes Winograd, ; réalisation d'un calcul de convolution sur les données de test au moyen d'un programme d'algorithme cible d'un réseau neuronal convolutif, pour obtenir un résultat de convolution ; envoi des données de test à un FPGA, de sorte que le FPGA effectue un calcul de convolution rapide sur les données de test au moyen d'un programme Winograd ; réception d'un résultat de convolution rapide envoyé par le FPGA, et calcul d'une similarité entre le résultat de convolution rapide et le résultat de convolution ; et si la similarité est supérieure à un seuil, détermination indiquant que le programme Winograd est correct. Le procédé permet de détecter le programme Winograd dans le FPGA.
PCT/CN2019/103639 2018-12-10 2019-08-30 Procédé, appareil et dispositif de détection de programmes et support de stockage lisible par ordinateur WO2020119188A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811514703.0A CN109558329A (zh) 2018-12-10 2018-12-10 一种程序检测方法、装置、设备及可读存储介质
CN201811514703.0 2018-12-10

Publications (1)

Publication Number Publication Date
WO2020119188A1 true WO2020119188A1 (fr) 2020-06-18

Family

ID=65869926

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/103639 WO2020119188A1 (fr) 2018-12-10 2019-08-30 Procédé, appareil et dispositif de détection de programmes et support de stockage lisible par ordinateur

Country Status (2)

Country Link
CN (1) CN109558329A (fr)
WO (1) WO2020119188A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112330524A (zh) * 2020-10-26 2021-02-05 沈阳上博智像科技有限公司 一种在图像跟踪系统中快速实现卷积的装置和方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109558329A (zh) * 2018-12-10 2019-04-02 广东浪潮大数据研究有限公司 一种程序检测方法、装置、设备及可读存储介质
CN110457907B (zh) * 2019-07-25 2021-04-20 腾讯科技(深圳)有限公司 一种固件程序检测方法和装置
CN110516334B (zh) * 2019-08-16 2021-12-03 浪潮电子信息产业股份有限公司 基于硬件环境的卷积计算仿真测试方法、装置及相关设备
CN111027277B (zh) * 2019-11-12 2024-07-05 天津大学 一种软硬件协同的验证方法
CN113496272A (zh) * 2021-05-10 2021-10-12 中国电子科技集团公司第十四研究所 一种基于异构平台的卷积神经网络运算方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105117330A (zh) * 2015-08-07 2015-12-02 百度在线网络技术(北京)有限公司 Cnn代码测试方法及装置
CN106528363A (zh) * 2015-09-14 2017-03-22 深圳市博巨兴实业发展有限公司 一种软硬件协同设计的验证方法和装置
EP3346390A1 (fr) * 2016-12-30 2018-07-11 INTEL Corporation Algorithme de winograd sur une architecture de traitement de matrice
CN108764083A (zh) * 2018-05-17 2018-11-06 淘然视界(杭州)科技有限公司 基于自然语言表达的目标检测方法、电子设备、存储介质
CN109558329A (zh) * 2018-12-10 2019-04-02 广东浪潮大数据研究有限公司 一种程序检测方法、装置、设备及可读存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170344876A1 (en) * 2016-05-31 2017-11-30 Samsung Electronics Co., Ltd. Efficient sparse parallel winograd-based convolution scheme
CN108229645B (zh) * 2017-04-28 2021-08-06 北京市商汤科技开发有限公司 卷积加速和计算处理方法、装置、电子设备及存储介质
CN107844833A (zh) * 2017-11-28 2018-03-27 郑州云海信息技术有限公司 一种卷积神经网络的数据处理方法、装置及介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105117330A (zh) * 2015-08-07 2015-12-02 百度在线网络技术(北京)有限公司 Cnn代码测试方法及装置
CN106528363A (zh) * 2015-09-14 2017-03-22 深圳市博巨兴实业发展有限公司 一种软硬件协同设计的验证方法和装置
EP3346390A1 (fr) * 2016-12-30 2018-07-11 INTEL Corporation Algorithme de winograd sur une architecture de traitement de matrice
CN108764083A (zh) * 2018-05-17 2018-11-06 淘然视界(杭州)科技有限公司 基于自然语言表达的目标检测方法、电子设备、存储介质
CN109558329A (zh) * 2018-12-10 2019-04-02 广东浪潮大数据研究有限公司 一种程序检测方法、装置、设备及可读存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112330524A (zh) * 2020-10-26 2021-02-05 沈阳上博智像科技有限公司 一种在图像跟踪系统中快速实现卷积的装置和方法

Also Published As

Publication number Publication date
CN109558329A (zh) 2019-04-02

Similar Documents

Publication Publication Date Title
WO2020119188A1 (fr) Procédé, appareil et dispositif de détection de programmes et support de stockage lisible par ordinateur
US11106486B2 (en) Techniques to manage virtual classes for statistical tests
WO2021088688A1 (fr) Procédé et appareil d'opération d'accélération de convolution, support de stockage, et dispositif de terminal
CN113330421B (zh) 点积计算器及其操作方法
CN108334408B (zh) 代码执行方法、装置、终端设备及计算机可读存储介质
CN112561079A (zh) 分布式的模型训练装置、方法及计算机程序产品
CN111553215A (zh) 人员关联方法及其装置、图卷积网络训练方法及其装置
CN111985831A (zh) 云计算资源的调度方法、装置、计算机设备及存储介质
US8856102B2 (en) Modifying structured query language statements
CN111967608A (zh) 数据处理方法、装置、设备及存储介质
CN114861039B (zh) 一种搜索引擎的参数配置方法、装置、设备及存储介质
CN111813721B (zh) 神经网络数据处理方法、装置、设备及存储介质
WO2019134084A1 (fr) Procédé et appareil d'exécution de code, dispositif terminal et support d'informations lisible par ordinateur
CN114386577A (zh) 用于执行深度学习模型的方法、设备和存储介质
CN113327194A (zh) 图像风格迁移方法、装置、设备和存储介质
CN115511047B (zh) Softmax模型的量化方法、装置、设备及介质
CN113553407B (zh) 事件追溯方法、装置、电子设备及存储介质
US20230244974A1 (en) Quantum state processing method, computing device and storage medium
WO2024016894A1 (fr) Procédé d'apprentissage de réseau neuronal, et dispositif associé
WO2024045175A1 (fr) Optimisation de graphe exécutable à des fins d'inférence de modèle d'intelligence artificielle
CN117610619A (zh) 量化卷积方法、装置及设备
CN117409939A (zh) 疾病诉求分诊方法、装置、电子设备和存储介质
CN114117010A (zh) Nlp任务的处理方法、装置、终端设备和存储介质
CN116562388A (zh) 一种确定样本批量大小的方法、装置和可读存储介质
CN111625526A (zh) 模糊数据处理方法、系统及终端设备

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19896206

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19896206

Country of ref document: EP

Kind code of ref document: A1