CN112418418A - Data processing method and device based on neural network, storage medium and server - Google Patents

Data processing method and device based on neural network, storage medium and server Download PDF

Info

Publication number
CN112418418A
CN112418418A CN202011254398.3A CN202011254398A CN112418418A CN 112418418 A CN112418418 A CN 112418418A CN 202011254398 A CN202011254398 A CN 202011254398A CN 112418418 A CN112418418 A CN 112418418A
Authority
CN
China
Prior art keywords
unit
data
convolution
input data
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202011254398.3A
Other languages
Chinese (zh)
Inventor
王堃
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuxi Yuspace Intelligent Technology Co ltd
Original Assignee
Jiangsu Yu Space 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 Jiangsu Yu Space Technology Co ltd filed Critical Jiangsu Yu Space Technology Co ltd
Priority to CN202011254398.3A priority Critical patent/CN112418418A/en
Publication of CN112418418A publication Critical patent/CN112418418A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Multi Processors (AREA)

Abstract

The embodiment of the application discloses a data processing method, a data processing device, a storage medium and a server based on a neural network, and belongs to the technical field of computers. The method comprises the following steps: when input data are input into a circulating network unit in a neural network, acquiring the number of channels of the input data, wherein the input data are initial data input into the neural network, or the input data are data obtained according to previous output data of the circulating network unit, and the circulating network unit comprises n convolution units with different sizes; selecting a target convolution unit matched with the number of channels from the n convolution units; inputting input data into a target convolution unit; and performing convolution operation on the input data by using the target convolution unit, and determining an obtained first operation result as output data of the circulating network unit. According to the embodiment of the application, the workload of creating the chip can be reduced, the chip can accommodate the calculation process of the circulating network unit, and the data processing efficiency is improved.

Description

