EmuKit/emukit

Different interface for IVR

charelstoncrabb opened this issue · 1 comments

Seems as though the IVR has a slightly different interface than the other acquisitions (i.e., ModelVariance, ExpectedImprovement, etc.)

(Pdb) _acquisition
<class 'emukit.experimental_design.acquisitions.integrated_variance.IntegratedVarianceReduction'>
(Pdb) _acquisition(model_obj)
*** TypeError: __init__() missing 1 required positional argument: 'space'

Do you mean the input to __init__ method? That's natural and isn't really considered a part of the interface. You would expect different acquisition funcitons to require different inputs. Say this very IVR actually has two more parameters, that aren't showing up in that message simply because they have reasonable defaults.

Generally in OOP interface is understood is the declared functionality of the object, which includes methods and sometimes properties. Think of it this way - you can create objects in various different ways, but what matters is that these objects behave similarly.

Hope that clarifies it.