mendevi.models.solver¶
Use a model to solve an optimization problem.
Classes
|
Minimizes a metric for a given model. |
Details
- class mendevi.models.solver.Solver(model: Model, loss: Callable, grid: dict[str, list] | None = None)[source]
Minimizes a metric for a given model.
Performs a grid search on all free parameters.
Examples¶
>>> import cutcutcodec >>> from mendevi.models import Solver >>> from mendevi.models.lr import EncodeLinear >>> model = EncodeLinear().fit("x264_vs_openh264.db", table="t_enc_encode") >>> solver = Solver(model, lambda **kwd: kwd["log_energy_per_frame"] + (kwd["psnr"]-35)**2) >>> video = cutcutcodec.utils.get_project_root() / "media" / "video" / "intro.webm" >>> values, loss = solver.solve(video, encoder=["libopenh264", "libx264"]) >>>
Prepare the solver.
Parameters¶
- model
mendevi.models.base.Model The instantiated and fitted model, ready to be evaluated.
- losscallable
The cost function, which takes the value of the labels as input and returns a scalar.
- griddict[str, list], optional
Allows you to define the list of values to be tested. It is a dictionary that for each input label, associate the values to be tested.
- model