Data processing method and device based on neural network, storage medium and server
Technical Field
The embodiment of the application relates to the technical field of computers, in particular to a data processing method and device based on a neural network, a storage medium and a server.
Background
The neural network is an arithmetic mathematical model for simulating animal neural network behavior characteristics and performing distributed parallel information processing, and the network achieves the purpose of processing information by adjusting the interconnection relationship among a large number of internal nodes depending on the complexity of the system.
In the prior art, a neural network adopts an assembly line form to build network units of each layer. The specific construction method is that each layer of network unit in the neural network is designed independently, and the calculation result of the network unit in the upper layer is transmitted to the network unit in the lower layer like a pipeline form. As shown in fig. 1, input data is calculated by conv1 in the first layer network unit, the calculation result is stored in the buffer, and then transmitted to conv 2 in the next layer network unit, and the calculation result is stored in the buffer and then sequentially transmitted until data is output by the last layer network unit.
With the continuous increase of network layers, the disadvantages of the neural network of the pipeline structure become more obvious. Firstly, the network unit of each layer needs to be designed independently, so that the workload of creating the chip is large; secondly, when the network level is increased to a certain number, the chip cannot accommodate the calculation process of the whole assembly line; finally, with the continuous deepening of the network layers, the difference of the computing time between different network layers is enlarged, and finally the efficiency of the whole production line is reduced.
Disclosure of Invention
The embodiment of the application provides a data processing method, a data processing device, a storage medium and a server based on a neural network, and aims to solve the problems that the neural network with a pipeline structure is large in creating workload, a chip cannot accommodate a calculation process, and the calculation efficiency of the neural network is low. The technical scheme is as follows:
in one aspect, a data processing method based on a neural network is provided, and the method includes:
when input data are input into a circulating network unit in a neural network, acquiring the number of channels of the input data, wherein the input data are initial data input into the neural network, or the input data are data obtained according to previous output data of the circulating network unit, the circulating network unit comprises n convolution units with different sizes, and n is more than or equal to 2;
selecting a target convolution unit matched with the channel number from the n convolution units;
inputting the input data into the target convolution unit;
and performing convolution operation on the input data by using the target convolution unit, and determining an obtained first operation result as output data of the circulating network unit.
In a possible implementation manner, when the cyclic network unit further includes n fifo queues, and each fifo queue is connected to one convolution unit;
before the selecting a target convolution unit from the n convolution units that matches the number of channels, the method further includes: selecting a target first-in first-out queue matched with the number of the channels from the n first-in first-out queues; inputting the input data into the target first-in first-out queue;
the selecting a target convolution unit matched with the channel number from the n convolution units comprises: selecting a target convolution unit connected with the target first-in first-out queue from the n convolution units;
the inputting the input data into the target convolution unit includes: and inputting the input data output from the target first-in first-out queue into the target convolution unit.
In a possible implementation, when the n fifo queues are further connected to a predetermined convolution unit in the cyclic network unit;
the method further comprises the following steps: acquiring the number of channels of input data output from the target first-in first-out queue;
the selecting a target convolution unit matched with the channel number from the n convolution units comprises: and if the number of the channels is not matched with the convolution units connected with the target first-in first-out queue, determining the preset convolution unit as the target convolution unit.
In a possible implementation manner, when the cyclic network unit further includes n instruction control units and n data general control units, each instruction control unit is connected to one fifo queue and one data general control unit, and each data general control unit is connected to one convolution unit, the input data output from the target fifo queue is input to the target convolution unit, which includes:
utilizing an instruction control module to buffer the output data of the first-in first-out queue;
inputting the output data after data buffering into the data master control unit, wherein the speed of the output data after data buffering is matched with the processing speed of the data master control unit;
providing an output window with a preset size for the output data by utilizing a row-column controller in the data master control unit;
and inputting the output data in the output window into the target convolution unit.
In one possible implementation, the method further includes:
if the input data correspond to a pooling unit, performing pooling operation on the output data by using the pooling unit, and determining an obtained second operation result as next input data of the circulating network unit;
and if the input data does not correspond to the pooling unit, determining the output data as the input data of the next time of the circulating network unit.
In one possible implementation, before the inputting the input data into the recurrent network elements in the neural network, the method further includes:
performing convolution operation on the input data by using a preprocessing convolution unit to obtain a third operation result;
and determining the third operation result as final input data.
In one possible implementation, when n is 3, the convolution units include a 3 × 3 convolution unit, a 5 × 5 convolution unit, and a 1 × 1 convolution unit.
In one aspect, a data processing apparatus based on a neural network is provided, the apparatus comprising:
an obtaining module, configured to obtain the number of channels of input data when the input data is input to a cyclic network unit in a neural network, where the input data is initial data input to the neural network, or the input data is data obtained according to previous output data of the cyclic network unit, the cyclic network unit includes n convolution units of different sizes, and n is greater than or equal to 2;
a selecting module, configured to select a target convolution unit matched with the number of channels from the n convolution units;
an input module for inputting the input data into the target convolution unit;
and the determining module is used for performing convolution operation on the input data by using the target convolution unit and determining an obtained first operation result as the output data of the circulating network unit.
In one aspect, there is provided a computer readable storage medium having stored therein at least one instruction, at least one program, a set of codes, or a set of instructions, which is loaded and executed by a processor to implement the neural network-based data processing method as described above.
In one aspect, a server is provided, which includes a processor and a memory, where at least one instruction is stored in the memory, and the instruction is loaded and executed by the processor to implement the data processing method based on neural network as described above.
The technical scheme provided by the embodiment of the application has the beneficial effects that at least:
because the cyclic network unit in the neural network comprises n convolution units with different sizes, a matched target convolution unit can be selected for the input data according to the number of channels of the input data, the target convolution unit is used for carrying out convolution operation on the input data, and the obtained first operation result is determined as the output data of the cyclic network unit. Subsequently, the output data can continue to be input as input data into the circulating network element, so that the data can be cyclically processed by one circulating network element. Thus, the pipeline structure can be replaced by a circulating network unit, thereby reducing the workload of creating the chip; the volume of the circulating network unit is small, and the chip can accommodate the calculation process; and the circulating network unit can reduce the calculation time among different network layers, thereby improving the data processing efficiency.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed to be used in the description of the embodiments are briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present application, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
Fig. 1 is a schematic diagram of a neural network of a pipeline structure shown in accordance with the related art;
FIG. 2 is a flow chart of a method of neural network-based data processing provided by an embodiment of the present application;
FIG. 3 is a diagram illustrating channels corresponding to data provided by an embodiment of the present application;
FIG. 4 is a schematic structural diagram of a circulating network element provided in one embodiment of the present application;
FIG. 5 is a schematic diagram of a channel configuration provided by one embodiment of the present application;
fig. 6 is a block diagram of a data processing apparatus based on a neural network according to an embodiment of the present application.
Detailed Description
To make the objects, technical solutions and advantages of the embodiments of the present application more clear, the embodiments of the present application will be further described in detail with reference to the accompanying drawings.
As shown in fig. 1, a neural network in the prior art includes x network units, a full-connection unit, and a classifier, where the x network units form a pipeline structure, and the last network unit is connected to the full-connection unit, and the full-connection unit is connected to the classifier. When input data are input into the neural network, the input data are processed through a first network unit, and output data of the first network unit are used as input data of a second network unit; and in the same way, the output data of the last network unit is input into the full-connection unit and the classifier to obtain the output of the neural network.
Because of some disadvantages of the pipeline structure, a circular network unit is created in this embodiment, and data can be processed by multiplexing the circular network unit. Specifically, the neural network in the application comprises a circulation network unit, a full-connection unit and a classifier, wherein the circulation network unit is connected with the full-connection unit, and the full-connection unit is connected with the classifier. When input data are input into the neural network, processing the input data through the circulating network unit, and taking output data of the circulating network unit as input data of the circulating network unit again; and in the same way, inputting the last output data of the circulating network unit into the full-connection unit and the classifier to obtain the output of the neural network.
It should be noted that, the network unit or the cyclic network unit may be connected to the pooling unit according to a requirement, so as to perform pooling operation by the pooling unit, which is not described in detail in this embodiment.
The data processing flow of the neural network is described in detail below.
Referring to fig. 2, a flowchart of a method of a neural network-based data processing method provided in an embodiment of the present application is shown, where the neural network-based data processing method may be applied to a server. The data processing method based on the neural network can comprise the following steps:
step 201, when inputting input data into a cyclic network unit in a neural network, acquiring the number of channels of the input data, where the input data is initial data input into the neural network, or the input data is data obtained according to previous output data of the cyclic network unit, and the cyclic network unit includes n convolution units with different sizes.
When input data is first input to the recurrent network elements, the input data may be initial data, for example, the input data may be an image of an input neural network. When input data is not first input to the cyclic network element, the input data may be data obtained according to output data of the cyclic network element at the previous time, for example, the input data may be output data of the cyclic network element at the previous time, or the input data may be data obtained by performing pooling operation on the output data of the cyclic network element at the previous time.
It should be noted that the cyclic network unit may include n convolution units with different sizes, so as to process data with different channel numbers. Wherein n is greater than or equal to 2. The present embodiment does not limit the size of the convolution unit.
In one example, when n is 3, the convolution unit may include a 3 × 3 convolution unit, a 5 × 5 convolution unit, and a 1 × 1 convolution unit.
In this embodiment, before inputting the input data into the cyclic network unit in the neural network, the preprocessing convolution unit may also be used to perform convolution operation on the input data to obtain a third operation result; and determining the third operation result as input data.
In one example, the pre-processing convolution unit may be a 1 × 1 convolution unit. Then, the convolution operation may be performed on the input data by using a 1 × 1 convolution unit, and the obtained third operation result may be used as the input data.
Step 202, selecting a target convolution unit matched with the number of channels from the n convolution units.
In this embodiment, one convolution unit may be selected from the n convolution units, and the convolution unit may be determined as the target convolution unit.
Taking a neural network in the prior art as an example to classify the input data, the input data can be divided into first input data in the network units 1-3 (i.e. Conv 1-3), second input data in the network units 4-9 (i.e. Conv 4-9) and third input data in the remaining network units. The first input data has a large length and width, and a small number of data channels, and is suitable for being processed by a 3 × 3 convolution unit, so if the input data is the first input data, the target convolution unit may be the 3 × 3 convolution unit. The number of data channels of the second input data is large, and the second input data is suitable for being processed by a 5 × 5 convolution unit, or if the second input data is processed by a 3 × 3 convolution unit, an additional calculation unit is needed to achieve the processing effect of the 5 × 5 convolution unit. Therefore, if the input data is the second input data, the target convolution unit may be a 5 × 5 convolution unit. The third input data is suitably processed by a 1 × 1 convolution unit, so if the input data is the third input data, the target convolution unit may be a 1 × 1 convolution unit, please refer to fig. 3.
Referring to fig. 4, In a First implementation manner, when the cyclic network unit further includes n FIFO queues (First In First Out, FIFO), and each FIFO queue is connected to one convolution unit, before step 202, a target FIFO queue matching the number of channels may be further selected from the n FIFO queues; input data is input into the target first-in first-out queue. Since each fifo queue is connected to one convolution unit, step 202 may specifically be to select a target convolution unit connected to the target fifo queue from among the n convolution units. That is, one convolution unit connected to the target fifo queue is determined as the target convolution unit.
Since there may be an error when selecting the fifo queue according to the number of channels, in order to improve the accuracy of selecting the target convolution unit, in this embodiment, a secondary determination may be performed on the number of channels of the input data output from the target fifo queue, so that an accurate target convolution unit is selected according to the secondary determination. In a second implementation, the number of channels of input data output from the target fifo queue may be obtained; if the number of the channels is matched with the convolution unit connected with the target first-in first-out queue, determining the convolution unit as a target convolution unit; and if the number of the channels is not matched with the convolution units connected with the target first-in first-out queue, determining the preset convolution unit as a target convolution unit. Wherein, the n first-in first-out queues are all connected with a preset convolution unit in the circulating network unit. Taking the above three convolution units as an example, the predetermined convolution unit may be a 1 × 1 convolution unit.
Step 203, input data is input into the target convolution unit.
Since the input data has been input into the target fifo queue, the input data output from the target fifo queue may be input into the target convolution unit.
In this embodiment, when the cyclic network unit further includes n instruction control units and n data master control units, each instruction control unit is connected to one fifo queue and one data master control unit, and each data master control unit is connected to one convolution unit, the input data output from the target fifo queue is input to the target convolution unit, which may include: performing data buffering on output data of the first-in first-out queue by using an instruction control module; inputting the output data after data buffering into a data master control unit, wherein the speed of the output data after data buffering is matched with the processing speed of the data master control unit; providing an output window with a preset size for output data by using a row-column controller in the data master control unit; the output data within the output window is input to the target convolution unit.
Referring to fig. 5, an instruction control module and a data master control module are connected between each fifo queue and the convolution unit in fig. 5, and the instruction control module is used as a data interface to receive data output by the fifo queue, wherein after the data output by the fifo queue enters the instruction control module, data buffering is performed once to adapt the speed of the data output by the fifo queue to the speed of the data master control module to receive the data. The buffered data enters a data master control module, a row-column controller is adopted in the data master control module to provide output windows with corresponding sizes for the data of different data channels, and finally, the processed data are respectively output to each convolution unit through the output windows of the data master control module. Wherein, the number of channels and the size of the output window are in positive correlation.
And 204, performing convolution operation on the input data by using the target convolution unit, and determining an obtained first operation result as output data of the circulating network unit.
In this embodiment, if the input data corresponds to the pooling unit, the pooling unit is used to perform pooling operation on the output data, and the obtained second operation result is determined as the next input data of the cyclic network unit; if the input data does not correspond to a pooling unit, the output data is determined to be the next input data of the circulating network unit.
In summary, in the data processing method based on the neural network provided in the embodiment of the present application, since the cyclic network unit in the neural network includes n convolution units with different sizes, a matched target convolution unit can be selected for the input data according to the number of channels of the input data, and then the target convolution unit is used to perform convolution operation on the input data, so that the obtained first operation result is determined as the output data of the cyclic network unit. Subsequently, the output data can continue to be input as input data into the circulating network element, so that the data can be cyclically processed by one circulating network element. Thus, the pipeline structure can be replaced by a circulating network unit, thereby reducing the workload of creating the chip; the volume of the circulating network unit is small, and the chip can accommodate the calculation process; and the circulating network unit can reduce the calculation time among different network layers, thereby improving the data processing efficiency.
Referring to fig. 6, a block diagram of a data processing apparatus based on a neural network according to an embodiment of the present application is shown, where the data processing apparatus based on a neural network may be applied to a server. The data processing device based on the neural network can comprise:
an obtaining module 610, configured to obtain the number of channels of input data when the input data is input to a cyclic network unit in a neural network, where the input data is initial data input to the neural network, or the input data is data obtained according to previous output data of the cyclic network unit, the cyclic network unit includes n convolution units of different sizes, and n is greater than or equal to 2;
a selecting module 620, configured to select a target convolution unit matched with the number of channels from the n convolution units;
an input module 630, configured to input data into the target convolution unit;
the determining module 640 is configured to perform convolution operation on the input data by using the target convolution unit, and determine an obtained first operation result as output data of the cyclic network unit.
In one possible implementation manner, when the cyclic network unit further includes n fifo queues, and each fifo queue is connected to one convolution unit;
the selecting module 620 is further configured to select a target fifo queue matching the number of channels from the n fifo queues before selecting a target convolution unit matching the number of channels from the n convolution units;
an input module 630, further configured to input data into the target fifo queue;
the selecting module 620 is further configured to select a target convolution unit connected to the target fifo queue from the n convolution units;
the input module 630 is further configured to input the input data output from the target fifo queue to the target convolution unit.
In one possible implementation, when the n fifo queues are further connected to a predetermined convolution unit in the cyclic network unit;
the obtaining module 610 is further configured to obtain a channel number of input data output from the target fifo queue;
the selecting module 620 is further configured to determine a predetermined convolution unit as the target convolution unit if the number of channels does not match the number of convolution units connected to the target fifo queue.
In a possible implementation manner, when the cyclic network unit further includes n instruction control units and n data total control units, each instruction control unit is connected to one fifo queue and one data total control unit, and each data total control unit is connected to one convolution unit, the input module 630 is further configured to:
performing data buffering on output data of the first-in first-out queue by using an instruction control module;
inputting the output data after data buffering into a data master control unit, wherein the speed of the output data after data buffering is matched with the processing speed of the data master control unit;
providing an output window with a preset size for output data by using a row-column controller in the data master control unit;
the output data within the output window is input to the target convolution unit.
In one possible implementation, the determining module 640 is further configured to:
if the input data correspond to the pooling unit, performing pooling operation on the output data by using the pooling unit, and determining the obtained second operation result as the next input data of the circulating network unit;
if the input data does not correspond to a pooling unit, the output data is determined to be the next input data of the circulating network unit.
In one possible implementation, the apparatus further includes:
the operation module is used for performing convolution operation on input data by utilizing the preprocessing convolution unit before the input data is input into the circulation network unit in the neural network to obtain a third operation result; and determining the third operation result as input data.
In one possible implementation, when n is 3, the convolution units include a 3 × 3 convolution unit, a 5 × 5 convolution unit, and a 1 × 1 convolution unit.
In summary, in the data processing apparatus based on the neural network provided in the embodiment of the present application, since the cyclic network unit in the neural network includes n convolution units with different sizes, a matched target convolution unit can be selected for the input data according to the number of channels of the input data, and then the target convolution unit is used to perform convolution operation on the input data, so that the obtained first operation result is determined as the output data of the cyclic network unit. Subsequently, the output data can continue to be input as input data into the circulating network element, so that the data can be cyclically processed by one circulating network element. Thus, the pipeline structure can be replaced by a circulating network unit, thereby reducing the workload of creating the chip; the volume of the circulating network unit is small, and the chip can accommodate the calculation process; and the circulating network unit can reduce the calculation time among different network layers, thereby improving the data processing efficiency.
One embodiment of the present application provides a computer-readable storage medium having stored therein at least one instruction, at least one program, code set, or set of instructions that is loaded and executed by a processor to implement a neural network-based data processing method as described above.
One embodiment of the present application provides a server, which includes a processor and a memory, where at least one instruction is stored in the memory, and the instruction is loaded and executed by the processor to implement the data processing method based on neural network as described above.
It should be noted that: in the data processing device based on the neural network according to the above embodiment, when performing data processing based on the neural network, only the division of the functional modules is illustrated, and in practical applications, the functions may be distributed to different functional modules as needed, that is, the internal structure of the data processing device based on the neural network may be divided into different functional modules to complete all or part of the functions described above. In addition, the data processing apparatus based on the neural network provided in the above embodiments and the data processing method based on the neural network belong to the same concept, and specific implementation processes thereof are described in detail in the method embodiments and are not described herein again.
It will be understood by those skilled in the art that all or part of the steps for implementing the above embodiments may be implemented by hardware, or may be implemented by a program instructing relevant hardware, where the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a magnetic disk or an optical disk, etc.
The above description should not be taken as limiting the embodiments of the present application, and any modifications, equivalents, improvements, etc. made within the spirit and principle of the embodiments of the present application should be included in the scope of the embodiments of the present application.

