CN116432706A - Handshake system, method and related equipment of three-dimensional convolutional neural network - Google Patents

Handshake system, method and related equipment of three-dimensional convolutional neural network Download PDF

Info

Publication number
CN116432706A
CN116432706A CN202111680002.6A CN202111680002A CN116432706A CN 116432706 A CN116432706 A CN 116432706A CN 202111680002 A CN202111680002 A CN 202111680002A CN 116432706 A CN116432706 A CN 116432706A
Authority
CN
China
Prior art keywords
data
data block
cache
information
handshake
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
CN202111680002.6A
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.)
Shenzhen Intellifusion Technologies Co Ltd
Original Assignee
Shenzhen Intellifusion Technologies 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 Shenzhen Intellifusion Technologies Co Ltd filed Critical Shenzhen Intellifusion Technologies Co Ltd
Priority to CN202111680002.6A priority Critical patent/CN116432706A/en
Priority to PCT/CN2022/100160 priority patent/WO2023123914A1/en
Publication of CN116432706A publication Critical patent/CN116432706A/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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • 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/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Neurology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

The invention discloses a handshake system, a handshake method, a handshake device, computer equipment and a handshake medium of a three-dimensional convolutional neural network, wherein the handshake method comprises the following steps: acquiring data to be carried, and writing the data to be carried into a cache as a cache data block in a data block with a preset size; writing the size of the cache data block into the register group according to a preset storage mode to obtain data block record information; when a data operation request is received, acquiring demand data information from the data operation request, wherein the demand data information comprises three-dimensional coordinates; determining whether the cache data block contains data corresponding to the required data information or not based on the three-dimensional coordinates and the data block record information; if the cache data block contains data corresponding to the required data information, a response signal of effective data in the cache data block is generated, and the handshake efficiency can be improved by adopting the invention.

Description

