ebonite.core.objects.wrapper module

class ebonite.core.objects.wrapper.ModelIO[source]

Bases: ebonite.core.objects.wrapper.ModelIO, pyjackson.decorators.SubtypeRegisterMixin

Helps model wrapper with IO

Must be pyjackson-serializable

type = 'pyjackson.decorators.ModelIO'
class ebonite.core.objects.wrapper.ModelWrapper(io: ebonite.core.objects.wrapper.ModelIO)[source]

Bases: ebonite.core.objects.wrapper.ModelWrapper, pyjackson.decorators.SubtypeRegisterMixin

Base class for model wrapper. Wrapper is an object that can save, load and inference a model

Must be pyjackson-serializable

type = 'pyjackson.decorators.ModelWrapper'
class ebonite.core.objects.wrapper.LibModelWrapperMixin(io: ebonite.core.objects.wrapper.ModelIO)[source]

Bases: ebonite.core.objects.wrapper.ModelWrapper

ModelWrapper mixin which provides model object requirements list consisting of PIP packages represented by module objects in libraries field.

libraries = None
type = 'ebonite.core.objects.wrapper.LibModelWrapperMixin'
class ebonite.core.objects.wrapper.WrapperArtifactCollection(wrapper: ebonite.core.objects.wrapper.ModelWrapper)[source]

Bases: ebonite.core.objects.artifacts.ArtifactCollection, pyjackson.core.Unserializable

This is a proxy ArtifactCollection for not persisted artifacts. Internally uses dump() to create model artifacts

Parameters:wrapperModelWrapper instance
type = '_wrapper'
materialize(path)[source]

Calls dump() to materialize model in path

Parameters:path – path to materialize model
bytes_dict() → Dict[str, bytes][source]

Calls dump() to get model artifacts bytes dict :return: dict artifact name -> bytes

blob_dict() → Iterable[Dict[str, ebonite.core.objects.artifacts.Blob]][source]

Calls dump() to get model artifacts blob dict

Returns:dict artifact name -> Blob
class ebonite.core.objects.wrapper.PickleModelIO[source]

Bases: ebonite.core.objects.wrapper.ModelIO

ModelIO for pickle-able models

When model is dumped, recursively checks objects if they can be dumped with ModelIO instead of pickling

So, if you use function that internally calls tensorflow model, this tensorflow model will be dumped with tensorflow code and not pickled

model_filename = 'model.pkl'
io_ext = '.io'
dump(model) → ebonite.core.objects.artifacts.ArtifactCollection[source]

Dumps model artifacts as ArtifactCollection

Returns:context manager with ArtifactCollection
load(path)[source]

Loads artifacts into model field

Parameters:path – path to load from
type = 'ebonite.core.objects.wrapper.PickleModelIO'
class ebonite.core.objects.wrapper.CallableMethodModelWrapper[source]

Bases: ebonite.core.objects.wrapper.ModelWrapper

ModelWrapper implementation for functions

type = 'callable_method'