Claims (10)

1. A method of data processing based on a neural network, the method comprising:
when input data are input into a circulating network unit in a neural network, acquiring the number of channels of the input data, wherein the input data are initial data input into the neural network, or the input data are data obtained according to previous output data of the circulating network unit, the circulating network unit comprises n convolution units with different sizes, and n is more than or equal to 2;
selecting a target convolution unit matched with the channel number from the n convolution units;
inputting the input data into the target convolution unit;
and performing convolution operation on the input data by using the target convolution unit, and determining an obtained first operation result as output data of the circulating network unit.
2. The method according to claim 1, wherein when the cyclic network unit further comprises n fifo queues, and each fifo queue is connected to one convolution unit;
before the selecting a target convolution unit from the n convolution units that matches the number of channels, the method further includes: selecting a target first-in first-out queue matched with the number of the channels from the n first-in first-out queues; inputting the input data into the target first-in first-out queue;
the selecting a target convolution unit matched with the channel number from the n convolution units comprises: selecting a target convolution unit connected with the target first-in first-out queue from the n convolution units;
the inputting the input data into the target convolution unit includes: and inputting the input data output from the target first-in first-out queue into the target convolution unit.
3. The method of claim 2, wherein when said n fifo queues are further connected to a predetermined convolution unit in said cyclic network element;
the method further comprises the following steps: acquiring the number of channels of input data output from the target first-in first-out queue;
the selecting a target convolution unit matched with the channel number from the n convolution units comprises: and if the number of the channels is not matched with the convolution units connected with the target first-in first-out queue, determining the preset convolution unit as the target convolution unit.
4. The method as claimed in claim 2, wherein when the cyclic network unit further includes n instruction control units and n data general control units, each instruction control unit is connected to a fifo queue and a data general control unit, and each data general control unit is connected to a convolution unit, the inputting of the input data output from the target fifo queue into the target convolution unit includes:
utilizing an instruction control module to buffer the output data of the first-in first-out queue;
inputting the output data after data buffering into the data master control unit, wherein the speed of the output data after data buffering is matched with the processing speed of the data master control unit;
providing an output window with a preset size for the output data by utilizing a row-column controller in the data master control unit;
and inputting the output data in the output window into the target convolution unit.
5. The method of claim 2, further comprising:
if the input data correspond to a pooling unit, performing pooling operation on the output data by using the pooling unit, and determining an obtained second operation result as next input data of the circulating network unit;
and if the input data does not correspond to the pooling unit, determining the output data as the input data of the next time of the circulating network unit.
6. The method of claim 2, wherein prior to said inputting input data into a recurrent network element in a neural network, the method further comprises:
performing convolution operation on the input data by using a preprocessing convolution unit to obtain a third operation result;
and determining the third operation result as final input data.
7. The method according to any one of claims 1 to 5, wherein when n is 3, the convolution units include a 3 x 3 convolution unit, a 5 x 5 convolution unit, and a 1 x 1 convolution unit.
8. A data processing apparatus based on a neural network, the apparatus comprising:
an obtaining module, configured to obtain the number of channels of input data when the input data is input to a cyclic network unit in a neural network, where the input data is initial data input to the neural network, or the input data is data obtained according to previous output data of the cyclic network unit, the cyclic network unit includes n convolution units of different sizes, and n is greater than or equal to 2;
a selecting module, configured to select a target convolution unit matched with the number of channels from the n convolution units;
an input module for inputting the input data into the target convolution unit;
and the determining module is used for performing convolution operation on the input data by using the target convolution unit and determining an obtained first operation result as the output data of the circulating network unit.
9. A computer readable storage medium having stored therein at least one instruction, at least one program, a set of codes, or a set of instructions, which is loaded and executed by a processor to implement the neural network-based data processing method of any one of claims 1 to 7.
10. A server, comprising a processor and a memory, wherein the memory has stored therein at least one instruction, which is loaded and executed by the processor to implement the neural network-based data processing method of any one of claims 1 to 7.
CN202011254398.3A 2020-11-11 2020-11-11 Data processing method and device based on neural network, storage medium and server Pending CN112418418A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011254398.3A CN112418418A (en) 2020-11-11 2020-11-11 Data processing method and device based on neural network, storage medium and server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011254398.3A CN112418418A (en) 2020-11-11 2020-11-11 Data processing method and device based on neural network, storage medium and server

