Data processing method and device, equipment and medium

By stitching feature maps along the channel direction and determining non-filled and filled regions, data transfer is used to replace convolution operations, solving the computational overhead problem caused by feature map channel alignment and achieving efficient data processing.

CN121962640APending Publication Date: 2026-05-01EEASY TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
EEASY TECH CO LTD
Filing Date
2025-11-25
Publication Date
2026-05-01

AI Technical Summary

Technical Problem

In convolutional neural networks, the redundant padding data caused by feature map channel alignment operations affects network computation. Existing methods, such as ordinary convolution to remove holes, require a large number of parameters and computational overhead.

Method used

Feature maps are stitched together along the channel direction to determine non-filled and filled regions. Data transfer is used to replace convolution operations, reducing the number of parameters and computational overhead.

Benefits of technology

Feature map stitching that meets channel alignment requirements reduces computational and bandwidth overhead and improves data processing efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121962640A_ABST
    Figure CN121962640A_ABST
Patent Text Reader

Abstract

The invention provides a data processing method and device, equipment and a medium, and the method comprises the steps: splicing a to-be-processed feature map in a channel direction, obtaining a spliced feature map meeting a channel alignment requirement, taking a channel alignment number as a search step size, searching the spliced feature map, determining a non-filling region and a filling region in the spliced feature map, enabling all channel data in the non-filling region to be effective channel data, and obtaining a channel alignment result. Invalid channel data used for channel alignment exists in the filling area, the channel data in the non-filling area is carried to the target storage space, and the channel data in the filling area is convolved and then stored in the target storage space, so that the convolution operation is replaced by data carrying for the non-filling area, the parameter quantity is reduced, and the channel alignment efficiency is improved. And the calculation and bandwidth overhead is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Data processing methods, devices, equipment and media Technical Field

[0001] This application relates to the field of data processing technology, and in particular to a data processing method, apparatus, device and medium. Background Technology

[0002] In Convolutional Neural Networks (CNNs), a feature map is a 4-dimensional tensor with the following dimensions: Batch dimension N, Channel dimension C, Height H, and Width W. The Batch dimension represents the number of samples input into the neural network at once. Feature map concatenation (Concat) is a common technique that connects multiple feature maps along a specified dimension to form a larger tensor. Concatenating along the Channel dimension primarily increases the number of features, facilitating subsequent layers' capture of relationships between different features.

[0003] Neural Processing Units (NPUs) typically have channel alignment requirements when processing feature maps, such as alignment to multiples of 16. However, feature maps in actual algorithm models do not have channel alignment requirements. Therefore, during the execution of the algorithm model on the NPU, the feature map channels need to be aligned, such as aligning channel C=30 to ALIGN16(C)=ceil(C / 16). 16 = 32, but the alignment operation produces redundant padding zeros. When multiple feature maps are concatenated along the channel direction, the concatenation result appears as redundant holes in the channel direction, affecting the normal computation of subsequent layers of the network. A common approach to this problem is to use ordinary convolution to remove the holes and obtain normal data with continuous channels, but the corresponding convolution kernel parameters are large, resulting in a large computational cost on the NPU. Summary of the Invention

[0004] This application proposes a data processing method, apparatus, device, and medium that can solve one of the problems existing in the background art.

[0005] To achieve the above objectives, this application adopts the following technical solution: Firstly, a data processing method is provided, comprising: obtaining several feature maps to be processed; splicing the several feature maps to be processed along the channel direction to obtain a spliced ​​feature map that meets the channel alignment requirements; and searching the spliced ​​feature map using the channel alignment number as the search step size to determine several non-filled regions and several filled regions in the spliced ​​feature map, wherein all non-filled regions contain valid channel data, and the filled regions contain invalid channel data used for channel alignment; transferring the channel data in the several non-filled regions to corresponding positions in a target storage space; performing convolution on the channel data in the several filled regions to obtain convolutional data; and storing the convolutional data in the corresponding positions in the target storage space.

[0006] Based on the above technical solution, the processed feature map is stitched along the channel direction to obtain a stitched feature map that meets the channel alignment requirements. Using the channel alignment number as the search step size, the stitched feature map is searched to determine the non-filled and filled regions. The non-filled regions contain all valid channel data, while the filled regions contain invalid channel data used for channel alignment. The channel data in the non-filled regions is moved to the target storage space, and the channel data in the filled regions is convolved and then stored in the target storage space. In this way, data movement replaces the convolution operation for the non-filled regions, reducing the number of parameters and lowering the computational and bandwidth overhead.