Handshake system, method and related equipment of three-dimensional convolutional neural network
Technical Field
The present invention relates to the field of data processing, and in particular, to a handshake system, method and related devices for a three-dimensional convolutional neural network.
Background
Convolutional neural networks have been developed in recent years and have attracted considerable attention as an efficient identification method that has very excellent performance for large-scale image processing. The network avoids complex pre-processing of the image, and can directly input the original image, so that the network is widely used.
Convolutional neural networks are generally classified into convolutional layers (convolution layer), pooling layers (pooling layers), fully-connected layers (FC layers). Convolutional neural networks can well address the problem of two-dimensional planar images. However, there is an increasing need for processing spherical images. For example, the problem of omnibearing visual handling of unmanned aerial vehicles, robots, autopilots, molecular regression, global weather and climate models. The three-dimensional convolution application scene is generally multi-frame data, the output is also multi-frame, and the convolution operation is sequentially and simultaneously executed on the whole channel of the continuous k frames.
In recent years, three-dimensional convolutional deep neural networks have been rapidly developed, and experiments prove that the three-dimensional convolutional deep neural networks are good feature learners capable of simulating appearance and movement at the same time;
as can be seen from the above description, the three-dimensional convolution has one more dimension than the conventional two-dimensional convolution, which is generally channel, height, width of the input image; while the input image of the three-dimensional convolution is channel, dense, height, width, one more dense dimension than the two-dimensional convolution.
For hardware design, in general, a 3-dimensional convolution computing module needs DMA (Direct Memory Access ) to transfer data from a DDR or on-chip memory unit to a computed buffer, so that the computing speed can be guaranteed. For DMA, if one dimension is moved to another dimension, a problem arises: three-dimensional convolution requires 3 dimensions of data, and there is a possibility that the amount of data in one dimension is too large, so that a subsequent calculation module cannot calculate at a later time, because the calculation module is the data requiring 3 dimensions. This will result in a huge latency, i.e. an excessive computational delay.
In addition, the design thinking is that after part of the width data is moved, part of the height dimension is moved, then the distance dimension and the channel dimension are moved, then the width dimension is moved, and the like, the method can greatly reduce the calculation delay, but how to realize the quick handshake between the subsequent calculation module and the previous DMA carrying module becomes a difficult problem to be solved.
Disclosure of Invention
The embodiment of the invention provides a handshake method, a handshake device, computer equipment and a storage medium of a three-dimensional convolutional neural network, which are used for improving the efficiency of successful handshake between a subsequent computing module and a preceding DMA (direct memory access) carrying module.
In order to solve the above technical problems, an embodiment of the present application provides a handshake system of a three-dimensional convolutional neural network, including: comprises a DMA carrying component and a data calculating component, wherein the DMA carrying component and the data calculating component are electrically connected, the DMA carrying component comprises at least three register groups, the register groups are sequentially connected in series, each register group is in butt joint with at least three comparators, wherein,
the register set is used for recording handshake data information;
and the comparators butted by the register groups are respectively used for comparing handshake data information in the registers with data information of one dimension in the three-dimensional convolutional neural network.
In order to solve the above technical problems, an embodiment of the present application provides a handshake method of a three-dimensional convolutional neural network, including:
acquiring data to be carried, and writing the data to be carried into a cache in a data block with a preset size to serve as a cache data block;
writing the size of the cache data block into a register group according to a preset storage mode to obtain data block record information;
when a data operation request is received, acquiring required data information from the data operation request, wherein the required data information comprises three-dimensional coordinates;
determining whether the cache data block contains data corresponding to the required data information or not based on the three-dimensional coordinates and the data block record information;
and if the cache data block contains data corresponding to the required data information, generating a response signal of effective data in the cache data block.
Optionally, the writing the data to be carried into the cache in a data block with a preset size, and the writing the data to be carried into the cache as the cache data block includes:
dividing the data to be carried according to data blocks with preset sizes to obtain each carrying block;
and writing the buffer memory into each carrying block along the first dimension, the second dimension and the third dimension in sequence to obtain the buffer memory data block.
Optionally, the data block record information structure is a triplet, wherein a first element in the triplet is a total size of a first dimension, a second element in the triplet is a total size of a second dimension, and a third element in the triplet is a total size of a third dimension.
Optionally, writing the size of the buffered data block into the register set according to a preset storage manner, and obtaining the data block record information includes:
updating the data block record information in the first register group based on the size of the cached data block when each data block cache is successful;
comparing the data block record information in the first register set with a preset first dimension threshold, if a first preset condition is met, transmitting the data block record information in the first register set to a second register set, and resetting the data block record information in the first register set;
comparing the data block record information in the first register set with a preset second dimension threshold, if a second preset condition is met, transmitting the data block record information in the first register set to a third register set, and resetting the data block record information in the first register set.
Optionally, the determining, based on the three-dimensional coordinates and the data block record information, whether the cached data block includes data corresponding to the required data information includes:
comparing each element in the three-dimensional coordinates with a corresponding scale of the size of a data block stored in the register group for each register group, and combining and performing AND operation to obtain a logic value corresponding to each register group; if at least one logical value corresponding to the register group is true, determining that the cache data block contains data corresponding to the required data information, otherwise, determining that the cache data block does not contain data corresponding to the required data information.
In order to solve the above technical problem, an embodiment of the present application further provides a handshake device of a three-dimensional convolutional neural network, including:
the data block writing module is used for acquiring data to be carried and writing the data to be carried into a cache as a cache data block in a data block with a preset size;
the data block information storage module is used for writing the size of the cache data block into the register group according to a preset storage mode to obtain data block record information;
the request receiving module is used for acquiring the required data information from the data operation request when the data operation request is received, wherein the required data information comprises three-dimensional coordinates;
the comparison query module is used for determining whether the cache data block contains data corresponding to the required data information or not based on the three-dimensional coordinates and the data block record information;
and the request response module is used for generating a response signal of effective data in the cache data block if the cache data block contains data corresponding to the required data information.
Optionally, the data block writing module includes:
the data dividing unit is used for dividing the data to be carried according to the data blocks with preset sizes to obtain each carrying block;
and the cache writing unit is used for writing the caches into each carrying block along the first dimension, the second dimension and the third dimension in sequence to obtain the cache data block.
Optionally, the preset size corresponding to the buffered data block is (ci_num, h_num, d_num), and the data block information storage module includes:
a data block updating unit, configured to update the data block record information in the first register set based on the size of the cached data block when each time the data block caching is successful;
the first storage unit is used for comparing the data block record information in the first register set with a preset first dimension threshold value, if a first preset condition is met, transmitting the data block record information in the first register set to a second register set, and resetting the data block record information in the first register set;
and the second storage unit is used for comparing the data block record information in the first register set with a preset second dimension threshold value, transmitting the data block record information in the first register set to a third register set if a second preset condition is met, and resetting the data block record information in the first register set.
Optionally, the comparison query module includes:
logic value calculation unit for
Comparing each element in the three-dimensional coordinates with a corresponding scale of the size of a data block stored in the register group for each register group, and combining and performing AND operation to obtain a logic value corresponding to each register group;
and the result determining unit is used for determining that the cache data block contains the data corresponding to the required data information if at least one logical value corresponding to the register group is true, and otherwise, determining that the cache data block does not contain the data corresponding to the required data information.
In order to solve the above technical problem, the embodiments of the present application further provide a computer device, including a memory, a processor, and a computer program stored in the memory and capable of running on the processor, where the processor implements the steps of the handshake method of the three-dimensional convolutional neural network when executing the computer program.
To solve the above technical problem, embodiments of the present application further provide a computer readable storage medium storing a computer program, where the computer program implements the steps of the handshake method of the three-dimensional convolutional neural network when executed by a processor.
The handshake system, the handshake method, the handshake device, the handshake computer equipment and the handshake storage medium of the three-dimensional convolutional neural network, provided by the embodiment of the invention, are used for acquiring data to be carried, and writing the data to be carried into a cache as cache data blocks in a data block with a preset size; writing the size of the cache data block into the register group according to a preset storage mode to obtain data block record information; when a data operation request is received, acquiring demand data information from the data operation request, wherein the demand data information comprises three-dimensional coordinates; determining whether the cache data block contains data corresponding to the required data information or not based on the three-dimensional coordinates and the data block record information; if the cache data block contains data corresponding to the required data information, a response signal of effective data in the cache data block is generated, the data size is recorded during caching, the progress of data storage is determined, and whether the required data is cached or not is rapidly calculated without traversing and searching from the data, so that the data operation amount is reduced, and the handshake efficiency is improved.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings that are needed in the description of the embodiments of the present invention will be briefly described below, it being obvious that the drawings in the following description are only some embodiments of the present invention, and that other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 is a flow chart of one embodiment of a handshake system of the three-dimensional convolutional neural network of the present application;
FIG. 2 is a flow chart of one embodiment of a handshake method of the three-dimensional convolutional neural network of the present application;
FIG. 3 is a schematic diagram of the architecture of one embodiment of a handshaking device of a three-dimensional convolutional neural network in accordance with the present application;
FIG. 4 is a schematic structural diagram of one embodiment of a computer device according to the present application.
Detailed Description
Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs; the terminology used in the description of the applications herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the application; the terms "comprising" and "having" and any variations thereof in the description and claims of the present application and in the description of the figures above are intended to cover non-exclusive inclusions. The terms first, second and the like in the description and in the claims or in the above-described figures, are used for distinguishing between different objects and not necessarily for describing a sequential or chronological order.
Reference herein to "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment may be included in at least one embodiment of the present application. The appearances of such phrases in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. Those of skill in the art will explicitly and implicitly appreciate that the embodiments described herein may be combined with other embodiments.
The following description of the embodiments of the present invention will be made clearly and fully with reference to the accompanying drawings, in which it is evident that the embodiments described are some, but not all embodiments of the invention. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention.
Referring to fig. 1, fig. 1 illustrates a handshake system according to an embodiment of the present application that provides a three-dimensional convolutional neural network, including: comprises a DMA carrying component and a data calculating component, wherein the DMA carrying component and the data calculating component are electrically connected, the DMA carrying component comprises at least three register groups, the register groups are sequentially connected in series, each register group is in butt joint with at least three comparators,
the register group is used for recording handshake data information;
the comparators of the register set butt joint are used for comparing handshake data information in the registers with data information of one dimension in the three-dimensional convolutional neural network respectively.
Referring to fig. 2, fig. 2 shows a handshake method of a three-dimensional convolutional neural network according to an embodiment of the present invention, which is described in detail below:
s201: and acquiring the data to be carried, and writing the data to be carried into a cache as a cache data block in a data block with a preset size.
The preset size may be selected according to the size of the data to be carried and the execution capability of the processor, which is not specifically limited herein.
Optionally, writing the data to be handled into the cache in a data block with a preset size, where the writing includes:
dividing data to be carried according to data blocks with preset sizes to obtain each carrying block;
and writing the buffer memory into each carrying block along the first dimension, the second dimension and the third dimension in sequence to obtain a buffer memory data block.
S202: and writing the size of the cache data block into the register group according to a preset storage mode to obtain the data block record information.
Preferably, the data block record information structure is (ci_cnt, h_cnt, d_cnt), wherein ci_cnt is the total size of the first dimension, h_cnt is the total size of the second dimension, and d_cnt is the total size of the third dimension.
Preferably, the predetermined size corresponding to the buffered data block is (ci_num, h_num, d_num), and writing the size of the buffered data block into the register set according to the predetermined storage mode, so as to obtain the data block record information, where the obtaining the data block record information includes:
updating the data block record information in the first register group based on the size of the cached data block when each time the data block caching is successful;
comparing the data block record information in the first register set with a preset first dimension threshold value, if a first preset condition is met, transmitting the data block record information in the first register set to the second register set, and resetting the data block record information in the first register set;
comparing the data block record information in the first register set with a preset second dimension threshold value, if a second preset condition is met, transmitting the data block record information in the first register set to a third register set, and resetting the data block record information in the first register set.
The preset first dimension threshold is a preset threshold of the first dimension, and the preset threshold can be set according to actual needs.
In this embodiment, a preset threshold value reaching a first dimension is used as the first preset condition, in order to ensure the high efficiency of data query, a threshold value is set for each dimension, after reaching or exceeding the threshold value, the data is recorded to the next register set, and the related data in the register set is reset, so as to ensure the high efficiency of storage and the high efficiency of subsequent data query.
In a specific example, the preset size of the buffered data block is (8,8,4), the system is initialized before the data block is buffered for the first time, all register sets are reset to 0, when the data is buffered for the first time, ci_cnt is added with ci_num to obtain a result of 8, and since d_cnt and h_cnt are both 0, at this time, h_cnt is added with h_num, d_cnt is added with d_num, so the three register values of the first register set 1 are 8,8,4;
in the second data buffering, since h_cnt is not 0 and ci_cnt is only added at this time, three register values of register group 1 are 16,8,4.
At the time of the fourth handshake, since ci_cnt+ci_num=24+8=32 > =input_channel_num (32), where input_channel_num is a preset threshold value of the first dimension, its value is 32, the value of register set 1 is transferred to register set 2 at this time, and ci_cnt is reset to 0;
at the 5 th cache, since ci_cnt, h_cnt plus h_num at this time, the three register values of register set 1 are 8, 16,4.
Next, the buffer write is similar to the above description, and at the time of 12 th buffer, since h_cnt=16 > =height of the register set 2, height is the preset threshold of the first dimension, the value of the second register set is transferred to the third register set.
After 16 times of caching, all the caching is finished, and the next configuration is entered.
S203: when a data operation request is received, required data information is acquired from the data operation request, wherein the required data information comprises three-dimensional coordinates.
Specifically, when data inquiry or data operation is required, a data operation request containing the required data information is generated, and when the request is received, the required data information is extracted.
In this embodiment, a vertex where the data to be carried starts to be carried first is taken as an origin of coordinates, and a direction of carrying is taken as a coordinate axis to point, so as to construct a three-dimensional coordinate system.
S204: and determining whether the cache data block contains data corresponding to the required data information or not based on the three-dimensional coordinates and the data block record information.
Optionally, determining whether the cached data block includes data corresponding to the required data information based on the three-dimensional coordinates and the data block record information includes:
comparing each element in the three-dimensional coordinates with the corresponding scale of the size of the data block stored in the register group for each register group, and combining and performing AND operation to obtain a logic value corresponding to each register group
If at least one logical value corresponding to the register group is true, determining that the cache data block contains data corresponding to the required data information, otherwise, determining that the cache data block does not contain data corresponding to the required data information.
Specifically, in a specific embodiment, the following formula is adopted to calculate the logic value of the valid data data_valid:
data_valid1=(c_x<=ci_cnt)&&(h_x<=h_cnt)&&(d_x<=d_cnt)
data_valid2=(c_x<=ci_cnt)&&(h_x<=h_cnt)&&(d_x<=d_cnt)
data_valid3=(c_x<=ci_cnt)&&(h_x<=h_cnt)&&(d_x<=d_cnt)
data_valid=data_valid1||data_valid2||data_valid3
wherein, (c_x, h_x, d_x) are three-dimensional coordinates, and data_valid1, data_valid2 and data_valid3 are respectively effective data corresponding to each register group;
if the logic value of the valid data data_valid is true, determining that the cache data block contains data corresponding to the required data information, otherwise, determining that the cache data block does not contain data corresponding to the required data information.
It should be understood that the three-dimensional coordinates are information for representing a spatial position of the required data information in the data to be carried, and when the data to be carried is carried according to a preset three-dimensional sequence, the size of the cache data block recorded in the data block recording information is consistent with the three-dimensional coordinates of the cache data block in the data to be carried after the cache data block is carried and updated each time.
S205: and if the cache data block contains data corresponding to the required data information, generating a response signal of effective data in the cache data block.
In this embodiment, data to be carried is obtained, and is written into a cache as a cache data block in a data block with a preset size; writing the size of the cache data block into the register group according to a preset storage mode to obtain data block record information; when a data operation request is received, acquiring demand data information from the data operation request, wherein the demand data information comprises three-dimensional coordinates; determining whether the cache data block contains data corresponding to the required data information or not based on the three-dimensional coordinates and the data block record information; if the cache data block contains data corresponding to the required data information, a response signal of effective data in the cache data block is generated, the data size is recorded during caching, the progress of data storage is determined, and whether the required data is cached or not is rapidly calculated without traversing and searching from the data, so that the data operation amount is reduced, and the handshake efficiency is improved.
It should be understood that the sequence number of each step in the foregoing embodiment does not mean that the execution sequence of each process should be determined by the function and the internal logic, and should not limit the implementation process of the embodiment of the present invention.
Fig. 3 shows a schematic block diagram of a handshake apparatus of a three-dimensional convolutional neural network in one-to-one correspondence with the handshake method of the three-dimensional convolutional neural network of the above embodiment. As shown in fig. 3, the handshake apparatus of the three-dimensional convolutional neural network includes a data block writing module 31, a data block information storage module 32, a request receiving module 33, a contrast query module 34, and a request response module 35. The functional modules are described in detail as follows:
the data block writing module 31 is configured to obtain data to be carried, and write the data to be carried into a cache as a cache data block in a data block with a preset size;
the data block information storage module 32 is configured to write the size of the buffered data block into the register set according to a preset storage manner, so as to obtain data block record information;
a request receiving module 33, configured to obtain, when receiving a data operation request, required data information from the data operation request, where the required data information includes three-dimensional coordinates;
the comparison query module 34 is configured to determine whether the cached data block includes data corresponding to the required data information based on the three-dimensional coordinates and the data block record information;
the request response module 35 is configured to generate a response signal that valid data exists in the buffered data block if the buffered data block includes data corresponding to the required data information.
Optionally, the data block writing module 31 includes:
the data dividing unit is used for dividing the data to be carried according to the data blocks with preset sizes to obtain each carrying block;
the buffer writing unit is used for writing the buffer into each carrying block along the first dimension, the second dimension and the third dimension in sequence to obtain a buffer data block.
Optionally, the data block information storage module 32 includes:
the data block updating unit is used for updating the data block record information in the first register group based on the size of the cached data block when the data block caching is successful each time;
the first storage unit is used for comparing the data block record information in the first register set with a preset first dimension threshold value, if a first preset condition is met, transmitting the data block record information in the first register set to the second register set, and resetting the data block record information in the first register set;
and the second storage unit is used for comparing the data block record information in the first register set with a preset second dimension threshold value, and transmitting the data block record information in the first register set to the third register set and resetting the data block record information in the first register set if a second preset condition is met.
Optionally, the contrast query module 34 includes:
logic value calculation unit for
Comparing each element in the three-dimensional coordinates with a corresponding scale of the size of a data block stored in the register group for each register group, and combining and performing AND operation to obtain a logic value corresponding to each register group;
and the result determining unit is used for determining that the cache data block contains data corresponding to the required data information if at least one logical value corresponding to the register group is true, and determining that the cache data block does not contain the data corresponding to the required data information if the at least one logical value corresponding to the register group is not true.
For specific limitations of the handshake apparatus of the three-dimensional convolutional neural network, reference may be made to the above limitation of the handshake method of the three-dimensional convolutional neural network, and no further description is given here. The respective modules in the handshake apparatus of the three-dimensional convolutional neural network described above may be implemented in whole or in part by software, hardware, and combinations thereof. The above modules may be embedded in hardware or may be independent of a processor in the computer device, or may be stored in software in a memory in the computer device, so that the processor may call and execute operations corresponding to the above modules.
In order to solve the technical problems, the embodiment of the application also provides computer equipment. Referring specifically to fig. 4, fig. 4 is a basic structural block diagram of a computer device according to the present embodiment.
The computer device 4 comprises a memory 41, a processor 42, a network interface 43 communicatively connected to each other via a system bus. It is noted that only a computer device 4 having a component connection memory 41, a processor 42, a network interface 43 is shown in the figures, but it is understood that not all of the illustrated components are required to be implemented and that more or fewer components may be implemented instead. It will be appreciated by those skilled in the art that the computer device herein is a device capable of automatically performing numerical calculations and/or information processing in accordance with predetermined or stored instructions, the hardware of which includes, but is not limited to, microprocessors, application specific integrated circuits (Application Specific Integrated Circuit, ASICs), programmable gate arrays (fields-Programmable Gate Array, FPGAs), digital processors (Digital Signal Processor, DSPs), embedded devices, etc.
The computer equipment can be a desktop computer, a notebook computer, a palm computer, a cloud server and other computing equipment. The computer equipment can perform man-machine interaction with a user through a keyboard, a mouse, a remote controller, a touch pad or voice control equipment and the like.
The memory 41 includes at least one type of readable storage medium including flash memory, a hard disk, a multimedia card, a card type memory (e.g., SD or D interface display memory, etc.), a Random Access Memory (RAM), a Static Random Access Memory (SRAM), a read-only memory (ROM), an electrically erasable programmable read-only memory (EEPROM), a programmable read-only memory (PROM), a magnetic memory, a magnetic disk, an optical disk, etc. In some embodiments, the storage 41 may be an internal storage unit of the computer device 4, such as a hard disk or a memory of the computer device 4. In other embodiments, the memory 41 may also be an external storage device of the computer device 4, such as a plug-in hard disk, a Smart Media Card (SMC), a Secure Digital (SD) Card, a Flash Card (Flash Card) or the like, which are provided on the computer device 4. Of course, the memory 41 may also comprise both an internal memory unit of the computer device 4 and an external memory device. In this embodiment, the memory 41 is typically used for storing an operating system and various application software installed on the computer device 4, such as program codes for controlling electronic files, etc. Further, the memory 41 may be used to temporarily store various types of data that have been output or are to be output.
The processor 42 may be a central processing unit (Central Processing Unit, CPU), controller, microcontroller, microprocessor, or other data processing chip in some embodiments. The processor 42 is typically used to control the overall operation of the computer device 4. In this embodiment, the processor 42 is configured to execute a program code stored in the memory 41 or process data, such as a program code for executing control of an electronic file.
The network interface 43 may comprise a wireless network interface or a wired network interface, which network interface 43 is typically used for establishing a communication connection between the computer device 4 and other electronic devices.
The present application also provides another embodiment, namely, a computer readable storage medium storing an interface display program, where the interface display program is executable by at least one processor, so that the at least one processor performs the steps of the handshake method of the three-dimensional convolutional neural network as described above.
From the above description of the embodiments, it will be clear to those skilled in the art that the above-described embodiment method may be implemented by means of software plus a necessary general hardware platform, but of course may also be implemented by means of hardware, but in many cases the former is a preferred embodiment. Based on such understanding, the technical solution of the present application may be embodied essentially or in a part contributing to the prior art in the form of a software product stored in a storage medium (such as ROM/RAM, magnetic disk, optical disk), comprising several instructions for causing a terminal device (which may be a mobile phone, a computer, a server, an air conditioner, or a network device, etc.) to perform the method described in the embodiments of the present application.
It is apparent that the embodiments described above are only some embodiments of the present application, but not all embodiments, the preferred embodiments of the present application are given in the drawings, but not limiting the patent scope of the present application. This application may be embodied in many different forms, but rather, embodiments are provided in order to provide a more thorough understanding of the present disclosure. Although the present application has been described in detail with reference to the foregoing embodiments, it will be apparent to those skilled in the art that modifications may be made to the embodiments described in the foregoing, or equivalents may be substituted for elements thereof. All equivalent structures made by the specification and the drawings of the application are directly or indirectly applied to other related technical fields, and are also within the protection scope of the application.