Publications (1)

Publication Number Publication Date
CN112418418A true CN112418418A (en) 2021-02-26

Family

ID=74781531

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011254398.3A Pending CN112418418A (en) 2020-11-11 2020-11-11 Data processing method and device based on neural network, storage medium and server

Country Status (1)

Country Link
CN (1) CN112418418A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112907600A (en) * 2021-03-10 2021-06-04 江苏禹空间科技有限公司 Optimization method and system of target detection model

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3330900A1 (en) * 2016-12-01 2018-06-06 VIA Alliance Semiconductor Co., Ltd. Neural network unit that performs efficient 3 dimensional convolutions
CN108520274A (en) * 2018-03-27 2018-09-11 天津大学 High reflecting surface defect inspection method based on image procossing and neural network classification
WO2019033381A1 (en) * 2017-08-18 2019-02-21 Intel Corporation Efficient neural networks with elaborate matrix structures in machine learning environments
CN109409512A (en) * 2018-09-27 2019-03-01 西安交通大学 A kind of neural computing unit, computing array and its construction method of flexibly configurable
CN111178519A (en) * 2019-12-27 2020-05-19 华中科技大学 Convolutional neural network acceleration engine, convolutional neural network acceleration system and method
CN111507182A (en) * 2020-03-11 2020-08-07 杭州电子科技大学 Skeleton point fusion cyclic cavity convolution-based littering behavior detection method
CN111861886A (en) * 2020-07-15 2020-10-30 南京信息工程大学 Image super-resolution reconstruction method based on multi-scale feedback network

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3330900A1 (en) * 2016-12-01 2018-06-06 VIA Alliance Semiconductor Co., Ltd. Neural network unit that performs efficient 3 dimensional convolutions
WO2019033381A1 (en) * 2017-08-18 2019-02-21 Intel Corporation Efficient neural networks with elaborate matrix structures in machine learning environments
CN108520274A (en) * 2018-03-27 2018-09-11 天津大学 High reflecting surface defect inspection method based on image procossing and neural network classification
CN109409512A (en) * 2018-09-27 2019-03-01 西安交通大学 A kind of neural computing unit, computing array and its construction method of flexibly configurable
CN111178519A (en) * 2019-12-27 2020-05-19 华中科技大学 Convolutional neural network acceleration engine, convolutional neural network acceleration system and method
CN111507182A (en) * 2020-03-11 2020-08-07 杭州电子科技大学 Skeleton point fusion cyclic cavity convolution-based littering behavior detection method
CN111861886A (en) * 2020-07-15 2020-10-30 南京信息工程大学 Image super-resolution reconstruction method based on multi-scale feedback network

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王晨;寇鹏: "基于卷积神经网络和简单循环单元集成模型的风电场内多风机风速预测", 《 电工技术学报》, vol. 35, no. 13, 27 March 2020 (2020-03-27), pages 2723 - 2735 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112907600A (en) * 2021-03-10 2021-06-04 江苏禹空间科技有限公司 Optimization method and system of target detection model
CN112907600B (en) * 2021-03-10 2024-05-24 无锡禹空间智能科技有限公司 Optimization method and system of target detection model