[0007] In one possible design of the first aspect, the filling region includes a head, a middle section, and a tail, wherein the invalid channel data is present in the head and the tail, and the middle section contains only valid channel data.

[0008] In one possible design of the first aspect, the data processing method further includes: recording operation type, interval information and weight, wherein the operation type is an operation on the non-filled region or an operation on the filled region, the interval information is data location information in the non-filled region, the filled region and the target storage space, and the weight is a convolution weight for the filled region.

[0009] In one possible design approach of the first aspect, channel data transfer operations for the unfilled regions are implemented using direct memory access or depthwise separable convolution.

[0010] In one possible design of the first aspect, the number of channel alignments is 4, 8, 16, or 32.

[0011] Secondly, a data processing apparatus is provided, comprising: a splicing unit, configured to obtain a plurality of feature maps to be processed, and splice the plurality of feature maps to be processed along a channel direction to obtain a spliced ​​feature map that meets channel alignment requirements; an analysis unit, configured to search the spliced ​​feature map using a channel alignment number as a search step size, and determine a plurality of non-filled regions and a plurality of filled regions in the spliced ​​feature map, wherein the non-filled regions contain all valid channel data, and the filled regions contain invalid channel data used for channel alignment; and an execution unit, configured to move the channel data in the plurality of non-filled regions to corresponding positions in a target storage space, perform convolution on the channel data in the plurality of filled regions to obtain convolutional data, and store the convolutional data in the corresponding positions in the target storage space.

[0012] In one possible design of the second aspect, the data processing device further includes: a parameter unit for recording operation type, interval information and weight, wherein the operation type is an operation on the non-filled region or an operation on the filled region, the interval information is data location information in the non-filled region, the filled region and the target storage space, and the weight is a convolution weight for the filled region.

[0013] In one possible design of the second aspect, the splicing unit and the execution unit operate online, while the analysis unit and the parameter unit operate offline.

[0014] Thirdly, an electronic device is provided, comprising: a processor, and a memory coupled to the processor, the memory for storing a computer program; the processor for executing the computer program stored in the memory to cause the electronic device to perform the data processing method as described in any possible implementation of the first aspect.

[0015] Fourthly, a computer-readable storage medium is provided, including a computer program or instructions that, when executed on a computer, cause the computer to perform the data processing method of any possible implementation of the first aspect. Attached Figure Description

[0016] To more clearly illustrate the technical solutions in the embodiments of this application, the drawings used in the description of the embodiments or related technologies will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0017] Figure 1 is a flowchart of the data processing method provided in Embodiment 1 of this application; Figure 2 is a schematic diagram of feature map channel filling provided in Embodiment 1 of this application; Figure 3 is a schematic diagram of feature map splicing along the channel direction provided in Embodiment 1 of this application; Figure 4 is a schematic diagram of the filling area provided in Embodiment 1 of this application; Figure 5 is a schematic diagram of feature map splicing provided in Embodiment 2 of this application; Figure 6 is a flowchart of the overall method provided in Embodiment 2 of this application; Figure 7 is a flowchart of the search and parameter generation part provided in Embodiment 2 of this application; Figure 8 is a mapping diagram of Ts channel data to Td channel data provided in Embodiment 2 of this application; Figure 9 is a structural diagram of the device provided in Embodiment 2 of this application. Detailed Implementation

[0018] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.

[0019] It should be noted that although functional modules are divided in the device schematic diagram and a logical order is shown in the flowchart, in some cases, the steps shown or described may be performed in a different order than the module division in the device or the order in the flowchart. The terms "first," "second," etc., in the specification, claims, and the aforementioned drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence.

[0020] Unless otherwise defined, 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 herein is for the purpose of describing embodiments of this application only and is not intended to limit this application.

[0021] As shown in Figure 1, Embodiment 1 provides a data processing method, including: step S101, obtaining several feature maps to be processed; step S102, stitching the several feature maps to be processed along the channel direction to obtain a stitched feature map that meets the channel alignment requirements; and step S103, using the channel alignment number as the search step size, searching the stitched feature map to determine several non-filled regions and several filled regions in the stitched feature map, wherein the non-filled regions are all valid channel data, and the filled regions contain invalid channel data used for channel alignment, and the channel data in the several non-filled regions are moved to the corresponding positions in the target storage space, the channel data in the several filled regions are convolved to obtain convolutional data, and the convolutional data is stored in the corresponding positions in the target storage space.

