Model maintenance method and device, equipment, storage medium and program product
By registering hook functions in the deep learning neural network model and building a hierarchical tree structure, the maintenance difficulties caused by opaque calls of operators in the model are solved, and accurate backtracking and efficient maintenance of operators are achieved.
Patent Information
- Application Number
- CN202411647478.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-15
- Publication Date
- 2025-02-25
AI Technical Summary
During the forward propagation or backpropagation process of deep learning neural network models, the operator call may be opaque, which makes it difficult to position and backtrack the operator in case of errors or exceptions, resulting in difficulty in maintaining and managing the model.
By registering a hook function in at least one module of the model, the hook function is used to extract the module's execution information during the model operation, and dynamically build a hierarchical tree structure based on the execution information, so that the execution of the model is dynamically stored according to the hierarchical tree structure, thereby realizing that Backtracking and positioning of operators in the model.
It realizes accurate backtracking and positioning of operators in neural network models, improves model maintenance and debugging efficiency, and simplifies error checking and optimization processes.
Smart Images

Figure CN119513095A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of deep learning, and in particular to a model maintenance method, device, equipment, storage medium and program product. Background Art
[0002] Deep learning (DL) is a research direction in the field of machine learning and an important technology for realizing artificial intelligence (AI). Deep learning originated from the research of neural networks and is a method of classifying or regressing unknown data by training a multi-layer network structure.
[0003] In a deep learning neural network model, various computing functions in the neural network are implemented through various operators in each module. However, during the forward propagation or backpropagation process of the neural network, the call of the operator may be opaque. For example, when an error or exception occurs, it is difficult to locate and backtrack the operator, which makes the maintenance and management of the model difficult. Summary of the invention
[0004] In view of this, the embodiments of the present disclosure provide a model maintenance method, apparatus, device, storage medium and program product to solve at least one problem in the prior art.
[0005] To achieve the above objectives, the technical solution of the embodiment of the present disclosure is implemented as follows:
[0006] On the one hand, an embodiment of the present disclosure provides a model maintenance method based on deep learning, the method comprising:
[0007] Registering a hook function in at least one module of the model;
[0008] During the running of the model, the execution information of the module is extracted by using the hook function;
[0009] A hierarchical tree structure is dynamically constructed according to the execution information; wherein the hierarchical tree structure is dynamically adjusted according to the execution information.
[0010] In some embodiments, during the running of the model, extracting the execution information of the module using the hook function includes:
[0011] During the forward propagation or backward propagation of the model, calling the hook function;
[0012] Obtain the execution information returned by the hook function.
[0013] In some embodiments, the calling process of the hook function is used to monitor each operator in the module in real time to obtain the execution information.
[0014] In some embodiments, the method further comprises:
[0015] The information recorded in the hierarchical tree structure is stored in a log file or a database.
[0016] In some embodiments, the method further comprises:
[0017] According to the hierarchical tree structure, hierarchical information is displayed on a preset visual interface; wherein the hierarchical information is used to indicate execution information of the module.
[0018] In some embodiments, the method further comprises:
[0019] Analyzing and / or detecting anomalies of the hierarchical information through the visual interface;
[0020] Output optimization suggestion information based on the analysis results and / or anomaly detection results.
[0021] In some embodiments, the execution information includes one or more of the following for at least one operator in the module:
[0022] Execution path;
[0023] Execution time;
[0024] Calling order;
[0025] Propagation status.
[0026] On the other hand, an embodiment of the present disclosure provides a model maintenance device based on deep learning, the device comprising:
[0027] A registration module, used for registering a hook function in at least one module of the model;
[0028] An extraction module, used for extracting the execution information of the module by using the hook function during the operation of the model;
[0029] A construction module is used to dynamically construct a hierarchical tree structure according to the execution information; wherein the hierarchical tree structure is dynamically adjusted according to the execution information.
[0030] In some embodiments, the extraction module comprises:
[0031] A calling unit, used for calling the hook function during the forward propagation or backward propagation of the model;
[0032] An acquiring unit is used to acquire the execution information returned by the hook function.
[0033] In some embodiments, the calling process of the hook function is used to monitor each operator in the module in real time to obtain the execution information.
[0034] In some embodiments, the apparatus further comprises:
[0035] The storage module is used to store the information recorded in the hierarchical tree structure into a log file or a database.
[0036] In some embodiments, the apparatus further comprises:
[0037] A display module is used to display hierarchical information on a preset visual interface according to the hierarchical tree structure; wherein the hierarchical information is used to indicate execution information of the module.
[0038] In some embodiments, the apparatus further comprises:
[0039] An analysis module, configured to analyze and / or detect anomalies on the hierarchical information through the visualization interface;
[0040] The output module is used to output optimization suggestion information based on the analysis results and / or anomaly detection results.
[0041] In some embodiments, the execution information includes one or more of the following for at least one operator in the module:
[0042] Execution path;
[0043] Execution time;
[0044] Calling order;
[0045] Propagation status.
[0046] On the other hand, an embodiment of the present disclosure further provides a computer device, including a memory, a processor, and a computer program stored in the memory; when the processor executes the computer program, any of the above-mentioned model maintenance methods is implemented.
[0047] On the other hand, an embodiment of the present disclosure further provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, any of the above-mentioned model maintenance methods is implemented.
[0048] On the other hand, an embodiment of the present disclosure further provides a computer program product, which includes a computer program, and when the computer program is executed by a processor, it implements any of the above-mentioned model maintenance methods.
[0049] In the technical solution provided by the present disclosure, a hook function is registered in the model, the operation process of the model is monitored in real time using the hook function, and the execution information of the module where the hook function is located is extracted. In addition, a hierarchical tree structure is dynamically constructed using the execution information, so that the execution of the model is dynamically stored according to the hierarchical tree structure, thereby facilitating the backtracking and positioning of the operators in the model. BRIEF DESCRIPTION OF THE DRAWINGS
[0050] Figure 1 A flowchart of a model maintenance method based on deep learning provided in an embodiment of the present disclosure;
[0051] Figure 2 A flowchart of another model maintenance method based on deep learning provided in an embodiment of the present disclosure;
[0052] Figure 3 A flowchart of another model maintenance method based on deep learning provided in an embodiment of the present disclosure;
[0053] Figure 4 A schematic diagram of a visualization interface in a model maintenance method provided in an embodiment of the present disclosure;
[0054] Figure 5 A structural block diagram of a model maintenance device based on deep learning provided in an embodiment of the present disclosure;
[0055] Figure 6 A structural block diagram of a computer device provided in an embodiment of the present disclosure. DETAILED DESCRIPTION
[0056] The exemplary embodiments disclosed in the embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although the exemplary embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be limited by the specific embodiments set forth herein. On the contrary, these embodiments are provided in order to enable a more thorough understanding of the present disclosure and to fully convey the scope disclosed in the embodiments of the present disclosure to those skilled in the art.
[0057] In the following description, a large number of specific details are given to provide a more thorough understanding of the present disclosure. However, it is obvious to those skilled in the art that the present disclosure can be implemented without one or more of these details. In other examples, in order to avoid confusion with the present disclosure, some technical features known in the art are not described; that is, all features of actual embodiments are not described here, and well-known functions and structures are not described in detail.
[0058] The purpose of the terms used herein is only to describe specific embodiments and is not intended to be a limitation of the present disclosure. When used herein, the singular forms "one", "an" and "said / the" are also intended to include plural forms, unless the context clearly indicates otherwise. It should also be understood that the terms "consisting of" and / or "comprising", when used in this specification, determine the presence of the features, integers, steps, operations, elements and / or parts, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, parts and / or groups. When used herein, the term "and / or" includes any and all combinations of the relevant listed items.
[0059] In order to facilitate understanding of the solution provided by the embodiments of the present disclosure, the relevant concepts are first introduced here:
[0060] Deep learning is a machine learning method that imitates the structure and function of the human brain neural network. It uses multi-layer neural networks to learn and extract data features and use these features to make predictions and decisions. Deep learning has a wide range of applications in computer vision, natural language processing, and speech recognition.
[0061] Neural network is an important technology for machine learning and the foundation of deep learning technology. Neural network is a computational model that imitates the structure and function of biological central nervous system network. Neural network is mainly composed of input layer, hidden layer and output layer. Each layer of neural network includes multiple neurons. Neuron is the basic unit of neural network, which is used to receive input signals, perform weighted operations, and then generate output signals through activation function. Weight is the parameter that connects neurons in neural network, which determines the importance of input signal. Weight will be adjusted continuously during model training to optimize network performance. Activation function is a nonlinear function used to introduce nonlinear characteristics so that neural network can learn and simulate complex function mapping. Neural network evaluates the difference between the predicted results and the actual results through loss function to guide the adjustment of weight.
[0062] The calculation of neural network mainly includes: forward propagation (FP), back propagation (BP), loss calculation and iterative training. Specifically, forward propagation is the transmission of input data through each layer of the neural network. The neurons in each layer calculate the output according to the input and weight, and finally generate the prediction result. Back propagation is to adjust the weights in the network through the back propagation algorithm according to the result of the loss function to reduce the prediction error.
[0063] In deep learning, "operator" refers to a function or operation that performs a specific mathematical operation. These operators are the basic elements for building neural networks and play a key role in the forward and backward propagation processes of neural networks. Commonly used operators in deep learning include: addition operators, which add two or more values, that is, add the outputs of multiple neurons to form the input of the next layer; multiplication operators: multiplying two values, such as used in the product of weights and input data, is the basic operation for linear transformation in neural networks; activation function operator: a nonlinear function that enables neural networks to learn complex function mappings; convolution operator: used in convolutional neural networks to extract local features of images, convolve the input data with the convolution kernel, and generate feature maps; pooling operators: such as maximum pooling and average pooling, used to reduce the spatial dimension of data, extract main features, and reduce the amount of calculation. Fully connected operators: used in the fully connected layer of the neural network to connect all the outputs of the previous layer with all the neurons in the current layer for linear transformation; loss function operators: such as mean square error, cross entropy loss, etc., used to calculate the difference between the predicted output and the actual output, and guide the adjustment of network weights; gradient operators: used in the backpropagation process to calculate the gradient of the loss function for network parameters and guide the update of weights; normalization operators: such as batch normalization, used to adjust the data distribution in the network, accelerate the training process, and improve the stability of the model.
[0064] In deep learning, when errors or exceptions occur, backtracking the operator is an important debugging step for maintaining the neural network model. The purpose of backtracking is to help developers understand the cause of the problem and find a solution.
[0065] The backtracking positioning of the operator can include the following steps: first, check the error information; second, check the format and type of the input data to confirm whether the data dimension matches; third, check the network architecture to determine the connection relationship between operators at each layer; fourth, debug step by step, for example, debug the code step by step and observe the output, so as to locate the abnormal operator.
[0066] However, in a complex model structure, the backtracking positioning of the operator using the above method may require repeated testing, which is a huge workload and difficult to accurately locate, thus bringing bottlenecks in positioning and optimizing performance.
[0067] Specifically, it is difficult for related technologies to trace back from low-level operator representation to high-level module representation; it is impossible to clearly distinguish whether an operator is called during forward propagation or backward propagation. In addition, during performance analysis and debugging, it is impossible to quickly locate the specific module that defines an operator, which affects optimization efficiency.
[0068] Based on this, the embodiment of the present disclosure provides a model maintenance method based on deep learning, such as Figure 1 As shown, the method includes:
[0069] Step S101, registering a hook function in at least one module of the model;
[0070] Step S102: during the operation of the model, using the hook function to extract the execution information of the module;
[0071] Step S103: dynamically construct a hierarchical tree structure according to the execution information; wherein the hierarchical tree structure is dynamically adjusted according to the execution information.
[0072] In the embodiment of the present disclosure, a hook function is used to realize the backtracking positioning of the operator. Specifically, the hook function can be inserted before or after the execution of a specific operator in the forward propagation or backward propagation process of the neural network, and the hook function is called during the propagation process.
[0073] Here, the model refers to a neural network model for deep learning, which can be composed of one or more modules. A module refers to a neural network component that contains various parameters, submodules, and propagation logic, and has a hierarchical structure. Complex network structures can be realized by combining and nesting simple modules. The operation processing in each module can be implemented by one or more operators.
[0074] In the embodiment of the present disclosure, a hook function may be registered in a module that requires attention, so that after the model runs into the module, the hook function may be called to monitor the module.
[0075] The hook function can obtain the execution information of the module during the model running process. Here, the execution information refers to the relevant information of the operator call in the module, which is used to reflect the calling process of the operator.
[0076] In some embodiments, the execution information includes one or more of the following of at least one operator in the module: execution path, execution time, calling order, and propagation status, etc.
[0077] Specifically, the execution path refers to the path for calling an operator, which can reflect the level of the operator's location and the nested relationship of the modules. The execution path can be used to locate the operator.
[0078] Execution time refers to the calling time of the operator, including input time and output time.
[0079] The calling order may include the order in which operators in a module are called, or the order in which operators in other modules are called.
[0080] The propagation status includes whether the current propagation process is forward propagation or reverse propagation, the parent-child relationship of each node in the module, etc.
[0081] In this way, through the above hook function, various execution information required for the backtracking positioning operator can be effectively extracted.
[0082] In the disclosed embodiment, the execution information such as the path and execution order of the operator in the model propagation process is dynamically stored by constructing a hierarchical tree structure. Here, the hierarchical tree structure refers to a tree data structure with at least one layer, and the construction of the data structure is based on the execution information extracted by the hook function during the model operation process. Therefore, the hierarchical tree structure can store and maintain information according to the hierarchical structure of the model.
[0083] The hierarchical tree structure can dynamically adjust the structure according to the execution information. Therefore, the running process and running status of the model can be recorded in real time through the hierarchical tree structure.
[0084] In some embodiments, during the running of the model, extracting the execution information of the module using the hook function includes:
[0085] During the forward propagation or backward propagation of the model, calling the hook function;
[0086] Obtain the execution information returned by the hook function.
[0087] In one embodiment, the above-mentioned hook function may include: a forward propagation hook function, which is called during the forward propagation execution process of the operator; and may also include a reverse propagation hook function, which is called during the reverse propagation process of the operator.
[0088] Exemplarily, if the model executes forward propagation, the forward propagation hook function is called, and the execution information returned by the forward hook function is the execution information of each operator in the forward propagation process module.
[0089] Correspondingly, if the model performs back propagation, the back propagation hook function is called, and the execution information returned by the back propagation hook function is the execution information of each operator in the back propagation process module.
[0090] In this way, the execution information returned by the hook function can be easily used to determine whether the operator is called in forward propagation or reverse propagation, as well as to determine the calling path and other related information, so as to facilitate the backtracking positioning of the operator.
[0091] In some embodiments, the calling process of the hook function is used to monitor each operator in the module in real time to obtain the execution information.
[0092] Specifically, when the model enters a module, the hook function is called, and the relevant information of entering the module can be output, and the calling process of the operator can be further implemented to feedback, thereby realizing the monitoring of the operator. In the embodiment of the present disclosure, through the real-time monitoring of the hook function, the hierarchical tree structure is constructed in real time and dynamically, and the operator's backtracking positioning can be realized accurately and efficiently.
[0093] In some embodiments, Figure 2 As shown, the method also includes:
[0094] Step S201: Store the information recorded in the hierarchical tree structure into a log file or a database.
[0095] In the disclosed embodiment, information during the model operation is recorded through a hierarchical tree structure. Since the hierarchical tree structure is dynamically adjusted according to the execution information, the hierarchical tree structure reflects the real-time structure and information of the model.
[0096] In order to facilitate viewing, this information can be stored at any time, that is, the various execution information returned by the hook function during the operation is stored one by one in the log file or database according to the hierarchical tree structure. Using the information stored in the above hierarchical tree structure, an efficient reference and retrieval mechanism can be implemented to facilitate finding the execution path and module to which a specific operator belongs.
[0097] In some embodiments, Figure 3 As shown, the method also includes:
[0098] Step S301: displaying hierarchical information in a preset visual interface according to the hierarchical tree structure; wherein the hierarchical information is used to indicate execution information of the module.
[0099] Here, a visualization interface is provided to facilitate viewing the above hierarchical tree structure. The visualization interface can display hierarchical information according to the hierarchical tree structure. Figure 4 As shown, the visualization interface shows the hierarchical relationship of each operator in each layer in the hierarchical tree structure 400. A square 401 in each layer represents a module or an operator, and the square can display specific names, path information, function types, call information, etc. Exemplarily, the specific display content can be fully displayed or abbreviated according to the size of the square.
[0100] In addition, different information can be reflected by the size or color of the squares. For example, squares of different colors represent different operation types, and squares of different sizes represent modules of different sizes.
[0101] In some embodiments, Figure 3 As shown, the method also includes:
[0102] Step S302: analyzing and / or detecting anomalies on the hierarchical information through the visualization interface;
[0103] Step S303: output optimization suggestion information according to the analysis result and / or the abnormality detection result.
[0104] The above-mentioned visualization interface can provide an analysis or detection function for the hierarchical information stored in the hierarchical tree structure. Specifically, the test conditions can be set, and the hierarchical information can be compared and tested to obtain the analysis results and provide the abnormal detection results, etc. Exemplarily, for abnormal situations, the path of the abnormal operator is analyzed through the hierarchical tree structure, and the modules, etc., are used to achieve backtracking positioning.
[0105] In addition, for the analysis results and anomaly detection results, corresponding optimization suggestions can be output according to preset conditions. For example, when implementing the backtracking positioning of the abnormal operator, corresponding adjustment suggestions can be given according to the structure of the module, including modifying the call relationship, bypassing the abnormal operator, etc.
[0106] Through the above-mentioned scheme provided by the embodiment of the present disclosure, the backtracking positioning of the operator can be realized, and an efficient retrieval mechanism and a visual debugging interface are provided, so that the maintenance and debugging efficiency of the neural network model can be effectively improved.
[0107] Based on the same inventive concept, the embodiment of the present disclosure provides a model maintenance device based on deep learning, such as Figure 5 As shown, the model maintenance device 500 includes:
[0108] A registration module 501, used to register a hook function in at least one module of the model;
[0109] An extraction module 502, used to extract the execution information of the module by using the hook function during the operation of the model;
[0110] The construction module 503 is used to dynamically construct a hierarchical tree structure according to the execution information; wherein the hierarchical tree structure is used to store the execution information.
[0111] In some embodiments, the extraction module comprises:
[0112] A calling unit, used for calling the hook function during the forward propagation or backward propagation of the model;
[0113] An acquiring unit is used to acquire the execution information returned by the hook function.
[0114] In some embodiments, the calling process of the hook function is used to monitor each operator in the module in real time to obtain the execution information.
[0115] In some embodiments, the apparatus further comprises:
[0116] The storage module is used to store the information recorded in the hierarchical tree structure into a log file or a database.
[0117] In some embodiments, the apparatus further comprises:
[0118] A display module is used to display hierarchical information on a preset visual interface according to the hierarchical tree structure; wherein the hierarchical information is used to indicate execution information of the module.
[0119] In some embodiments, the apparatus further comprises:
[0120] An analysis module, configured to analyze and / or detect anomalies on the hierarchical information through the visualization interface;
[0121] The output module is used to output optimization suggestion information based on the analysis results and / or anomaly detection results.
[0122] In some embodiments, the execution information includes one or more of the following for at least one operator in the module:
[0123] Execution path;
[0124] Execution time;
[0125] Calling order;
[0126] Propagation status.
[0127] Based on the same inventive concept, the embodiment of the present disclosure also provides a computer device 600, such as Figure 6 As shown, the computer device 600 includes: a processor 601 and a memory 602, wherein the memory 602 stores a computer program 6021 that can be run on the processor 601, and when the processor 601 executes the computer program 6021, the image processing method in any of the above embodiments can be implemented.
[0128] In some embodiments, the memory 602 stores a computer program 6021 that can be run on the processor. The memory 602 is configured to store instructions and applications executable by the processor 601. It can also cache data to be processed or processed by the processor 601 and various modules in the computer device 600 (for example, image data, audio data, voice communication data, and video communication data), which can be implemented through flash memory (FLASH) or random access memory (Random Access Memory, RAM).
[0129] In some embodiments, the processor 601 implements the steps of any of the above-mentioned task processing methods when executing the program. The processor 601 generally controls the overall operation of the computer device 600.
[0130] Based on the same inventive concept, an embodiment of the present disclosure further provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, any of the above-mentioned image processing methods is implemented.
[0131] Based on the same inventive concept, an embodiment of the present disclosure further provides a computer program product, wherein the computer program product includes a computer program, and when the computer program is executed by a processor, any of the above-mentioned image processing methods is implemented.
[0132] In some specific examples, the processor may be at least one of an Application Specific Integrated Circuit (ASIC), a Digital Signal Processor (DSP), a Digital Signal Processing Device (DSPD), a Programmable Logic Device (PLD), a Field Programmable Gate Array (FPGA), a Central Processing Unit (CPU), a controller, a microcontroller, and a microprocessor. It is understandable that the electronic device that implements the functions of the processor may also be other, and the embodiments of the present disclosure are not specifically limited.
[0133] In some specific examples, the above-mentioned computer storage medium / memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a magnetic random access memory (FRAM), a flash memory (Flash Memory), a magnetic surface memory, an optical disc, or a compact disc read-only memory (CD-ROM) and the like; it can also be various terminals including one or any combination of the above-mentioned memories, such as a mobile phone, a computer, a tablet device, a personal digital assistant, etc.
[0134] The methods disclosed in several method embodiments provided in the present disclosure can be arbitrarily combined without conflict to obtain new method embodiments.
[0135] The features disclosed in several device embodiments provided in the present disclosure may be arbitrarily combined without conflict to obtain new device embodiments.
[0136] The above description is only a specific implementation mode of the present disclosure, but the protection scope of the present disclosure is not limited thereto. Any technician familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed in the present disclosure, which should be included in the protection scope of the present disclosure.
Claims
1. A model maintenance method based on deep learning, characterized in that: The method comprises: Registering a hook function in at least one module of the model; During the running of the model, the execution information of the module is extracted by using the hook function; A hierarchical tree structure is dynamically constructed according to the execution information; wherein the hierarchical tree structure is dynamically adjusted according to the execution information.
2. The method according to claim 1, characterized in that In the process of running the model, using the hook function to extract the execution information of the module includes: During the forward propagation or backward propagation of the model, calling the hook function; Obtain the execution information returned by the hook function.
3. The method according to claim 2, characterized in that The calling process of the hook function is used to monitor each operator in the module in real time to obtain the execution information.
4. The method according to claim 1, characterized in that: The method further comprises: The information recorded in the hierarchical tree structure is stored in a log file or a database.
5. The method according to claim 1, characterized in that The method further comprises: According to the hierarchical tree structure, hierarchical information is displayed on a preset visual interface; wherein the hierarchical information is used to indicate execution information of the module.
6. The method according to claim 5, characterized in that The method further comprises: Analyzing and / or detecting anomalies of the hierarchical information through the visual interface; Output optimization suggestion information based on the analysis results and / or anomaly detection results.
7. The method according to any one of claims 1 to 6, characterized in that: The execution information includes one or more of the following of at least one operator in the module: Execution path; Execution time; Calling order; Propagation status.
8. A model maintenance device based on deep learning, characterized in that: The device comprises: A registration module, used for registering a hook function in at least one module of the model; An extraction module, used for extracting the execution information of the module by using the hook function during the operation of the model; A construction module is used to dynamically construct a hierarchical tree structure according to the execution information; wherein the hierarchical tree structure is dynamically adjusted according to the execution information.
9. A computer device, characterized in that: The invention comprises a memory, a processor and a computer program stored in the memory; when the processor executes the computer program, the model maintenance method according to any one of claims 1 to 7 is implemented.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the model maintenance method according to any one of claims 1 to 7 is implemented.
11. A computer program product, characterized in that The computer program product comprises a computer program, and when the computer program is executed by a processor, the model maintenance method according to any one of claims 1 to 7 is implemented.