Similar Documents

Publication Publication Date Title
US11948352B2 (en) Speculative training using partial gradients update
CN113469355B (en) Multi-model training pipeline in distributed system
CN113435682A (en) Gradient compression for distributed training
CN112163601A (en) Image classification method, system, computer device and storage medium
US11295236B2 (en) Machine learning in heterogeneous processing systems
JP7285977B2 (en) Neural network training methods, devices, electronics, media and program products
CN115150471B (en) Data processing method, apparatus, device, storage medium, and program product
US20200226458A1 (en) Optimizing artificial neural network computations based on automatic determination of a batch size
CN110689045A (en) Distributed training method and device for deep learning model
CN116684330A (en) Traffic prediction method, device, equipment and storage medium based on artificial intelligence
CN112418418A (en) Data processing method and device based on neural network, storage medium and server
CN111859775A (en) Software and hardware co-design for accelerating deep learning inference
CN112200310B (en) Intelligent processor, data processing method and storage medium
CN114399035A (en) Method for transferring data, direct memory access device and computer system
US20230325149A1 (en) Data processing method and apparatus, computer device, and computer-readable storage medium
US10990525B2 (en) Caching data in artificial neural network computations
CN111813721A (en) Neural network data processing method, device, equipment and storage medium
CN115186738B (en) Model training method, device and storage medium
CN113435571A (en) Deep network training method and system for realizing multitask parallel
CN113792804A (en) Training method of image recognition model, image recognition method, device and equipment
US20200184328A1 (en) Accelerating artificial neural network computations by skipping input values
WO2020121030A1 (en) Caching data in artificial neural network computations
US20220067494A1 (en) Accelerating device, data storing device, data processing system and operating method of accelerating device
US20220207323A1 (en) Architecture and cluster of processing elements and operating method for convolution
CN115482422B (en) Training method of deep learning model, image processing method and device

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20220111