[0022] Specifically, feature maps are a commonly used data structure in deep learning, and they are an important concept in Convolutional Neural Networks (CNNs). A feature map is the result of a series of convolutional kernels performing convolution operations on an input image. It can be viewed as an abstract representation of the original image, where each pixel represents specific features. In CNNs, feature maps are intermediate layer results in the network; they can be further processed and passed to subsequent layers. The size and number of feature maps depend on the size and number of convolutional kernels, as well as parameters such as the stride and padding of the convolution.

[0023] Channel alignment of feature maps is one of the key steps in multimodal or multi-scale feature fusion, mainly addressing the mismatch between different feature maps in terms of channel dimensions. Common methods include channel cropping or padding, 1×1 convolution transformation, and attention mechanisms. Channel padding involves adding zeros to the target number of channels; zero padding essentially fills in invalid channel data, as shown in Figure 2.

[0024] The feature maps T1, T2...Tn are spliced ​​along the channel direction to obtain the spliced ​​feature map Ts, as shown in Figure 3.

[0025] As shown in Figure 4, the filling area includes a head, a middle section, and a tail. The head and the tail contain invalid channel data, while the middle section contains only valid channel data.

[0026] In other implementations, the filled area may include only the head and tail, without the middle section.

[0027] In one possible implementation, the data processing method further includes: recording operation type, interval information, and weights, wherein the operation type is an operation on the non-filled region (data transfer) or an operation on the filled region (convolution, storage after convolution), the interval information is the data location information in the non-filled region, the filled region, and the target storage space, wherein the data locations in the non-filled region and the filled region are the source interval, the data locations in the target storage space are the target interval, and the weights are the convolution weights for the filled region.

[0028] In one possible implementation, direct memory access (DMA) or depthwise separable convolution is used to perform channel data transfer operations on the unfilled regions.

[0029] In one possible implementation, the channel alignment number is 4, 8, 16, 32, or other values.

[0030] Based on the above technical solution, the processed feature map is stitched along the channel direction to obtain a stitched feature map that meets the channel alignment requirements. Using the channel alignment number as the search step size, the stitched feature map is searched to determine the non-filled and filled regions. The non-filled regions contain all valid channel data, while the filled regions contain invalid channel data used for channel alignment. The channel data in the non-filled regions is moved to the target storage space, and the channel data in the filled regions is convolved and then stored in the target storage space. In this way, data movement replaces the convolution operation for the non-filled regions, reducing the number of parameters and lowering the computational and bandwidth overhead.

[0031] This embodiment also provides a data processing apparatus, including: a splicing unit, configured to obtain several feature maps to be processed, and splice the several feature maps to be processed along the channel direction to obtain a spliced ​​feature map that meets the channel alignment requirements; an analysis unit, configured to search the spliced ​​feature map with the channel alignment number as the search step size, and determine several non-filled regions and several filled regions in the spliced ​​feature map, wherein the non-filled regions are all valid channel data, and the filled regions contain invalid channel data used for channel alignment; and an execution unit, configured to move the channel data in the several non-filled regions to the corresponding positions in the target storage space, perform convolution on the channel data in the several filled regions to obtain convolutional data, and store the convolutional data in the corresponding positions in the target storage space.

[0032] In one possible implementation, the data processing device further includes: a parameter unit for recording operation type, interval information and weights, wherein the operation type is an operation on the non-filled region or an operation on the filled region, the interval information is data location information in the non-filled region, the filled region and the target storage space, and the weights are convolution weights for the filled region.

[0033] In one possible implementation, the splicing unit and the execution unit operate online, while the analysis unit and the parameter unit operate offline. This allows the splicing unit and the execution unit to run online based on pre-configured offline information, significantly improving the speed of online operation.

