Method, device, equipment and medium for determining service model parameter values
Technical Field
The present application relates to the field of computer technologies, and in particular, to a method, an apparatus, a device, and a medium for determining a service model parameter value.
Background
A model is an instantiation of a learning algorithm over a given data and parameter space, and when empirical data is provided to the learning algorithm, the learning algorithm can produce a model based on the data. The model corresponds to some underlying law on the data.
The parameters are adjustable parts of a learning algorithm and are optimized parts of the learning algorithm when training a given data set. The parameters can enable a learning algorithm to be more suitable for some empirical data, rules can be learned from the empirical data, and the rules are used for different scenes such as regression and classification. In the prior art, manual parameter adjustment and grid search can be adopted for determining the parameter value. The manual parameter adjustment and grid search needs to determine a specific parameter candidate value, then the parameter candidate value is tested in a model, and a parameter value is determined or the parameter candidate value is replaced according to a test result, so that manpower and computing resources are consumed, and the optimal parameter value is found under the condition that the optimal parameter value needs to be manually listed.
In view of the above, there is a need for a more efficient and effective model parameter value determination scheme.
Disclosure of Invention
Embodiments of the present specification provide a method, an apparatus, a device, and a medium for determining a service model parameter value, so as to solve a technical problem of how to determine a model parameter value more effectively and more efficiently.
In order to solve the above technical problem, the embodiments of the present specification are implemented as follows:
an embodiment of the present specification provides a method for determining a service model parameter value, including:
taking a value interval of a target parameter of a service model as a first-stage target interval, and determining a first-stage predicted value according to the first-stage target interval;
according to the target parameters, respectively taking two end points of a previous-stage target interval and corresponding model errors when a previous-stage predicted value is obtained, and dividing the previous-stage target interval to obtain a next-stage target interval and a next-stage predicted value; the upper-level target interval comprises a first-level target interval;
and if the target parameters respectively take two end points of the certain stage of target interval and the corresponding model errors of the stage of predicted value meet preset conditions, determining the target values of the target parameters according to the stage of target interval or the stage of predicted value.
An embodiment of the present specification provides a model parameter value determination apparatus, including:
the limiting module is used for taking a value interval of a target parameter of the business model as a first-stage target interval and determining a first-stage predicted value according to the first-stage target interval;
the iteration module is used for respectively taking two end points of a previous-stage target interval and corresponding model errors when a previous-stage predicted value is obtained according to the target parameters, and dividing the previous-stage target interval to obtain a next-stage target interval and a next-stage predicted value; the upper-level target interval comprises a first-level target interval;
and the fixed value module is used for determining the target value of the target parameter according to the stage target interval or the stage predicted value if the target parameter respectively takes the two end points of the stage target interval and the corresponding model error of the stage predicted value meets the preset condition.
An embodiment of the present specification provides a model parameter value determination device, including:
at least one processor;
and the number of the first and second groups,
a memory communicatively coupled to the at least one processor;
wherein,
the memory stores instructions executable by the at least one processor to enable the at least one processor to:
taking a value interval of a target parameter of a service model as a first-stage target interval, and determining a first-stage predicted value according to the first-stage target interval;
according to the target parameters, respectively taking two end points of a previous-stage target interval and corresponding model errors when a previous-stage predicted value is obtained, and dividing the previous-stage target interval to obtain a next-stage target interval and a next-stage predicted value; the upper-level target interval comprises a first-level target interval;
and if the target parameters respectively take two end points of the certain stage of target interval and the corresponding model errors of the stage of predicted value meet preset conditions, determining the target values of the target parameters according to the stage of target interval or the stage of predicted value.
Embodiments of the present specification provide a computer-readable storage medium storing computer-executable instructions that, when executed by a processor, implement the steps of:
taking a value interval of a target parameter of a service model as a first-stage target interval, and determining a first-stage predicted value according to the first-stage target interval;
according to the target parameters, respectively taking two end points of a previous-stage target interval and corresponding model errors when a previous-stage predicted value is obtained, and dividing the previous-stage target interval to obtain a next-stage target interval and a next-stage predicted value; the upper-level target interval comprises a first-level target interval;
and if the target parameters respectively take two end points of the certain stage of target interval and the corresponding model errors of the stage of predicted value meet preset conditions, determining the target values of the target parameters according to the stage of target interval or the stage of predicted value.
The embodiment of the specification adopts at least one technical scheme which can achieve the following beneficial effects:
only the value range of the parameter can be determined, and the target value of the parameter is determined step by dividing the value range step by step, so that the automatic determination of the model parameter is realized, and the parameter value determination efficiency is improved; by segmenting the value intervals step by step, the target value of the parameter can be locked more quickly, and the parameter value determination speed and efficiency are improved.
Drawings
In order to more clearly illustrate the embodiments of the present specification or the technical solutions in the prior art, the drawings needed to be used in the description of the embodiments of the present specification or the prior art will be briefly introduced below, it is obvious that the drawings in the following description are only some embodiments described in the present specification, and for those skilled in the art, other drawings can be obtained according to the drawings without inventive labor.
Fig. 1 is a schematic flow chart of a method for determining a service model parameter value in a first embodiment of the present specification.
FIG. 2 is a schematic diagram of a model parameter determination process in the first embodiment of the present specification.
Fig. 3 is a schematic structural diagram of a model parameter value determination device in a third embodiment of the present specification.
Detailed Description
In order to make those skilled in the art better understand the technical solutions in the present specification, the technical solutions in the embodiments of the present specification will be clearly and completely described below with reference to the drawings in the embodiments of the present specification, and it is obvious that the described embodiments are only a part of the embodiments of the present application, and not all of the embodiments. All other embodiments, which can be obtained by a person skilled in the art without making any inventive step based on the embodiments of the present disclosure, shall fall within the scope of protection of the present application.
In the prior art, many projects use machine learning techniques and methods, which involve modeling and parameter adjustment. The model requires two parts to complete instantiation, one is its learning algorithm itself, and two are the parameters. The parameters can enable a learning algorithm to be more suitable for some empirical data, rules can be learned from the empirical data, and the rules are used for different scenes such as regression and classification.
As shown in fig. 1, a first embodiment of the present specification provides a method for determining a parameter value of a business model, including:
s101: and taking the value interval of the target parameter of the service model as a first-stage target interval, and determining a first-stage predicted value according to the first-stage target interval.
In this embodiment, the "service model" may be determined according to an actual situation, for example, a search service model, a personalized recommended service model, a linear regression, or a complex deep learning algorithm LSTM, which is not limited in this embodiment.
In this embodiment, the parameter of the service model that needs to be fixed (i.e., the value thereof is determined, the same applies below) is the target parameter. For a business model, if a plurality of parameters need to be fixed, the plurality of parameters can be used as target parameters one by one for fixing. For example, if a certain service model has a parameter a, a parameter b, and a parameter c that need to be fixed, the parameter a, the parameter b, and the parameter c may be set as target parameters one by one, but the order of the fixed values is not limited in this embodiment. Business model in the present embodiment
In this embodiment, a value interval (usually a closed interval) of a target parameter of the service model may be determined, the value interval is used as a first-stage target interval, and a first-stage predicted value of the target parameter is determined according to the first-stage target interval. Below the first-stage predicted value, it is not arbitrarily assumed that a certain service model has three parameters to be fixed, namely, a parameter a, a parameter B, and a parameter C, and the current parameter a is a target parameter, and then a first-stage target interval of the parameter a and the first-stage predicted value, for example, the first-stage target interval of the parameter a is [ a1, a2] (a1 ≦ a2) can be determined. The first-level target interval of the target parameters can be determined in various ways, for example, a description document of the algorithm can have a description of the parameter value, and accordingly, the value range of the parameter can be determined. And a corresponding relation between the service model parameters and the value range can be established, and the value range (first-stage target interval) corresponding to each parameter can be automatically determined according to the corresponding relation.
In this embodiment, the first-stage predicted value may be an average value or a ratio of a sum of two endpoints of the first-stage target interval, where the ratio is a value obtained by multiplying the sum of the two endpoints by a certain ratio, and the average value is also a ratio of 50%. In this embodiment, the left end of the first-stage target interval is less than the "ratio" < the right end of the first-stage target interval (i.e., in this embodiment, for any interval, the ratio of the sum of the two ends of the interval still belongs to the interval, which is the same below); and/or the first-stage predicted value can be a random value on the first-stage target interval except for two end points; it can be seen that the first-level predicted value belongs to the first-level target interval. The following description will not be given taking the first-stage predicted value as an example of the average value of the sum of the two end points of the first-stage target section.
As mentioned above, the business model may have multiple parameters that are individually valued as target parameters. When a certain parameter is set as a target parameter, other parameters (i.e., non-target parameters) use their respective fixed values until the target value of the target parameter is determined. Specifically, the using of the respective fixed values for the non-target parameters may include:
1.1, for any non-target parameter, if the target value of the parameter is determined, the target value of the parameter is a fixed value corresponding to the parameter; along the above example, assume that there are parameter a, parameter B and parameter C, and current parameter a is the target parameter, for parameter B, if it has determined the target value, it may use its own target value as its corresponding fixed value; the same applies to parameter C.
And/or the presence of a gas in the gas,
1.2, for any non-target parameter, if the target value of the parameter is not determined, determining a fixed value corresponding to the parameter according to the value interval of the parameter; along the use example, a parameter A, a parameter B and a parameter C are assumed, the current parameter A is a target parameter, and for the parameter B, if a target value is not determined yet, a corresponding fixed value can be determined according to a value interval of the parameter B; the same applies to parameter C. It should be noted that, for any parameter, the value range thereof may be determined in advance, and the value range thereof does not need to be determined until the parameter is taken as the target parameter.
In this embodiment, determining the fixed value corresponding to the parameter according to the value interval of the parameter may include: and taking the average value or the proportional value (the proportional value is the same as above) of the sum of the two end points of the value interval of the parameter or the random value on the value interval of the parameter as a fixed value corresponding to the parameter. Along the use example, a parameter a, a parameter B and a parameter C are assumed, the current parameter a is a target parameter, and for the parameter B, if a target value is not determined yet, an average value or a proportional value of a sum of two end points in a value interval of the parameter B or a random value in the value interval of the parameter B can be used as a fixed value corresponding to the parameter B; the same applies to parameter C.
S103: respectively taking two end points of a previous-stage target interval and corresponding business model errors when a previous-stage predicted value is obtained according to the target parameters, and dividing the previous-stage target interval to obtain a next-stage target interval and a next-stage predicted value; wherein the upper level target interval comprises a first level target interval.
For the business model, the sample set can be divided into a training set and a testing set, the training set generally accounts for 80%, and the testing set accounts for 20%, so that the business model and the output business model can be trained through the training set and the set parameters, the testing set is used for testing the effect of the business model, and the testing effect is recorded by using the index, wherein the index can be recorded as an error. The Error may be calculated in various ways, for example, an average Absolute Error (MAE) may be used, and the average Absolute Error is as follows:
y is the true value in the test set, y ^ is the corresponding service model predicted value or output value, by
To measure the mean absolute error. Where samples represent the test set.
Mean squared error (Mean squared error) can also be used, as follows:
y is the true value in the test set, y ^ is the corresponding service model predicted value or output value, by
The mean square error is measured. Where samples represent the test set.
In this embodiment, the other parameters (if any) except the target parameter have corresponding fixed values, so that the service model errors corresponding to the target parameter when the target parameter respectively takes two end points of the first-stage target interval and the first-stage predicted value can be determined. Along the above example, assuming that there are a parameter a, a parameter B, and a parameter C, and the current parameter a is a target parameter, the first-stage target interval is [ a1, a2], the first-stage predicted value is (a1+ a2)/2, and the parameter B and the parameter C use respective corresponding fixed values, it can be determined that the parameter a takes a1 corresponding traffic model error, a2 corresponding traffic model error, and a1+ a2)/2 corresponding traffic model error.
The service model error is linearly changed along with the value of the target parameter, so that the first-stage target interval of the target parameter can be divided according to the corresponding service model error when the target parameter respectively takes the two end points of the first-stage target interval and the first-stage predicted value, and the second-stage target interval (the second-stage target interval is contained in the first-stage target interval) and the second-stage predicted value are determined. Specifically, the second-stage target interval is an interval formed by the end point of the first-stage target interval with the smaller corresponding service model error and the first-stage predicted value, that is, the service model error corresponding to which end point is smaller in the two end points of the first-stage target interval, and the end point and the first-stage predicted value form the second-stage target interval. Along the use example, a parameter a, a parameter B and a parameter C are assumed, the current parameter a is a target parameter, the first-stage target interval is [ a1, a2], the first-stage predicted value is (a1+ a2)/2, the parameter B and the parameter C use respective corresponding fixed values, and if the service model error corresponding to the parameter a in a1 is greater than the service model error corresponding to a2 (according to the linear change of the service model error along with the target parameter, the service model error corresponding to the parameter a in a1 is greater than the service model error corresponding to (a1+ a 2)/2), the second-stage target interval is [ (a1+ a2)/2, a2 ]; if the service model error corresponding to the parameter A when the parameter A is a1 is less than the service model error corresponding to the parameter A2 (according to the linear change of the service model error along with the target parameter, the service model error corresponding to the parameter A when the parameter A is a2 is greater than the service model error corresponding to (a1+ a 2)/2), the second-stage target interval is [ a1, (a1+ a2)/2 ].
Through the segmentation, the business model error corresponding to the second-level target interval is smaller, so that the optimal value of the target parameter is located in the newly obtained second-level target interval.
After determining the second level target interval, a second level predictive value may be determined. Specifically, the second-stage predicted value may be an average value or a proportional value of a sum of two end points of the second-stage target interval; and/or, the second-level predicted value may be a random value on the second-level target interval except for two endpoints. The determination of the second level predictor may be with reference to the determination of the first level predictor. For example, if the second-stage target interval is [ (a1+ a2)/2, a2], the second-stage prediction value may be the average of the sum of the two endpoints of the second-stage target interval (a1+3 × a 2)/4.
After the first-stage target interval and the first-stage predicted value are determined, the two end points of the first-stage target interval and the corresponding business model errors in the first-stage predicted value can be respectively taken according to the target parameters, and the first-stage target interval is divided to obtain a second-stage target interval and a second-stage predicted value; after the second-stage target interval and the second-stage predicted value are determined, the two end points of the second-stage target interval and the corresponding business model errors during the second-stage predicted value can be respectively taken according to the target parameters, and the second-stage target interval is divided to obtain a third-stage target interval and a third-stage predicted value; the method comprises the steps that business model errors corresponding to two end points of a third-level target interval and a third-level predicted value can be respectively obtained according to target parameters, and the third-level target interval is divided to obtain a fourth-level target interval and a fourth-level predicted value; by analogy, iteration can be performed in such a way, that is, "the target interval of the previous stage is divided according to the corresponding service model errors when the target parameters are respectively taken from the two end points of the target interval of the previous stage and the predicted value of the previous stage, so as to obtain the target interval of the next stage and the predicted value of the next stage", where "the previous stage" and "the next stage" are two adjacent stages, as shown in fig. 2. For any stage target interval, the stage prediction value can be the average value or the proportional value of the sum of two end points of the stage target interval; and/or, for any stage target interval, the stage prediction value can be a random value on the stage target interval except for two end points; specifically, reference may be made to the determination of the first-level predictor; it can be seen that for any level of predicted value, it belongs to the corresponding target interval of the level.
In addition, the division of any stage of target interval can refer to the division of a first stage of target interval, namely, a next stage of target interval is an interval formed by an end point of a previous stage of target interval with smaller corresponding business model error and a previous stage of predicted value; for example, if the m (m ≧ 1) th-level target interval is [ e, f ], then which endpoint of the two endpoints of [ e, f ] corresponds to a smaller service model error, and the endpoint and the m-th-level predicted value form an m +1 th target interval; for example, if the second-level target interval is [ (a1+ a2)/2, a2], the second-level predicted value is (a1+3 a2)/4, and the error corresponding to the target parameter a2 is greater than the error corresponding to (a1+ a2)/2, the third-level target interval may be [ (a1+ a2)/2, (a1+3 a2)/4 ]; the second level predicted value may be the average of the sum of the two endpoints of the third level target interval (3 a1+5 a 2)/8.
S105: and if the target parameters respectively take two end points of the certain stage of target interval and the corresponding model errors of the stage of predicted value meet preset conditions, determining the target values of the target parameters according to the stage of target interval or the stage of predicted value.
According to the linear change of the business model error along with the target parameter, the business model error corresponding to the latest target interval is smaller by segmenting the first-stage target interval step by step, so that the interval where the optimal value of the target parameter is located can be gradually reduced. And if the target parameters respectively adopt two end points of a certain level (including a first level) target interval and the corresponding business model error when the level predicted value meets the preset condition, determining the target value of the target parameters according to the level target interval or the level predicted value. Specifically, the step of respectively taking two end points of a certain level of target interval by the target parameter and the service model error when the predicted value of the level meets the preset condition may include that the difference between the two end points of the certain level of target interval by the target parameter and the service model error when the predicted value of the level is not greater than a preset value. For example, the nth (n ≧ 1) stage target interval is [ x, y ], the nth stage predicted value is z, and if the target parameter has a corresponding service model error when x is taken, a corresponding service model error when y is taken, and a corresponding service model error when z is taken, and the difference between every two of the three is not greater than a preset value (including the case that the three are equal), the target value of the target parameter is determined according to the nth stage target interval or the nth stage predicted value.
In fact, since the smaller the error of the service model corresponding to the latest target interval is, if the target parameter respectively takes two end points of a certain level of target interval and the corresponding error of the service model when the target parameter takes the predicted value of the level meets the preset condition, it is indicated that the error of the service model corresponding to the value on the level of target interval does not change much or does not change, that is, the reduction space of the error of the service model is limited, so that the value on the level of target interval can be used as the target value of the target parameter. Specifically, any value in the stage target interval may be used as the target value of the target parameter, and of course, the end point of the stage target interval or the stage predicted value may be used as the target value of the target parameter.
In this embodiment, if the target parameter respectively takes two end points of a certain level of target interval and the corresponding service model error when the level of predicted value meets the preset condition, after the target value of the target parameter is determined, the level of target interval may not be divided, that is, the next level of target interval may not be determined.
As described above, the business model may have a plurality of parameters, and the plurality of parameters are individually set as target parameters, and after a certain parameter is set as a target parameter to determine a target value, another parameter may be set as a target parameter to determine the target value.
If each parameter that the business model needs to be rated has a determined target value, each parameter can be applied to the business model by using its target value.
In the embodiment, only the value interval of the target parameter can be determined, and the target value of the parameter is determined step by dividing the value interval step by step, so that the automatic determination of the service model parameter is realized, and the parameter value determination efficiency is improved; by segmenting the value intervals step by step, the target value of the parameter can be locked more quickly, and the parameter value determination speed and efficiency are improved.
The second embodiment of the present specification provides a method for determining a service model parameter value in an application environment, and specifically, a method for determining a service model parameter value in a room price prediction environment. When the room price is predicted, a business model is required to be established, and the predicted room price is output. Assuming that there are 100 sets of sample data, in the form of [ x1, x2, … …, xi ], x1, x2, … …, xi represent various characteristics of the house price, such as area, floor, house type, etc., the sample data can be divided into a training set and a test set.
In this embodiment, a HuberRegressor algorithm or other suitable algorithm may be selected, where the HuberRegressor is a variation of linear regression, and the training set and the HuberRegressor are used to generate a service model. An important parameter of HuberRegressor is Huber loss, which is not taken as a target parameter and indicates the degree of sensitivity to outliers (if the value is larger, the outliers are more affected, and if the value is smaller, the outliers are more ignored). In addition, mean _ squared _ error may be selected as the business model error, and the smaller the business model error, the closer to the target value of the target parameter.
In this embodiment, a value range (a first-stage target interval) of the target parameter is [1,2], and a first-stage predicted value may be 1.5, and when Huber loss is 1,2, and 1.5, errors of the service model are respectively determined, and then a second-stage target interval is determined, and assuming that the second-stage target interval is [1.5,2], a second-stage predicted value may be determined, for example, the second-stage predicted value is 1.75; and the like, and finally determining the target value of the target parameter.
As shown in fig. 3, a third embodiment of the present specification provides a model parameter value determination apparatus, including:
the limiting module 201 is configured to use a value interval of a target parameter of a service model as a first-stage target interval, and determine a first-stage predicted value according to the first-stage target interval;
the iteration module 203 is used for respectively taking two end points of a previous-stage target interval and corresponding model errors when a previous-stage predicted value is obtained according to the target parameters, and dividing the previous-stage target interval to obtain a next-stage target interval and a next-stage predicted value; the upper-level target interval comprises a first-level target interval;
a value determining module 205, configured to determine the target value of the target parameter according to the stage target interval or the stage predicted value if the target parameter respectively takes the two end points of the stage target interval and the corresponding model error when the stage predicted value meets a preset condition.
Optionally, the apparatus further comprises:
and the target parameter determining module is used for determining the values of the plurality of model parameters as target parameters one by one if the plurality of model parameters to be determined exist.
Optionally, the apparatus further comprises:
and the non-target parameter setting module is used for determining a fixed value corresponding to each non-target parameter when setting the target parameter.
Optionally, determining the fixed value corresponding to each non-target parameter includes:
for any non-target parameter, if the target value of the parameter is determined, the target value of the parameter is a fixed value corresponding to the parameter;
and/or the presence of a gas in the gas,
and for any non-target parameter, if the target value of the parameter is not determined, determining a fixed value corresponding to the parameter according to the value interval of the parameter.
Optionally, determining the fixed value corresponding to the parameter according to the value interval of the parameter includes:
and taking the average value or the proportional value of the sum of the two end points of the value interval of the parameter or the random value on the value interval of the parameter as a fixed value corresponding to the parameter.
Optionally, the next-stage target interval is an interval formed by an end point of a previous-stage target interval with a smaller corresponding model error and a previous-stage predicted value.
Optionally, the model error when the target parameter respectively takes two end points of the certain level of target interval and the predicted value of the level meets the preset condition includes:
and the target parameters respectively take the difference value between two end points of the certain stage of target interval and the model error when the predicted value of the stage is not more than a preset value.
Optionally, determining the target value of the target parameter according to the stage target area or the stage predicted value includes:
and taking any value on the stage target interval as the target value of the target parameter.
Optionally, if the target parameter respectively takes the two end points of the certain stage of target interval and the corresponding model error when the stage of predicted value meets a preset condition, after the target value of the target parameter is determined, the iteration module 203 does not divide the stage of target interval.
Optionally, for any stage of target interval, the stage prediction value is a mean value or a ratio value of a sum of two end points of the stage target interval;
and/or the presence of a gas in the gas,
for any stage target interval, the stage prediction value is a random value on the stage target interval except for two end points.
A fourth embodiment of the present specification provides a model parameter value determination device including:
at least one processor;
and the number of the first and second groups,
a memory communicatively coupled to the at least one processor;
wherein,
the memory stores instructions executable by the at least one processor to enable the at least one processor to:
taking a value interval of a target parameter of a service model as a first-stage target interval, and determining a first-stage predicted value according to the first-stage target interval;
according to the target parameters, respectively taking two end points of a previous-stage target interval and corresponding model errors when a previous-stage predicted value is obtained, and dividing the previous-stage target interval to obtain a next-stage target interval and a next-stage predicted value; the upper-level target interval comprises a first-level target interval;
and if the target parameters respectively take two end points of the certain stage of target interval and the corresponding model errors of the stage of predicted value meet preset conditions, determining the target values of the target parameters according to the stage of target interval or the stage of predicted value.
A fifth embodiment of the present specification provides a computer-readable storage medium having stored thereon computer-executable instructions that, when executed by a processor, perform the steps of:
taking a value interval of a target parameter of a service model as a first-stage target interval, and determining a first-stage predicted value according to the first-stage target interval;
according to the target parameters, respectively taking two end points of a previous-stage target interval and corresponding model errors when a previous-stage predicted value is obtained, and dividing the previous-stage target interval to obtain a next-stage target interval and a next-stage predicted value; the upper-level target interval comprises a first-level target interval;
and if the target parameters respectively take two end points of the certain stage of target interval and the corresponding model errors of the stage of predicted value meet preset conditions, determining the target values of the target parameters according to the stage of target interval or the stage of predicted value.
The above embodiments may be used in combination.
While certain embodiments of the present disclosure have been described above, other embodiments are within the scope of the following claims. In some cases, the actions or steps recited in the claims may be performed in a different order than in the embodiments and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily have to be in the particular order shown or in sequential order to achieve desirable results. In some embodiments, multitasking and parallel processing may also be possible or may be advantageous.
The embodiments in the present specification are described in a progressive manner, and the same and similar parts among the embodiments are referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, for the apparatus, device, and non-volatile computer-readable storage medium embodiments, since they are substantially similar to the method embodiments, the description is relatively simple, and in relation to the description, reference may be made to some portions of the description of the method embodiments.
The apparatus, the device, the nonvolatile computer readable storage medium, and the method provided in the embodiments of the present specification correspond to each other, and therefore, the apparatus, the device, and the nonvolatile computer storage medium also have similar advantageous technical effects to the corresponding method.
In the 90 s of the 20 th century, improvements in a technology could clearly distinguish between improvements in hardware (e.g., improvements in circuit structures such as diodes, transistors, switches, etc.) and improvements in software (improvements in process flow). However, as technology advances, many of today's process flow improvements have been seen as direct improvements in hardware circuit architecture. Designers almost always obtain the corresponding hardware circuit structure by programming an improved method flow into the hardware circuit. Thus, it cannot be said that an improvement in the process flow cannot be realized by hardware physical modules. For example, a Programmable Logic Device (PLD), such as a Field Programmable Gate Array (FPGA), is an integrated circuit whose Logic functions are determined by programming the Device by a user. A digital system is "integrated" on a PLD by the designer's own programming without requiring the chip manufacturer to design and fabricate application-specific integrated circuit chips. Furthermore, instead of manually manufacturing integrated circuit chips, such programming is now often implemented in "logic compiler" software, which is similar to the software compiler used in program development and writing, the original code before compiling can also be written in a specific programming Language, which is called Hardware Description Language (HDL), there are many HDL types, not only one, but also many, such as ABEL (advanced Boolean Expression Language), AHDL (Altera Hardware Descr IP Address transition), Confluent, CUPL (Central University Programming Language), HDCal, JHDL (Java Hardware Descr IP Address transition Language), Lava, Lola, MyHDL, PALSM, RHDL (Ruby Hardware Descr IP Address transition Language), etc., and VHDL (Very-High-Speed Integrated Circuit Hardware IP Address transition Language) and Verilog are currently most commonly used. It will also be apparent to those skilled in the art that hardware circuitry that implements the logical method flows can be readily obtained by merely slightly programming the method flows into an integrated circuit using the hardware description languages described above.
The controller may be implemented in any suitable manner, for example, the controller may take the form of, for example, a microprocessor or processor and a computer-readable medium storing computer-readable program code (e.g., software or firmware) executable by the (micro) processor, logic gates, switches, an Application Specific Integrated Circuit (ASIC), a programmable logic controller, and an embedded microcontroller, examples of which include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, microchip IP address PIC18F26K20, and Silicone LabsC8051F320, the memory controller may also be implemented as part of the control logic of the memory. Those skilled in the art will also appreciate that, in addition to implementing the controller as pure computer readable program code, the same functionality can be implemented by logically programming method steps such that the controller is in the form of logic gates, switches, application specific integrated circuits, programmable logic controllers, embedded microcontrollers and the like. Such a controller may thus be considered a hardware component, and the means included therein for performing the various functions may also be considered as a structure within the hardware component. Or even means for performing the functions may be regarded as being both a software module for performing the method and a structure within a hardware component.
The systems, devices, modules or units illustrated in the above embodiments may be implemented by a computer chip or an entity, or by a product with certain functions. One typical implementation device is a computer. In particular, the computer may be, for example, a personal computer, a laptop computer, a cellular telephone, a camera phone, a smartphone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.
For convenience of description, the above devices are described as being divided into various units by function, and are described separately. Of course, the functions of the various elements may be implemented in the same one or more software and/or hardware implementations of the present description.
As will be appreciated by one skilled in the art, the present specification embodiments may be provided as a method, system, or computer program product. Accordingly, embodiments of the present description may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, embodiments of the present description may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and so forth) having computer-usable program code embodied therein.
The description has been presented with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the description. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In a typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include forms of volatile memory in a computer readable medium, Random Access Memory (RAM) and/or non-volatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
Computer-readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), Digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device. As defined herein, a computer readable medium does not include a transitory computer readable medium such as a modulated data signal and a carrier wave.
It should also be noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
This description may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The specification may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
The embodiments in the present specification are described in a progressive manner, and the same and similar parts among the embodiments are referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, for the system embodiment, since it is substantially similar to the method embodiment, the description is simple, and for the relevant points, reference may be made to the partial description of the method embodiment.
The above description is only an example of the present specification, and is not intended to limit the present application. Various modifications and changes may occur to those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included in the scope of the claims of the present application.