Address after: 2209-c1, No. 19, Erquan East Road, Huizhi enterprise center, Xishan District, Wuxi City, Jiangsu Province, 214000

Applicant after: Wuxi yuspace Intelligent Technology Co.,Ltd.

Address before: Room 1101, block C, Kangyuan smart port, No. 50, Jiangdong Street, Jialing, Jianye District, Nanjing City, Jiangsu Province, 210000

Applicant before: Jiangsu Yu Space Technology Co.,Ltd.

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20220914

Address after: Room 1101, block C, Kangyuan smart port, No. 50, Jiangdong Street, Jialing, Jianye District, Nanjing City, Jiangsu Province, 210000

Applicant after: Jiangsu Yu Space Technology Co.,Ltd.

Address before: 2209-c1, No. 19, Erquan East Road, Huizhi enterprise center, Xishan District, Wuxi City, Jiangsu Province, 214000

Applicant before: Wuxi yuspace Intelligent Technology Co.,Ltd.

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20230828

Address after: 2209-c1, No. 19, Erquan East Road, Huizhi enterprise center, Xishan District, Wuxi City, Jiangsu Province, 214000

Applicant after: Wuxi yuspace Intelligent Technology Co.,Ltd.

Address before: Room 1101, block C, Kangyuan smart port, No. 50, Jiangdong Street, Jialing, Jianye District, Nanjing City, Jiangsu Province, 210000

Applicant before: Jiangsu Yu Space Technology Co.,Ltd.