[0034] Example 2: The data processing method in this example mainly involves the following: Assume the NPU requires 16 channels for alignment. The original number of channels for each feature map T1, T2, ... Tn is C1, C2, ... Cn. The feature map after concatenation by channels is Td, with the number of channels being Cd. That is, the sum of the channels of all feature maps is aligned to 16: Cd = ALIGN16(Co), where Co = C1 + C2 + ... + Cn. During actual operation on the NPU, each feature map needs to be aligned by channels, with the number of channels being C1' = ALIGN16(C1), C2' = ALIGN16(C2), ..., Cn' = ALIGN16(Cn), where ALIGN16(C) = ceil(C / 16). 16. The concatenated feature map is Ts, with Cs channels, where Cs = C1' + C2' + ... + Cn'. As shown in Figure 5, after concatenating the channel-aligned feature maps, there will be invalid data generated by padding in the middle. The goal is to transform feature map Ts into Td and remove the padding data generated by the channel alignment of each feature map, that is, to keep the channel data of the original feature map continuously arranged.

[0035] Step-by-step instructions: The overall process is shown in Figure 6. The first stage is the initial assembly, the second stage is the search and parameter generation stage, and the third stage is the extraction execution stage.

[0036] In the initial stitching stage, the target channel storage space is allocated based on the cumulative size of the channels after alignment of all input feature maps: C1'+C2'+...+Cn'=Cs. Each feature map is output sequentially to the target storage location according to the configured crop information, as shown in feature map Ts in Figure 5. The crop information for the first feature map is (0, C1'), corresponding to the (0, C1') interval in Ts. The crop information for the i-th feature map (i>1) is (C1'+...+C(i-1)' , C1'+...+Ci'), corresponding to the (C1'+...+C(i-1)' , C1'+...+Ci') interval in Ts.

[0037] In the second stage, every 16 channels, it is checked for padding. For consecutive unpadded channel intervals, data transfer is used to move the channel data. Otherwise, for channel intervals with padding before and after, ordinary convolution is used to extract the channel data. This stage records the operation type, interval information, and generated convolution weights, and saves them in a list. The list items are formatted as [operation type, source interval, destination interval, weights, and other information]. The process will be explained in detail later.

[0038] The third stage iterates through the list information recorded in the second stage, performs data transfer or ordinary convolution according to the operation type, interval information and weight, and adjusts the feature map channel data to obtain the feature map Td as shown in Figure 5.

[0039] The detailed process of the second stage, search and parameter generation, is shown in Figure 7.

[0040] First, let the starting channel index of feature map Td be Cdt, and the starting channel index of feature map Ts be Cst. Every 16 channels, a check is performed. The search for feature map Ts results in the following two cases: 1. If there is a filled channel in the Cst ~ Cst+15 channel interval of feature map Ts, then the search continues in Ts for the next interval with a filled channel. Let the ending index of the channel in this filled interval be Cst'. Then, ordinary convolution is used to extract channel data in the channel interval from Cst to Cst'. The convolution kernel dimension is ((Cst'-Cst+1)-fill_front-fill_back, Cst'-Cst+1, 1, 1), where the kernel size is 1. 1. The input channel is Cst'-Cst+1, and the output channel is Cst'-Cst+1-fill_front-fill_back. `fill_front` and `fill_back` are shown in Figure 8, representing the sizes of the first and last filling intervals in the search interval of Ts. Specific convolution weights can be generated so that after convolving the feature map data in the input channel interval of Ts (Cst ~ Cst'), the feature map data can be extracted to the interval of Td (Cdt ~ Cdt+(Cst'-Cst+1)-fill_front-fill_back-1), while maintaining the continuity of the output channel data without any padding. The recording information is: ['mov', (Cst, Cst'), (Cdt, Cdt+(Cst'-Cst+1)-fill_front-fill_back-1), weights], where mov represents the movement / transfer.

[0041] Then update Cst and Cdt, and let: (1) Cst = Cst'+1 (2) Cdt = Cdt+(Cst'-Cst+1)-fill_front-fill_back 2. If there is no filled channel in the Cst ~ Cst+15 channel interval of feature map Ts, continue to search for non-filled channels along the Cst+16 ~ Cst+31 channel interval until a channel with a filled channel is found. The starting index of the channel in the filled interval is set to Cst''. The data transfer module is used to transfer the channel interval data of Cst ~ Cst''-1 in feature map Ts to the Cdt to Cdt+Cst''-Cst-1 channel interval of feature map Td. The recorded information is: ['conv', (Cst, Cst''-1), (Cdt, Cdt+Cst''-Cst-1)], where conv represents convolution.