Claims (10)

1. The handshake system of the three-dimensional convolutional neural network comprises a DMA carrying component and a data computing component, wherein the DMA carrying component and the data computing component are electrically connected, the handshake system is characterized in that the DMA carrying component comprises at least three register groups, the register groups are sequentially connected in series, each register group is butted with at least three comparators, the data computing component is connected with the DMA carrying component through the data computing component,
the register set is used for recording handshake data information;
and the comparators butted by the register groups are respectively used for comparing handshake data information in the registers with data information of one dimension in the three-dimensional convolutional neural network.
2. A handshake method of a three-dimensional convolutional neural network, applied to the handshake system of the three-dimensional convolutional neural network according to claim 1, comprising:
acquiring data to be carried, and writing the data to be carried into a cache in a data block with a preset size to serve as a cache data block;
writing the size of the cache data block into a register group according to a preset storage mode to obtain data block record information;
when a data operation request is received, acquiring required data information from the data operation request, wherein the required data information comprises three-dimensional coordinates;
determining whether the cache data block contains data corresponding to the required data information or not based on the three-dimensional coordinates and the data block record information;
and if the cache data block contains data corresponding to the required data information, generating a response signal of effective data in the cache data block.
3. The handshake method of the three-dimensional convolutional neural network according to claim 2, wherein writing the data to be handled into a buffer with a data block of a preset size as a buffered data block comprises:
dividing the data to be carried according to data blocks with preset sizes to obtain each carrying block;
and writing the buffer memory into each carrying block along the first dimension, the second dimension and the third dimension in sequence to obtain the buffer memory data block.
4. The handshake method of claim 2 wherein the data block record information structure is a triplet, wherein a first element in the triplet is a total size of a first dimension, a second element in the triplet is a total size of a second dimension, and a third element in the triplet is a total size of a third dimension.
5. The handshake method of the three-dimensional convolutional neural network according to claim 4, wherein writing the size of the buffered data block into the register set according to a preset storage manner, to obtain the data block record information comprises:
updating the data block record information in the first register group based on the size of the cached data block when each data block cache is successful;
comparing the data block record information in the first register set with a preset first dimension threshold, if a first preset condition is met, transmitting the data block record information in the first register set to a second register set, and resetting the data block record information in the first register set;
comparing the data block record information in the first register set with a preset second dimension threshold, if a second preset condition is met, transmitting the data block record information in the first register set to a third register set, and resetting the data block record information in the first register set.
6. The handshake method of the three-dimensional convolutional neural network according to claim 4 or 5, wherein determining whether the cached data block contains data corresponding to the required data information based on the three-dimensional coordinates and the data block record information comprises:
comparing each element in the three-dimensional coordinates with a corresponding scale of the size of a data block stored in the register group for each register group, and combining and performing AND operation to obtain a logic value corresponding to each register group;
if at least one logical value corresponding to the register group is true, determining that the cache data block contains data corresponding to the required data information, otherwise, determining that the cache data block does not contain data corresponding to the required data information.
7. A handshake apparatus of a three-dimensional convolutional neural network, the handshake apparatus of the three-dimensional convolutional neural network comprising:
the data block writing module is used for acquiring data to be carried and writing the data to be carried into a cache as a cache data block in a data block with a preset size;
the data block information storage module is used for writing the size of the cache data block into the register group according to a preset storage mode to obtain data block record information;
the request receiving module is used for acquiring the required data information from the data operation request when the data operation request is received, wherein the required data information comprises three-dimensional coordinates;
the comparison query module is used for determining whether the cache data block contains data corresponding to the required data information or not based on the three-dimensional coordinates and the data block record information;
and the request response module is used for generating a response signal of effective data in the cache data block if the cache data block contains data corresponding to the required data information.
8. The handshake apparatus of claim 7 wherein said data block write module comprises:
the data dividing unit is used for dividing the data to be carried according to the data blocks with preset sizes to obtain each carrying block;
and the cache writing unit is used for writing the caches into each carrying block along the first dimension, the second dimension and the third dimension in sequence to obtain the cache data block.
9. A computer device comprising a memory, a processor and a computer program stored in the memory and executable on the processor, characterized in that the processor implements a handshake method of a three-dimensional convolutional neural network according to any of claims 1 to 6 when executing the computer program.
10. A computer readable storage medium storing a computer program, wherein the computer program when executed by a processor implements the handshake method of a three-dimensional convolutional neural network according to any of claims 1 to 6.
CN202111680002.6A 2021-12-31 2021-12-31 Handshake system, method and related equipment of three-dimensional convolutional neural network Pending CN116432706A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111680002.6A CN116432706A (en) 2021-12-31 2021-12-31 Handshake system, method and related equipment of three-dimensional convolutional neural network
PCT/CN2022/100160 WO2023123914A1 (en) 2021-12-31 2022-06-21 Three-dimensional convolutional neural network handshake system, method, and related device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111680002.6A CN116432706A (en) 2021-12-31 2021-12-31 Handshake system, method and related equipment of three-dimensional convolutional neural network

