Power grid data processing method based on self-defined operator adaptation and related equipment
By developing custom operators in the Atlas computing platform and integrating them into the neural network model for power grid data processing, the problems of low computational efficiency and accuracy in intelligent inspection of power grid equipment were solved, and high efficiency and accuracy in power grid data processing were achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- RES INST OF TSINGHUA PEARL RIVER DELTA
- Filing Date
- 2025-12-18
- Publication Date
- 2026-04-21
AI Technical Summary
The Atlas computing platform suffers from low computational efficiency and accuracy in intelligent inspection scenarios of power grid equipment. Its general operators are insufficient for extracting features from small targets, and it has poor suppression of interference from complex backgrounds. Custom operators are complex to develop and difficult to iterate and deploy quickly.
By acquiring target business application scenarios in the power grid field, analyzing functional requirements, developing custom operators and integrating them into a neural network model, programming them using the TBE TIK programming language, integrating preset optimization strategies, and deploying them to Atlas chip devices after simulation testing, the operator adaptability and data processing efficiency are improved.
It improves the accuracy and efficiency of power grid data processing, enhances the compatibility of custom operators in the Atlas platform with mainstream frameworks, and meets the actual needs of the power grid industry.
Smart Images

Figure CN121901565A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the fields of artificial intelligence and power system technology, and in particular to a power grid data processing method and related equipment based on custom operator adaptation. Background Technology
[0002] Among related technologies, the Atlas computing platform provides a full-scenario AI infrastructure solution for "edge, cloud, and device," possessing numerous advantages such as controllability, a complete ecosystem, and superior performance. It effectively supports the research, exploration, and application of edge-cloud collaborative computing models in the power grid, making it the preferred hardware platform for promoting the intelligent transformation of the power grid. However, due to the need for customized development in implementation and application of the Atlas computing platform, particularly in areas such as AI model adaptability and cross-platform compatibility, and optimization in computing resource management and scheduling, the Atlas computing platform cannot fully meet the actual needs of the power grid industry. Currently, in complex scenarios such as intelligent inspection of power grid equipment, the general operators provided by the Atlas computing platform are not optimized for specific industry scenarios, resulting in low computational efficiency and accuracy when processing distribution network inspection tasks. Furthermore, models converted from mainstream deep learning frameworks may experience a decline in the overall performance of neural network models when running on Atlas chips due to unsupported or poorly performing operators, thereby reducing the efficiency and accuracy of distribution network inspection data processing. For example, in tasks such as identifying missing insulators in transmission lines using general operators, the general operators' insufficient ability to extract features from small targets and poor suppression of interference from complex backgrounds lead to missed detections and false detections in models using general operators for identifying missing insulators in transmission lines. Furthermore, the computational efficiency and accuracy cannot meet the requirements of actual business operations. In addition, the development of custom operators involves low-level hardware knowledge, and existing development methods place high demands on developers and are decoupled from upper-level tasks, making rapid iteration and deployment in distribution network data processing difficult.
[0003] In summary, the technical problems existing in the relevant technologies need to be improved. Summary of the Invention
[0004] The main objective of this application is to propose a power grid data processing method and related equipment based on custom operator adaptation, which can improve the compatibility of custom operators in the Atlas platform with mainstream frameworks, thereby improving the efficiency and accuracy of power grid data processing.
[0005] To achieve the above objectives, one aspect of this application proposes a power grid data processing method based on custom operator adaptation, the method comprising the following steps: Identify target business application scenarios in the power grid sector; The target business application scenario is analyzed to obtain functional requirement information; Based on the functional requirements information, determine the custom operator and the corresponding performance optimization target; Based on the performance optimization goals, the custom operator is programmed using the TBE TIK programming language to obtain the custom operator code; Create an operator project based on the custom operator code, and perform simulation tests on the custom operator based on the operator project; The custom operator, after passing the simulation test, is integrated into the neural network model corresponding to the target business application scenario to obtain the target neural network model. The target neural network model is converted into an OM model using a preset model conversion tool; Deploy the OM model to the target device based on the Atlas chip; Power grid data processing is performed on target devices equipped with the aforementioned OM model.
[0006] In some embodiments, the step of programming the custom operator based on the TBE TIK programming language to obtain custom operator code according to the performance optimization target includes: The custom operator is programmed using the TBE TIK programming language; Based on the performance optimization goals, preset optimization strategies are integrated during the programming process to obtain the custom operator code.
[0007] In some embodiments, integrating a preset optimization strategy during the programming process according to the performance optimization objective includes: When the custom operator is a computationally intensive operator, loop partitioning logic, data vector loading logic, and double buffering logic are integrated into the programming process according to the performance optimization goal. When the custom operator is a memory-intensive operator, a block strategy and data arrangement format are integrated into the programming process according to the performance optimization goal; When the custom operator is a vision task operator, OpenCV functions for image processing are integrated into the programming process according to the performance optimization objective.
[0008] In some embodiments, the circular block logic is used to decompose the computation of large blocks of data into multiple smaller blocks for processing; the data vector loading logic is used to implement the function of processing multiple data elements in one instruction; and the double buffering logic is used to overlap data handling and data computation to hide memory access.
[0009] In some embodiments, the OpenCV function is used to implement preprocessing logic or postprocessing logic for the input image; The preprocessing logic is used to process the raw data before it is input into the neural network model. The post-processing logic is used to filter, optimize, and interpret the output of the neural network model.
[0010] In some embodiments, the step of creating an operator project based on the custom operator code and performing simulation testing on the custom operator based on the operator project includes: Create an operator project in the preset AI development integrated environment and configure the cross-compilation environment; The custom operator code is compiled into a computing core that can be executed in the AI processor corresponding to the preset AI development integration environment, and the prototype definition and information library file of the custom operator are constructed. The custom operator was simulated and tested.
[0011] In some embodiments, the simulation test of the custom operator includes: The custom operator was tested in a simulation environment to verify the correctness of its computational logic. The custom operator was tested on a hardware device to verify its functionality and performance in the model inference process.
[0012] To achieve the above objectives, another aspect of this application proposes a power grid data processing device based on custom operator adaptation, the device comprising: The first module is used to acquire target business application scenarios in the power grid field; The second module analyzes the target business application scenarios to obtain functional requirement information; The third module determines the custom operator and the corresponding performance optimization target based on the functional requirement information. The fourth module involves programming the custom operator based on the TBE TIK programming language according to the performance optimization target, to obtain the custom operator code. The fifth module involves creating an operator project based on the custom operator code and performing simulation tests on the custom operator based on the operator project. The sixth module integrates the custom operators that have passed the simulation test into the neural network model corresponding to the target business application scenario to obtain the target neural network model; The seventh module converts the target neural network model into an OM model using a preset model conversion tool; The eighth module is used to deploy the OM model to the target device based on the Atlas chip; The ninth module performs power grid data processing using target devices that have the OM model deployed on them.
[0013] To achieve the above objectives, another aspect of this application provides an electronic device, which includes a memory and a processor. The memory stores a computer program, and the processor executes the computer program to implement the method described above.
[0014] To achieve the above objectives, another aspect of the embodiments of this application proposes a computer-readable storage medium storing a computer program that, when executed by a processor, implements the methods described above.
[0015] To achieve the above objectives, another aspect of the embodiments of this application proposes a computer program product, including a computer program that, when executed by a processor, implements the aforementioned method.
[0016] The embodiments of this application include at least the following beneficial effects: This application provides a power grid data processing method and related equipment based on custom operator adaptation. This solution obtains the target business application scenario in the power grid field, analyzes the target business application scenario to obtain functional requirement information, determines the custom operator and the corresponding performance optimization target based on the functional requirement information, so that the custom operator can be applied to the power grid field. Then, based on the performance optimization target, the custom operator is programmed based on the TBE TIK programming language to obtain the custom operator code. An operator project is created based on the custom operator code, and the custom operator is simulated and tested based on the operator project. The custom operator that passes the simulation test is integrated into the neural network model corresponding to the target business application scenario to obtain the target neural network model. This allows the target neural network model to use the function of the custom operator to improve the efficiency and accuracy of corresponding data processing in the power grid field. Then, the target neural network model is converted into an OM model through a preset model conversion tool, and the OM model is deployed on the target device based on the Atlas chip. This can improve the compatibility of the custom operator in the Atlas platform with the mainstream framework. Then, power grid data processing is performed through the target device with the OM model deployed, thereby effectively improving the accuracy and efficiency of power grid data processing. Attached Figure Description
[0017] Figure 1 This is a flowchart of a power grid data processing method based on custom operator adaptation provided in an embodiment of this application; Figure 2 This is the overall flowchart of the custom operator adaptation provided in the embodiments of this application; Figure 3 This is a flowchart of the operator implementation based on the TBE TIK programming language provided in the embodiments of this application; Figure 4 This is a schematic diagram of the architecture for the collaborative deployment of custom operators and neural network models provided in the embodiments of this application; Figure 5 This is a flowchart provided in an embodiment of this application before using a custom operator; Figure 6 This is a flowchart using a custom operator provided in an embodiment of this application; Figure 7 This is a schematic diagram of the structure of the power grid data processing device based on custom operator adaptation provided in the embodiments of this application; Figure 8 This is a schematic diagram of the hardware structure of the electronic device provided in the embodiments 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 of this application and are not intended to limit it. In the following description, when referring to the accompanying drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with those of this application; they are merely examples of apparatuses and methods consistent with some aspects of the embodiments of this application as detailed in the appended claims.
[0019] It is understood that the terms “first,” “second,” etc., used in this application may be used herein to describe various concepts, but unless otherwise stated, these concepts are not limited by these terms. These terms are only used to distinguish one concept from another. For example, without departing from the scope of the embodiments of this application, first information may also be referred to as second information, and similarly, second information may also be referred to as first information. Depending on the context, the words “if,” “when,” or “in response to a determination” as used herein may be interpreted as “when…” or “when…” or “in response to a determination.”
[0020] As used in this application, the terms "at least one", "multiple", "each", "any", etc., "at least one" includes one, two or more, "multiple" includes two or more, "each" refers to each of the corresponding multiples, and "any" refers to any one of the multiples.
[0021] 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.
[0022] Before providing a detailed description of the embodiments of this application, some of the nouns and terms used in the embodiments of this application will be explained first. The nouns and terms used in the embodiments of this application shall be interpreted as follows: Operator engineering is a standardized development and delivery system built around operators in deep learning, covering the entire lifecycle from operator implementation, compilation and deployment, single operator invocation, to graph pattern integration. The core goal of operator engineering is to enable operators to be stably and reusably invoked within AI software stacks such as Ascend CANN, while balancing performance and maintainability. Engineered operator development typically relies on automatically generated custom operator projects to complete code organization, registration, compilation, and deployment, facilitating integration with single operator APIs (aclnn) and framework graph patterns.
[0023] MindStudio is a full-process AI development toolchain designed specifically for Ascend AI processors, providing a one-stop solution from operator development to application deployment.
[0024] The TBE TIK (Tensor Boost Engine Tensor Iterator Kernel) programming language is an operator development language provided by the Ascend platform, which can be presented as a Python module.
[0025] The OM model refers to the offline inference format and accompanying inference process for Huawei's Ascend AI processor. OM models are typically obtained by converting original models (such as PyTorch / ONNX / TensorFlow) using ATC (Ascend TensorCompiler) for efficient inference on Ascend hardware.
[0026] Among related technologies, the Atlas AI computing platform, with its Ascend series AI processors and cutting-edge heterogeneous computing technology, provides a complete end-to-end AI infrastructure solution, offering strong technical support for the intelligent transformation of various industries. Compared to traditional computing systems based on external technologies like Nvidia, the Atlas AI computing platform significantly reduces reliance on external technologies, enhancing technological autonomy and information security. Through deep hardware and software integration and customized solutions, the Atlas platform offers more flexible adaptability than Nvidia chip systems, meeting the needs of different industries and application scenarios, thereby improving computing efficiency and application flexibility. Simultaneously, the Atlas platform can accurately adapt to the intelligent transformation needs of enterprises, providing solid technical support and practical examples for the modernization and upgrading of infrastructure such as power grids.
[0027] The Atlas computing platform provides a full-scenario AI infrastructure solution for "edge, cloud, and device" computing, boasting advantages such as controllability, a robust ecosystem, and superior performance. It effectively supports the research, exploration, and application of edge-cloud collaborative computing models in the power grid, making it the preferred hardware platform for promoting the intelligent transformation of the power grid. However, the Atlas computing platform still cannot fully meet the actual needs of the power industry in terms of implementation and application. Customized development is required in areas such as AI model adaptability and cross-platform compatibility, and optimization in computing resource management and scheduling. Currently, the Atlas computing platform has the following shortcomings when applied to complex scenarios such as intelligent inspection of power grid equipment: 1. Insufficient performance of general operators: The general operators provided by the platform are not optimized for specific industry scenarios. When handling specific tasks in power grid monitoring (such as fault feature extraction, segmentation of adhered targets, and identification of small defects), the computational efficiency and accuracy cannot reach the optimal level.
[0028] 2. Poor model compatibility on Atlas chips: Models converted from mainstream deep learning frameworks (such as PyTorch and TensorFlow) may experience a decline in overall model performance when running on Atlas chips due to operator incompatibility or poor performance, thus failing to fully utilize the hardware acceleration capabilities.
[0029] 3. Complex development process: The development of custom operators involves low-level hardware knowledge. Traditional development methods have high requirements for developers and are decoupled from upper-level business applications, making it difficult to iterate and deploy quickly.
[0030] This shows that the Atlas computing platform lacks high-performance operators for power sector algorithms, resulting in low accuracy of power grid data processing based on Atlas chips.
[0031] In view of this, this application provides a power grid data processing method and related equipment based on custom operator adaptation. This solution can efficiently develop, optimize and adapt high-performance custom operators for specific industries, so as to fully release the computing power potential of Atlas chips, improve the compatibility of custom operators in the Atlas platform with mainstream frameworks, and thus improve the accuracy of power grid data processing.
[0032] The power grid data processing method based on custom operator adaptation provided in this application relates to the fields of artificial intelligence and power system technology. This method can be applied to a terminal, a server, or software running on either a terminal or a server. In some embodiments, the terminal can be a smartphone, tablet, laptop, desktop computer, smart speaker, smartwatch, or vehicle terminal, but is not limited to these. The server can be configured as an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms. The server can also be a node server in a blockchain network. The software can be an application implementing the power grid data processing method based on custom operator adaptation, but is not limited to the above forms.
[0033] This application can be used in a wide variety of general-purpose or special-purpose computer system environments or configurations. Examples include: personal computers, server computers, handheld or portable devices, tablet devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronics devices, network PCs, minicomputers, mainframe computers, and distributed computing environments including any of the above systems or devices. This application can be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform specific tasks or implement specific abstract data types. This application can also be practiced in distributed computing environments where tasks are performed by remote processing devices connected via a communication network. In distributed computing environments, program modules can reside in local and remote computer storage media, including storage devices.
[0034] Understandably, to address the aforementioned shortcomings, this application's embodiments combine various application scenarios in the power transmission and transformation field to collect more diverse power transmission and transformation scenario data for training the Atlas neural network model, thereby improving its generalization ability. Simultaneously, for complex environments, the Atlas neural network model is improved, enhancing its ability to withstand adverse factors such as changes in lighting and weather interference. To address the difficulty of fine feature recognition, a more refined feature extraction method is provided through a custom operator, selecting features more critical to the recognition task. Specifically, an operator named InsulatorPostProcess (insulator post-processing operator) is developed using the TBE TIK programming language as a custom operator. After receiving the feature map output from the backbone network of the neural network model, this operator performs the following operations on the AI Core: Parallel computing units are used to quickly fuse multi-scale feature maps (replacing the inefficient upsampling operation in the original model). Integrate a lightweight attention computing module to enhance the feature response of the insulator region; For the predicted bounding boxes output by the model, the OpenCV-based fast nonmaximum suppression (NMS) algorithm is executed to optimize the post-processing speed.
[0035] The above process is precisely the implementation of a more refined feature extraction method: 1. Multi-scale feature map fusion: By fusing feature maps from different levels, this approach balances detailed and semantic information, improving the ability to identify small targets (such as insulators). It replaces the inefficient and information-loss-prone upsampling operation in the original model, achieving more refined and efficient feature extraction.
[0036] 2. Lightweight Attention Module: Introduces an attention mechanism to adaptively enhance the feature response of the target region (insulator), suppress background interference, and make the model focus more on the feature regions that are more critical to the recognition task.
[0037] As can be seen from the above, the method of this application embodiment effectively solves the problem of "difficulty in recognizing fine features" and improves the recognition accuracy and robustness of the model in complex scenarios.
[0038] Simultaneously, transfer learning is performed using models trained in other similar scenarios to accelerate the training process of Atlas in power transmission and transformation scenarios. A real-time feedback mechanism is also established to continuously adjust and optimize the recognition algorithm and parameters based on Atlas's performance in practical applications. The realization of these technical measures relies on in-depth and systematic research into neural network switching technology and AI operator development to obtain artificial intelligence algorithms with stronger scenario adaptability and higher computational efficiency, better promoting the intelligent application of the Atlas computing platform in the power industry. Targeting the characteristics of power transmission and transformation scenarios, a neural network model suitable for these scenarios is designed, including the model's structure, parameters, and training methods. The training process of the neural network model is implemented using a deep learning framework, combined with the acceleration capabilities of the Atlas computing platform to improve the training and inference speed of the model. Furthermore, high-performance custom operators are designed based on specific needs, including the operator's computational logic, data structure, and memory management.
[0039] It is understood that the embodiments of this application provide a power grid data processing method based on custom operator adaptation. For example... Figure 1 As shown, the method in this application embodiment may include, but is not limited to, steps S110 to S190: Step S110: Obtain the target business application scenarios in the power grid field; Step S120: Analyze the target business application scenario to obtain functional requirement information; Step S130: Determine the custom operator and the corresponding performance optimization target based on the functional requirements information; Step S140: Based on the performance optimization goal, program the custom operator using the TBE TIK programming language to obtain the custom operator code; Step S150: Create an operator project based on the custom operator code, and perform simulation tests on the custom operator based on the operator project; Step S160: Integrate the custom operator that has passed the simulation test into the neural network model corresponding to the target business application scenario to obtain the target neural network model; Step S170: Convert the target neural network model into an OM model using a preset model conversion tool; Step S180: Deploy the OM model to the target device based on the Atlas chip; Step S190: Perform power grid data processing on the target device with the OM model deployed.
[0040] It is understood that the target business application scenario in this embodiment can be a smart inspection scenario in the power industry, including but not limited to at least one of the following: identification of missing insulators on transmission lines, identification of equipment status in substations, and segmentation of large vehicle adhesion targets in transmission channels. After determining the target business application scenario in the power grid field, this embodiment analyzes the computational bottlenecks and business requirements of the target business application scenario to determine the functional requirements information of the custom operator to be developed. The functional requirements information may include, but is not limited to, information such as functions, input / output data types and formats. Then, based on the functional requirements information, the custom operator to be developed and its corresponding performance optimization objectives are determined. These performance optimization objectives may include, but are not limited to, objectives such as computational latency, memory usage, power consumption, and recognition accuracy.
[0041] It is understandable that this embodiment develops the custom operator after determining the performance optimization target. For example... Figure 2 As shown, in this embodiment, the development methods for custom operators include, but are not limited to, implementations using the TEBDSL programming language, the TEB TIK programming language, or the AI CPU programming language. Taking the TEB TIK programming language implementation as an example, this embodiment can use the Ascend operator development toolchain and implement custom operators using the TEB TIK programming language. During the implementation of custom operators, the computational units, memory hierarchy, and data flow in the AI Core are explicitly managed to achieve instruction-level parallelism and data-level parallelism optimization. To achieve the performance optimization goals of the custom operators obtained above, this embodiment integrates preset optimization strategies during the programming process to obtain the corresponding custom operator code.
[0042] Understandably, when a custom operator is computationally intensive, loop-based chunking logic, data vector loading logic, and double buffering logic are integrated into the programming process to hide memory access latency, based on performance optimization goals. The specific data processing within these three key optimization techniques—loop-based chunking, data vectorization loading, and double buffering—can be understood as a highly efficient "data processing pipeline" organized on the AI Core (computing core).
[0043] Specifically, for the cyclic tiling logic, the goal of this embodiment is to decompose the computation of large blocks of data (such as a large tensor) into multiple smaller blocks for processing, so as to make full use of the high-speed local memory and avoid frequent access to the slow global memory.
[0044] The specific data processing steps include, but are not limited to, the following stages: (1) Partitioning stage: Suppose there is a very large input tensor (e.g., a feature map of a high-resolution image) that needs to be convolved or multiplied by a matrix. The Tiling strategy will logically divide this large computational task into multiple small data blocks (Tiles) that can be placed in the cache, based on the size of the local cache on the AI Core. At the same time, the loop structure will also be rewritten accordingly into multi-level nested loops, with the outer loop traversing these data blocks and the inner loop performing computation within a data block.
[0045] (2) Execution phase: Load block: Load a data block that needs to be processed from the slow global memory into the high-speed local cache; Computation Block: On the AI Core, intensive computations (such as multiply-accumulate operations) are performed on this data block that already exists in the local cache. Because the data is readily available, the computation unit does not need to wait and can run at full speed; Write block: Writes the calculation result of the current data block from the local cache back to global memory.
[0046] Loop to the next block: Move to the next data block and repeat the "load-compute-write" process until all data blocks have been processed.
[0047] For the data vectorization loading logic, the goal of this embodiment is to enable the CPU / AI Core to process multiple data elements in a single instruction, so as to maximize the utilization of computing bandwidth.
[0048] The specific data processing procedures include, but are not limited to: (1) Identification and Alignment: In the code, developers will identify data access patterns that can be processed in parallel. Typically, these data are arranged contiguously in memory. Ensuring that data addresses meet the memory alignment requirements of the hardware is a prerequisite for achieving efficient vectorized loading.
[0049] (2) Single Instruction Multiple Data Load: Instead of using ordinary scalar load instructions (which load only one float data at a time), the vector load instructions provided by the hardware are used. For example, a single vload instruction can load all 16 float data (assuming a vector length of 16) from contiguous memory into a vector register at once.
[0050] (3) Vectorized computation: The computation unit (such as the Vector Unit) now has a complete vector register containing multiple data. Subsequently, it can perform single-instruction multiple-data operations, such as a vector multiplication instruction that can perform 16 pairs of float multiplication operations simultaneously.
[0051] For double buffering logic, the goal of this embodiment is to overlap the data movement (from global memory to local cache) and computation processes to hide the latency of memory access.
[0052] The specific data processing procedures include, but are not limited to: (1) Allocate buffers: In local buffers, two buffers (Buffer A and Buffer B) are allocated for the same block of data instead of one.
[0053] (2) Assembly line work: Phase 1 (Initiation): Initiate Transfer: Start the DMA (Direct Memory Access) operation, loading the first data block from global memory into Buffer A. Calculation: (At this time, the calculation unit is waiting; there is no data to calculate).
[0054] Phase 2 (Overlap Start): Initiate Transfer: While Buffer A is being filled, immediately initiate a DMA request to load the second data block into Buffer B. Calculation: At this point, the first data block has been loaded, and the computation unit begins processing the data in Buffer A. Data loading (for the second block) and computation (processing the first block) occur simultaneously.
[0055] Phase 3 (Stable Overlap): Initiate Transfer: While processing Buffer A, the computation unit initiates a request to load the third data block into Buffer A (overwriting old data). Computation: After processing Buffer A, the computation unit immediately switches to processing the prepared Buffer B.
[0056] This process repeats itself, with the computing unit always processing one buffer and the DMA always loading the next batch of data into another buffer. Both operate in parallel to reduce the idle waiting time of the computing unit.
[0057] Specifically, the execution processes of the loop-based block logic, the data vector loading logic, and the double-buffering logic typically work together and loop within a single Tiling. Their coordinated execution process includes, but is not limited to, the following steps: (1) The outer loop determines the next block of data to be processed.
[0058] (2) Using a double buffering mechanism, the next data block is loaded asynchronously into the spare buffer while the computing unit processes the current buffer.
[0059] (3) When processing the current buffer, use data vectorization loading to quickly load data from the local cache into the vector register for calculation.
[0060] This embodiment, through this precise coordination, maximizes the computing power of the Atlas chip to improve the data processing efficiency of custom operators in applications.
[0061] Specifically, when the custom operator is a memory-intensive operator, a block strategy and data arrangement format are integrated into the programming process according to performance optimization goals (such as converting the NCHW format to the NC1HWC0 format to match the hardware), and local memory is used to reduce interaction with global memory. The content of the local buffer must be the input, output, and intermediate data necessary for the current Tiling computation block. Furthermore, it is not random; the data selection is based on the block strategy and data arrangement format, consisting of contiguous data blocks with high spatial locality precisely specified by the programmer through code.
[0062] Specifically, when the custom operator is a vision task operator, OpenCV functions for image processing are integrated into the programming process according to the performance optimization goal, so as to implement the preprocessing logic or post-processing logic of the input image through OpenCV functions. This embodiment combines the classic and efficient algorithms of traditional computer vision libraries with the powerful feature extraction capabilities of AI neural networks, and accelerates them on a dedicated AI Core, forming complementary advantages, thereby improving data processing efficiency and accuracy.
[0063] It is understood that the preprocessing logic in this embodiment is used to process the raw data before it is input into the neural network model, making the processed raw data more suitable for the model's processing format or highlighting key information. The post-processing logic is used to filter, optimize, and interpret the output of the neural network model, thereby outputting a cleaner, more reliable, and business-logical final result. This embodiment integrates these operations into the operators obtained from the TBE TIK programming language, offloading and accelerating tasks that originally needed to be executed on the CPU to the AI Core, reducing the data transmission overhead between the CPU and the AI chip, and achieving end-to-end performance improvement.
[0064] Specifically, the goal of the preprocessing logic in this embodiment is to improve the cooling of input data and reduce obstacles to model inference. Taking image processing as an example, the preprocessing process in this embodiment includes, but is not limited to, the following steps: (1) Image normalization and color space conversion: This step involves scaling the image's pixel values from the integer range of [0, 255] to the floating-point range of [0, 1] or [-1, 1] to meet the numerical requirements of the model's input, or converting them from BGR format to RGB or YUV format. In the operator implementation based on the TBE TIK programming language, scaling and addition / subtraction operations are performed in parallel on a large number of pixel values using vectorized instructions on the AI Core. For example, a single vector instruction can process the scaling of 16 pixels simultaneously, ensuring that the input data distribution is consistent with that during model training and guaranteeing the correctness of inference.
[0065] (2) Image enhancement and filtering: This step involves applying OpenCV filters to improve image quality. Gaussian filtering / median filtering is used to eliminate noise in the image, preventing it from being misidentified as a feature by the model. Histogram equalization enhances image contrast, making details clearer, especially effective in inspection images with uneven lighting. In the operator implementation based on the TBE TIK programming language, for each output pixel, its neighboring pixels (e.g., 3x3, 5x5) are loaded in parallel from the local cache. Then, the weighted sum (Gaussian filtering) or sorted median (median filtering) operations required by the filters are performed in parallel. This improves the quality of the input image and helps the model more accurately identify fine features (such as minute cracks in insulators).
[0066] (3) Image resizing and geometric transformation: This step involves scaling the input image to a fixed size required by the model (e.g., 640x640). It may also include operations such as rotation and cropping. In the operator implementation based on the TBE TIK programming language, algorithms such as bilinear interpolation are used, allowing for parallel computation of multiple target pixel values on the AI Core. The interpolation calculation for each point (a weighted sum from its source pixel neighborhood) can be performed independently and in parallel, ensuring a consistent input size and correcting for angular deviations introduced during shooting.
[0067] It is understood that the goal of the post-processing logic in this embodiment is to refine the model output, transforming coarse predictions into accurate answers. Specifically, the execution process of the post-processing logic includes, but is not limited to: (1) Non-maximum suppression (NMS): This processing addresses the problem that object detection models (such as YOLOv5) sometimes generate multiple overlapping bounding boxes with different confidence levels for the same object. The processing procedure for this problem is as follows: Sorting: Sorting is done based on the confidence level of the predicted bounding boxes.
[0068] Filtering: Select the box with the highest confidence and then calculate its intersection-union ratio (IoU) with all other boxes.
[0069] Suppression: Remove boxes whose IoU with the highest-scoring box exceeds a certain threshold (e.g., 0.5) (as they are considered duplicate predictions).
[0070] Iteration: Repeat the above process for the remaining boxes until all boxes have been processed.
[0071] In the implementation of operators based on the TBE TIK programming language, the IoU between multiple bounding box pairs is computed in parallel on the AI Core. This allows for the vectorization and parallelization of intensive IoU calculations, resulting in efficiency far exceeding that of sequential CPU execution. This eliminates duplicate detection boxes, retaining only one optimal prediction position for each target, making the results clear and usable. This is precisely the core post-processing operation mentioned in the document's embodiments.
[0072] (2) Key point decoding and grouping: This process addresses the problem that models in pose recognition or part detection may output a bunch of disordered keypoints. The solution involves using OpenCV algorithms to connect these points into a meaningful skeleton or contour. In the operator implementation based on the TBE TIK programming language, the distances or affinities between points are calculated in parallel on the AI Core, and then clustering or grouping is performed using parallel algorithms.
[0073] (3) Contour analysis and filtering: This processing addresses the problem that segmentation models output a pixel-level segmentation mask. The solution involves using algorithms similar to OpenCV's `findContours` and `contourArea` to extract the object's contour from the mask. Then, based on geometric features such as contour area and aspect ratio, excessively small or unreasonable noise regions are filtered out. In the operator implementation using the TBE TIK programming language, the image is segmented into multiple regions, and edge points within each region are found in parallel on the AI Core. Contour aggregation is then performed, deeply integrating the algorithmic advantages of OpenCV with the computational power of the Atlas chip to achieve fast and accurate processing results in complex scenarios such as power line inspection.
[0074] It is understood that, in this embodiment, after obtaining the custom operator code, an operator project is created based on the custom operator code, and simulation testing is performed on the custom operator based on the operator project. Specifically, this embodiment can create an operator project in a preset AI development integration environment and configure a cross-compilation environment; at the same time, the custom operator code is compiled into a computing core that can be executed in the AI processor corresponding to the preset AI development integration environment, and after constructing the prototype definition and information library file of the custom operator, simulation testing is performed on the custom operator.
[0075] Specifically, the preset AI development integrated environment in this embodiment can be the MindStudio integrated development environment. By creating an operator project and configuring a cross-compilation environment within the MindStudio integrated development environment, the developed code based on the TBETIK programming language (custom operator code) is compiled into a computational core executable on the Ascend AI processor. Simultaneously, prototype definitions and information library files for the custom operator are constructed to ensure that the custom operator code can be correctly recognized and called by AI frameworks (such as MindSpore and TensorFlow). It is understood that the simulation testing process for the custom operator in this embodiment includes unit testing (UT) and system testing (ST). Unit testing in this embodiment tests the custom operator in a simulation environment to verify the correctness of its computational logic. System testing in this embodiment tests the custom operator on hardware devices to verify its functionality and performance in the complete model inference process.
[0076] It is understandable that, after completing the simulation test of the custom operator, this embodiment, as follows: Figure 3 As shown, the custom operators that pass the tests will be used to form a custom operator library. Among them, Figure 3 CCEC (such as the computation graph compilation engine in the Ascend AI processor) is a key bridge connecting high-level programming languages and low-level hardware instructions in the Ascend AI processor development system. Figure 4 As shown, a custom operator library is integrated into a neural network model optimized for the target business application scenario to form a target neural network model containing a complete AI solution. Then, a model conversion tool is used to convert the target neural network model containing custom operators into an offline model (OM) of the Ascend platform. The offline model is then deployed to edge, cloud, or terminal devices based on the Atlas chip, so that the target device with the OM model can be used to complete high-performance AI inference tasks.
[0077] In some embodiments, taking the development of a custom operator for identifying missing glass insulators in transmission lines as an example, the method of this application embodiment includes, but is not limited to, the following steps: Step 1: Functional Requirements Analysis. The target business application scenario is to accurately and quickly identify spontaneously exploded or missing glass insulators from drone aerial images. General target detection models suffer from issues such as missed detections of small targets and false detections against complex backgrounds in this task. A custom operator for feature enhancement and post-processing needs to be developed, with the optimization goal of improving mAP@0.5 and reducing inference latency.
[0078] Step 2: Custom Operator Development. Using the TBE TIK programming language, develop an operator named InsulatorPostProcess. This operator receives feature maps output from the neural network backbone and performs the following operations on the AI Core: It utilizes parallel computing units to quickly fuse multi-scale feature maps (replacing the inefficient upsampling operation in the original model). It integrates a lightweight attention computation module to enhance the feature response of the insulator region. It executes a Fast Non-Maximum Suppression (NMS) algorithm based on OpenCV on the predicted bounding boxes output by the model, optimizing post-processing speed.
[0079] Step 3: Testing and Integration of Custom Operators. Compile the custom operator in MindStudio and create UT and ST test cases to verify that its output is consistent with the CPU-based Python implementation, with a latency reduction of approximately 30%. Integrate the custom operator into the YOLOv5 network, replacing the original feature fusion and NMS modules.
[0080] Step 4: Deployment and Application. Use the ATC tool to convert the YOLOv5 model with integrated custom operators into an OM model, and then deploy it to the Atlas 200 DK edge device.
[0081] like Figure 5 The original workflow shown in this embodiment does not deploy the custom algorithm. In this workflow, the input UAV aerial image is processed by the YOLOv5 model corresponding to the general operator. Because this YOLOv5 model is not optimized for the insulator task, the output recognition results suffer from typical problems such as missed detection of small targets, false detection of background, and feature blurring. The final performance metrics are 95% mAP and 120ms inference time. These performance metrics indicate that the YOLOv5 model corresponding to the general operator suffers from low recognition accuracy and slow inference speed when processing images. Figure 6 The deployment of the customized algorithm in this embodiment of the application is shown as an optimized process. This process incorporates the InsulatorPostProcess custom operator, which utilizes three key technologies: multi-scale feature fusion, a lightweight attention module, and fast NMS. Figure 6It can be seen that when images captured by drones are input into the YOLOv5 model optimized by custom operators for image processing, small target recognition can be effectively and accurately completed, background interference suppression is performed, and features are significantly enhanced. Performance metrics show that the model optimized by custom operators improves mAP to 98.6% and reduces inference time to 85ms during image processing. Figure 5 and Figure 6 The experimental results show that, compared with the original YOLOv5 model using general operators, the model integrated with custom operators in this application improves the mAP@0.5 from 95% to 98.6% in the insulator missing identification task, and reduces the average inference time per image from 120ms to 85ms, significantly improving the recognition accuracy and processing speed.
[0082] As can be seen from the above, the method of this application embodiment has the following beneficial effects: High performance: By using the TBE TIK programming language for low-level hardware programming, the parallel computing capabilities and memory system of the Atlas chip are fully utilized. Compared with general operators, the method in this embodiment can achieve significant performance improvement on specific tasks (e.g., recognition speed is increased by several times and energy consumption is reduced by more than 10%).
[0083] High adaptability: The operator development in this embodiment is closely integrated with business scenarios and model structure, which solves the performance loss problem when migrating the model from a general framework to the Atlas platform, and ensures the unity of algorithm performance and hardware efficiency.
[0084] Standardization and ease of use: This embodiment provides a complete methodology and toolchain from requirements analysis to deployment, which lowers the development threshold of custom operators and improves development efficiency and code maintainability.
[0085] Industry relevance: Especially in the field of intelligent power operation and maintenance, the custom operators developed by the method in this embodiment (such as the YOLOv5 optimized operator for insulator missing identification and the adhesion processing operator for vehicle segmentation) effectively solve the identification problem in complex environments and improve the accuracy and real-time performance of inspections.
[0086] Please see Figure 7 This application also provides a power grid data processing device based on custom operator adaptation, the device comprising: The first module is used to acquire target business application scenarios in the power grid field; The second module analyzes the target business application scenarios to obtain functional requirement information; The third module determines the custom operators and their corresponding performance optimization targets based on the functional requirements information. The fourth module involves programming custom operators using the TBE TIK programming language based on performance optimization goals to obtain custom operator code. The fifth module involves creating an operator project based on the custom operator code and performing simulation tests on the custom operator based on the operator project. The sixth module integrates the custom operators that have passed the simulation test into the neural network model corresponding to the target business application scenario to obtain the target neural network model; The seventh module converts the target neural network model into an OM model using a preset model conversion tool; The eighth module is used to deploy the OM model to the target device based on the Atlas chip; The ninth module processes power grid data using target devices deployed with OM models.
[0087] It is understood that the content of the above method embodiments is applicable to the present device embodiments. The specific functions implemented by the present device embodiments are the same as those of the above method embodiments, and the beneficial effects achieved are also the same as those achieved by the above method embodiments.
[0088] This application also provides an electronic device, which includes a memory and a processor. The memory stores a computer program, and the processor executes the computer program to implement the above-described method. This electronic device can be any smart terminal, including tablet computers, in-vehicle computers, etc.
[0089] It is understood that the content of the above method embodiments is applicable to this device embodiment. The specific functions implemented by this device embodiment are the same as those of the above method embodiments, and the beneficial effects achieved are also the same as those achieved by the above method embodiments.
[0090] Please see Figure 8 , Figure 8 The hardware structure of an electronic device according to another embodiment is illustrated. The electronic device includes: The processor 810 can be implemented using a general-purpose CPU (Central Processing Unit), microprocessor, application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of this application. The memory 820 can be implemented as a read-only memory (ROM), a static storage device, a dynamic storage device, or a random access memory (RAM). The memory 820 can store the operating system and other applications. When the technical solutions provided in the embodiments of this specification are implemented through software or firmware, the relevant program code is stored in the memory 820 and is called and executed by the processor 810 using the methods described in the embodiments of this application. The input / output interface 830 is used to implement information input and output; The communication interface 840 is used to enable communication and interaction between this device and other devices. Communication can be achieved through wired means (such as USB, Ethernet cable, etc.) or wireless means (such as mobile network, WIFI, Bluetooth, etc.). Bus 850 transmits information between various components of the device (e.g., processor 810, memory 820, input / output interface 830, and communication interface 840); The processor 810, memory 820, input / output interface 830 and communication interface 840 are connected to each other within the device via bus 850.
[0091] This application also provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the above-described method.
[0092] It is understood that the content of the above method embodiments is applicable to this storage medium embodiment. The specific functions implemented in this storage medium embodiment are the same as those in the above method embodiments, and the beneficial effects achieved are also the same as those achieved in the above method embodiments.
[0093] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the above-described method.
[0094] It is understood that the content of the above method embodiments is applicable to the embodiments of this program product. The specific functions implemented by the embodiments of this program product are the same as those of the above method embodiments, and the beneficial effects achieved are also the same as those achieved by the above method embodiments.
[0095] Memory, as a non-transitory computer-readable storage medium, can be used to store non-transitory software programs and non-transitory computer-executable programs. Furthermore, memory may include high-speed random access memory, and may also include non-transitory memory, such as at least one disk storage device, flash memory device, or other non-transitory solid-state storage device. In some embodiments, memory may optionally include memory remotely located relative to the processor, and these remote memories can be connected to the processor via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
[0096] This application provides a power grid data processing method and related equipment based on custom operator adaptation. By acquiring target business application scenarios in the power grid field, analyzing these scenarios to obtain functional requirements, and then determining custom operators and their corresponding performance optimization targets based on these requirements, the method ensures the custom operators are applicable to the power grid field. Next, based on the performance optimization targets, the custom operators are programmed using the TBE TIK programming language to obtain custom operator code. An operator project is created based on the custom operator code, and simulation testing is performed on the custom operators. The custom operators that pass the simulation test are integrated into the neural network model corresponding to the target business application scenario to obtain the target neural network model. This allows the target neural network model to utilize the functionality of the custom operators to improve the efficiency and accuracy of corresponding data processing in the power grid field. Then, the target neural network model is converted into an OM model using a preset model conversion tool. The OM model is then deployed to the target device based on the Atlas chip, improving the compatibility of the custom operators with mainstream frameworks on the Atlas platform. Finally, power grid data processing is performed on the target device with the deployed OM model, thereby effectively improving the accuracy of power grid data processing.
[0097] The embodiments described in this application are for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided by the embodiments of this application. As those skilled in the art will know, with the evolution of technology and the emergence of new application scenarios, the technical solutions provided by the embodiments of this application are also applicable to similar technical problems.
[0098] Those skilled in the art will understand that the technical solutions shown in the figures do not constitute a limitation on the embodiments of this application, and may include more or fewer steps than shown, or combine certain steps, or different steps.
[0099] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs.
[0100] Those skilled in the art will understand that all or some of the steps in the methods disclosed above, as well as the functional modules / units in the systems and devices, can be implemented as software, firmware, hardware, or appropriate combinations thereof.
[0101] The terms “first,” “second,” “third,” “fourth,” etc. (if present) in the specification and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms “comprising” and “having,” and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0102] It should be understood that in this application, "at least one (item)" means one or more, and "more than" means two or more. "And / or" is used to describe the relationship between related objects, indicating that three relationships can exist. For example, "A and / or B" can represent three cases: only A exists, only B exists, and both A and B exist simultaneously, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one (item) of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one (item) of a, b, or c can represent: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, and c can be single or multiple.
[0103] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of the units described above is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.
[0104] The units described above as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0105] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0106] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes multiple instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing programs, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0107] The preferred embodiments of the present application have been described above with reference to the accompanying drawings, but this does not limit the scope of the claims of the present application. Any modifications, equivalent substitutions, and improvements made by those skilled in the art without departing from the scope and substance of the embodiments of the present application shall be within the scope of the claims of the present application.
Claims
1. A power grid data processing method based on custom operator adaptation, characterized in that, The method includes the following steps: Identify target business application scenarios in the power grid sector; The target business application scenario is analyzed to obtain functional requirement information; Based on the functional requirements information, determine the custom operator and the corresponding performance optimization target; Based on the performance optimization goals, the custom operator is programmed using the TBE TIK programming language to obtain the custom operator code; Create an operator project based on the custom operator code, and perform simulation tests on the custom operator based on the operator project; The custom operator, after passing the simulation test, is integrated into the neural network model corresponding to the target business application scenario to obtain the target neural network model. The target neural network model is converted into an OM model using a preset model conversion tool; Deploy the OM model to the target device based on the Atlas chip; Power grid data processing is performed on target devices equipped with the aforementioned OM model.
2. The method according to claim 1, characterized in that, The step of programming the custom operator based on the TBE TIK programming language according to the performance optimization target to obtain the custom operator code includes: The custom operator is programmed using the TBE TIK programming language; Based on the performance optimization goals, preset optimization strategies are integrated during the programming process to obtain the custom operator code.
3. The method according to claim 2, characterized in that, The integration of preset optimization strategies during the programming process according to the performance optimization target includes: When the custom operator is a computationally intensive operator, loop partitioning logic, data vector loading logic, and double buffering logic are integrated into the programming process according to the performance optimization goal. When the custom operator is a memory-intensive operator, a block strategy and data arrangement format are integrated into the programming process according to the performance optimization goal; When the custom operator is a vision task operator, OpenCV functions for image processing are integrated into the programming process according to the performance optimization objective.
4. The method according to claim 3, characterized in that, The loop-based block-based logic is used to decompose the computation of large blocks of data into multiple smaller blocks for processing; the data vector loading logic is used to implement the function of processing multiple data elements in one instruction; the double-buffering logic is used to overlap data handling and data computation to hide memory access.
5. The method according to claim 3, characterized in that, The OpenCV functions are used to implement preprocessing or postprocessing logic for the input image; The preprocessing logic is used to process the raw data before it is input into the neural network model. The post-processing logic is used to filter, optimize, and interpret the output of the neural network model.
6. The method according to claim 1, characterized in that, The step of creating an operator project based on the custom operator code and performing simulation testing on the custom operator based on the operator project includes: Create an operator project in the preset AI development integrated environment and configure the cross-compilation environment; The custom operator code is compiled into a computing core that can be executed in the AI processor corresponding to the preset AI development integration environment, and the prototype definition and information library file of the custom operator are constructed. The custom operator was simulated and tested.
7. The method according to claim 6, characterized in that, The simulation test of the custom operator includes: The custom operator was tested in a simulation environment to verify the correctness of its computational logic. The custom operator was tested on a hardware device to verify its functionality and performance in the model inference process.
8. A power grid data processing device based on custom operator adaptation, characterized in that, The device includes: The first module is used to acquire target business application scenarios in the power grid field; The second module analyzes the target business application scenarios to obtain functional requirement information; The third module determines the custom operator and the corresponding performance optimization target based on the functional requirement information. The fourth module involves programming the custom operator based on the TBE TIK programming language according to the performance optimization target, to obtain the custom operator code. The fifth module involves creating an operator project based on the custom operator code and performing simulation tests on the custom operator based on the operator project. The sixth module integrates the custom operators that have passed the simulation test into the neural network model corresponding to the target business application scenario to obtain the target neural network model; The seventh module converts the target neural network model into an OM model using a preset model conversion tool; The eighth module is used to deploy the OM model to the target device based on the Atlas chip; The ninth module performs power grid data processing using target devices that have the OM model deployed on them.
9. An electronic device, characterized in that, include: At least one processor; At least one memory for storing at least one program; When the at least one program is executed by the at least one processor, the at least one processor implements the method as described in any one of claims 1 to 7.
10. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the method of any one of claims 1 to 7.