[0042] Then update Cst and Cdt, and let: (1) Cst = Cst'' (2) Cdt = Cdt + (Cst'' - Cst) If the updated Cdt > Co, it means that the feature map splicing process has ended and the process should be exited. Otherwise, re-enter the above steps at the entry point for iterative execution.

[0043] Application example: When performing a concatenation operation on feature maps T1, T2, and T3, their original channels correspond to C1=230, C2=218, and C3=64. Then, the output channel of the concatenated feature map Td is Cd=ALIGN16(C1+C2+C3)=512, and the output channel of the concatenated feature map Ts is Cs=C1'+C2'+C3'=528, where C1'=ALIGN16(C1)=240, C2'=ALIGN16(C2)=224, and C3'=ALIGN16(C3)=64. Next, remove the filling part in Ts according to the above steps: (1) Let Cdt=0, Cst=0, search for filling channels in the channel interval of 0 ~ 15 of feature map Ts. Since no filling channel is found, it meets the initial condition of step 2. The next filling area 230 ~ 239 is found in the channel interval of 224 ~ 239. Let Cst''=224, then use the data transfer unit in the channel interval of 0 ~ 223 so that the channel interval of 0 ~ 223 of Ts is mapped to the channel interval of 0 ~ 223 of Td.

[0044] (2) Let Cdt=224, Cst=224. According to (1), there is a filling region 230~239 (fill_front=10) in the channel interval of 224~224+15, which meets the initial condition of step 1. In the channel interval of 448~463, the next filling region 458~463 (fill_back=6) is found. Let Cst'=463. Then, ordinary convolution is used to extract channel data in the channel interval of 224~463 so that the channel intervals of Ts of 224~229 and 240~457 are mapped to the channel interval of Td of 224~447.

[0045] (3) Let Cdt=448, Cst=464. No filling channel was found in the channel interval of 464~527 of feature map Ts, indicating that the channel interval is 16 aligned. Use the data transfer unit to map the channel interval of 464~527 of Ts to the channel interval of 448~511 of Td. At this time, the splicing is completed, and the mapping from Ts to Td is realized.

[0046] Device Description: As shown in Figure 9, the device mainly consists of a stitching unit, an analysis unit, a parameter unit, and an execution unit. The stitching unit outputs feature maps to the same storage space, achieving initial stitching of channel-aligned feature maps, with padding data within the channels. The analysis unit searches and records the steps and intervals requiring data transfer or convolution operations every 16 channels, storing this information in a list. For convolution operations, the parameter generation unit generates specific convolution weights based on the information within the interval. The execution unit iterates through the list of operation steps, calling the data transfer or convolution function according to the operation type to remove invalid data from the stitched feature maps.

[0047] It should be noted that: (1) There is no specific requirement for the channel alignment number of the feature map in this device. It can be 16, or 4, 8, 32, or other numbers. The alignment of 16 is used in this paper only for example and for ease of explanation. (2) The data transfer module can be implemented using DMA or other methods such as depthwise separable convolution. It is mainly used to realize the fast transfer of continuous channel data and can avoid or reduce weight parameters. (3) The analysis unit and parameter unit run offline, analyze and record the feature map splicing information in the network in advance, and generate the required convolution weights. The splicing unit and execution unit run online according to the configured offline information, which can greatly improve the speed of online operation.

[0048] By implementing the above embodiments, on the one hand, invalid data caused by channel alignment in feature map stitching can be quickly removed, maintaining the continuity of channel data.

[0049] On the other hand, for most channels in a continuous range, this invention uses data transfer instead of convolution operations, which reduces computational and bandwidth overhead.

[0050] This application also provides an electronic device, including: a processor, and a memory coupled to the processor, the memory being used to store a computer program; the processor being used to execute the computer program stored in the memory, so that the electronic device performs the method as described in any of the above embodiments.

[0051] Electronic devices can be computing devices such as desktop computers, laptops, handheld computers, and cloud servers. These electronic devices may include, but are not limited to, processors and memory.

[0052] The processor can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor can be a microprocessor or any conventional processor. The processor is the control center of the electronic device, connecting various parts of the device via various interfaces and lines.

[0053] The memory can be used to store the computer program, and the processor implements various functions of the electronic device by running or executing the computer program stored in the memory and calling the data stored in the memory.