Publications (1)

Publication Number Publication Date
CN116432706A true CN116432706A (en) 2023-07-14

Family

ID=86997340

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111680002.6A Pending CN116432706A (en) 2021-12-31 2021-12-31 Handshake system, method and related equipment of three-dimensional convolutional neural network

Country Status (2)

Country Link
CN (1) CN116432706A (en)
WO (1) WO2023123914A1 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9280290B2 (en) * 2014-02-12 2016-03-08 Oracle International Corporation Method for steering DMA write requests to cache memory
CN111542837B (en) * 2018-08-09 2023-07-28 深圳鲲云信息科技有限公司 Three-dimensional convolutional neural network computing device and related products
CN111615692A (en) * 2019-05-23 2020-09-01 深圳市大疆创新科技有限公司 Data transfer method, calculation processing device, and storage medium
CN113743599B (en) * 2021-08-08 2023-08-25 苏州浪潮智能科技有限公司 Computing device and server of convolutional neural network

Also Published As

Publication number Publication date
WO2023123914A1 (en) 2023-07-06

Similar Documents

Publication Publication Date Title
CN111860813B (en) Device and method for performing forward operation of convolutional neural network
CN111046125A (en) Visual positioning method, system and computer readable storage medium
CN107610146B (en) Image scene segmentation method and device, electronic equipment and computer storage medium
CN113808253B (en) Method, system, equipment and medium for processing dynamic object of three-dimensional reconstruction of scene
CN107730514B (en) Scene segmentation network training method and device, computing equipment and storage medium
CN111008040B (en) Cache device and cache method, computing device and computing method
WO2021175020A1 (en) Face image key point positioning method and apparatus, computer device, and storage medium
WO2021259041A1 (en) Ai computational graph sorting method and apparatus, device, and storage medium
CN112799599B (en) Data storage method, computing core, chip and electronic equipment
WO2022111609A1 (en) Grid encoding method and computer system
US20210350230A1 (en) Data dividing method and processor for convolution operation
CN111208933A (en) Data access method, device, equipment and storage medium
CN110555798A (en) Image deformation method and device, electronic equipment and computer readable storage medium
CN111639523B (en) Target detection method, device, computer equipment and storage medium
CN111291876B (en) Arithmetic device, arithmetic method, and arithmetic chip
CN116432706A (en) Handshake system, method and related equipment of three-dimensional convolutional neural network
CN115661493A (en) Object pose determination method and device, equipment and storage medium
CN116051345A (en) Image data processing method, device, computer equipment and readable storage medium
CN112257686B (en) Training method and device for human body posture recognition model and storage medium
CN114821272A (en) Image recognition method, image recognition system, image recognition medium, electronic device, and target detection model
CN111913812B (en) Data processing method, device, equipment and storage medium
CN114090466A (en) Instruction processing device and method, computer equipment and storage medium
CN112733807A (en) Face comparison graph convolution neural network training method and device
CN115512065B (en) Real-time map construction method and device based on blocking large-scale scene
CN111932436B (en) Deep learning processor architecture for intelligent parking

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