Skip to content

Serialization API (core.serialization)

class albumentations.core.serialization.SerializableMeta [view source on GitHub]

A metaclass that is used to register classes in SERIALIZABLE_REGISTRY so they can be found later while deserializing transformation pipeline using classes full names.

albumentations.core.serialization.SerializableMeta.__new__(cls, name, bases, class_dict) special staticmethod

Create and return a new object. See help(type) for accurate signature.

def albumentations.core.serialization.from_dict(transform_dict, lambda_transforms=None) [view source on GitHub]

Parameters:

Name Type Description
transform dict

A dictionary with serialized transform pipeline.

lambda_transforms dict

A dictionary that contains lambda transforms, that is instances of the Lambda class. This dictionary is required when you are restoring a pipeline that contains lambda transforms. Keys in that dictionary should be named same as name arguments in respective lambda transforms from a serialized pipeline.

def albumentations.core.serialization.load(filepath, data_format='json', lambda_transforms=None) [view source on GitHub]

Load a serialized pipeline from a json or yaml file and construct a transform pipeline.

Parameters:

Name Type Description
transform obj

Transform to serialize.

filepath str

Filepath to read from.

data_format str

Serialization format. Should be either json or 'yaml'.

lambda_transforms dict

A dictionary that contains lambda transforms, that is instances of the Lambda class. This dictionary is required when you are restoring a pipeline that contains lambda transforms. Keys in that dictionary should be named same as name arguments in respective lambda transforms from a serialized pipeline.

def albumentations.core.serialization.register_additional_transforms() [view source on GitHub]

Register transforms that are not imported directly into the albumentations module.

def albumentations.core.serialization.save(transform, filepath, data_format='json', on_not_implemented_error='raise') [view source on GitHub]

Take a transform pipeline, serialize it and save a serialized version to a file using either json or yaml format.

Parameters:

Name Type Description
transform obj

Transform to serialize.

filepath str

Filepath to write to.

data_format str

Serialization format. Should be either json or 'yaml'.

on_not_implemented_error str

Parameter that describes what to do if a transform doesn't implement the to_dict method. If 'raise' then NotImplementedError is raised, if warn then the exception will be ignored and no transform arguments will be saved.

def albumentations.core.serialization.to_dict(transform, on_not_implemented_error='raise') [view source on GitHub]

Take a transform pipeline and convert it to a serializable representation that uses only standard python data types: dictionaries, lists, strings, integers, and floats.

Parameters:

Name Type Description
transform object

A transform that should be serialized. If the transform doesn't implement the to_dict method and on_not_implemented_error equals to 'raise' then NotImplementedError is raised. If on_not_implemented_error equals to 'warn' then NotImplementedError will be ignored but no transform parameters will be serialized.