[0054] The memory may primarily include a program storage area and a data storage area. The program storage area may store the operating system, applications required for at least one function, etc.; the data storage area may store data created based on the use of the mobile phone, etc. In addition, the memory may include high-speed random access memory, and may also include non-volatile memory, such as hard disk, memory, plug-in hard disk, smart media card (SMC), secure digital (SD) card, flash card, at least one disk storage device, flash memory device, or other volatile solid-state storage device.

[0055] This application also provides a storage medium, which is a computer-readable storage medium. The computer program is stored in the computer-readable storage medium, and when executed by a processor, the computer program can implement the steps of the various method embodiments described above. The computer program includes computer program code, which can be in the form of source code, object code, executable file, or some intermediate form. The computer-readable medium can include: any entity or device capable of carrying the computer program code, a recording medium, a USB flash drive, a portable hard drive, a magnetic disk, an optical disk, a computer memory, a read-only memory (ROM), a random access memory (RAM), an electrical carrier signal, a telecommunication signal, and a software distribution medium, etc.

[0056] This application also provides a computer program product, including: a computer program or instructions that, when the computer program or instructions are run on a computer, cause the computer to perform any of the above possible implementation methods.

[0057] The above description is the preferred embodiment of this application. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of this application, and these improvements and modifications are also considered to be within the scope of protection of this application.

Claims

1. A data processing method, characterized in that, include: Several feature maps to be processed are obtained; The plurality of feature maps to be processed are spliced ​​along the channel direction to obtain a spliced ​​feature map that meets the channel alignment requirements; and, using the channel alignment number as the search step size, the spliced ​​feature map is searched to determine a plurality of non-filled regions and a plurality of filled regions in the spliced ​​feature map, wherein all non-filled regions contain valid channel data, and the filled regions contain invalid channel data used for channel alignment, and the channel data in the plurality of non-filled regions are moved to the corresponding positions in the target storage space, and the channel data in the plurality of filled regions are convolved to obtain convolutional data, and the convolutional data is stored in the corresponding positions in the target storage space.

2. The data processing method as described in claim 1, characterized in that, The filling area includes a head, a middle section, and a tail. The head and the tail section contain invalid channel data, while the middle section contains only valid channel data.

3. The data processing method as described in claim 1, characterized in that, The data processing method further includes: recording operation type, interval information and weight, wherein the operation type is an operation on the non-filled region or an operation on the filled region, the interval information is the data location information in the non-filled region, the filled region and the target storage space, and the weight is the convolution weight for the filled region.

4. The data processing method as described in claim 1, characterized in that, Channel data transfer operations in the unfilled regions can be implemented using direct memory access or depthwise separable convolution.

5. The data processing method as described in claim 1, characterized in that, The channel alignment number is 4, 8, 16, or 32.

6. A data processing apparatus, characterized in that, include: The splicing unit is used to obtain several feature maps to be processed, and splice the several feature maps to be processed along the channel direction to obtain a spliced ​​feature map that meets the channel alignment requirements. The analysis unit is used to search the stitched feature map with the channel alignment number as the search step size, and to determine several non-filled regions and several filled regions in the stitched feature map. The non-filled regions are all valid channel data, and the filled regions contain invalid channel data used for channel alignment. And an execution unit, configured to move the channel data in the plurality of non-filled regions to the corresponding positions in the target storage space, perform convolution on the channel data in the plurality of filled regions to obtain convolutional data, and store the convolutional data in the corresponding positions in the target storage space.

7. The data processing apparatus as described in claim 6, characterized in that, The data processing device further includes a parameter unit for recording operation type, interval information and weight, wherein the operation type is an operation on the non-filled region or an operation on the filled region, the interval information is the data location information in the non-filled region, the filled region and the target storage space, and the weight is the convolution weight for the filled region.

8. The data processing apparatus as described in claim 7, characterized in that, The splicing unit and the execution unit operate online, while the analysis unit and the parameter unit operate offline.

9. An electronic device, characterized in that, The electronic device includes: a processor, and a memory coupled to the processor, the memory for storing a computer program; and the processor for executing the computer program stored in the memory to cause the electronic device to perform the data processing method as described in any one of claims 1-5.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium includes a computer program or instructions that, when executed on a computer, cause the computer to perform the data processing method as described in any one of claims 1-5.