simpleml.save_patterns
Package for artifact persistence. Bindings are automatically included for SimpleML persistables, but patterns can be used for any objects or frameworks.
Patterns are loaded into global registry on import and more can be added externally by decorating
Patterns can be named anything since they are only mappings in the registry. Convention is -> Location : Serializer : Format(s)
- Database Storage
database_table: Dataframe saving (as tables in dedicated schema)
database_pickled: In database as a binary blob
database_hdf5: In database as a binary blob
- Local Filesystem Storage
disk_pickled: Pickled file on local disk
disk_hdf5: HDF5 file on local disk
disk_keras_hdf5: Keras formatted HDF5 file on local disk
- Cloud Storage
cloud_pickled: Pickled file on cloud backend
cloud_hdf5: HDF5 file on cloud backend
cloud_keras_hdf5: Keras formatted HDF5 file on cloud backend
- Supported Backends:
Amazon S3
Google Cloud Platform
Microsoft Azure
Microsoft Onedrive
Aurora
Backblaze B2
DigitalOcean Spaces
OpenStack Swift
Backend is determined by cloud_section in the configuration file
- Remote filestore saving
SCP to remote server
Subpackages
Submodules
Package Contents
Classes
Base class for save patterns (registered wrappers for the collection of |
|
Save pattern implementation to save objects to disk in pickled format |
|
Save pattern implementation to save objects to disk in pickled format |
|
Save pattern implementation to save dask objects to disk in csv format |
|
Save pattern implementation to save dask objects to disk in json format |
|
Save pattern implementation to save dask objects to disk in parquet format |
|
Save pattern implementation to save dask objects to cloud via apached-libcloud in csv format |
|
Save pattern implementation to save dask objects to cloud via apached-libcloud in json format |
|
Save pattern implementation to save dask objects to cloud via apached-libcloud in parquet format |
|
Save pattern implementation to save keras objects to disk in h5 format |
|
Save pattern implementation to save keras objects to disk in savedModel format |
|
Uses Keras H5 serialization (legacy behavior) |
|
Save pattern implementation to save keras objects to cloud via apached-libcloud in h5 format |
|
Save pattern implementation to save keras objects to cloud via apached-libcloud in savedModel format |
|
Uses Tensorflow SavedModel serialization |
|
Libcloud transport for many individual files |
|
Libcloud doesnt have a notion of folder objects so iterate through filepaths |
|
Save pattern implementation to save pandas objects to disk in csv format |
|
Save pattern implementation to save pandas objects to disk in json format |
|
Save pattern implementation to save pandas objects to disk in parquet format |
|
Save pattern implementation to save pandas objects to cloud via apached-libcloud in csv format |
|
Save pattern implementation to save pandas objects to cloud via apached-libcloud in json format |
|
Save pattern implementation to save pandas objects to cloud via apached-libcloud in parquet format |
|
Decorators that can be used for registering methods for loading |
Functions
|
Deregister the class to use for saving and |
|
Register the class to use for saving and |
Attributes
(Cloud)Pickle Save Patterns |
|
- class simpleml.save_patterns.BaseSavePattern[source]
Bases:
object
Base class for save patterns (registered wrappers for the collection of serializers and deserializers)
- deserializers :Tuple[Type[BaseSerializer]]
- serializers :Tuple[Type[BaseSerializer]]
- classmethod load(cls, **kwargs)
The load method invoked
- Return type
Any
- class simpleml.save_patterns.CloudpickleDiskSavePattern[source]
Bases:
base.BaseSavePattern
Save pattern implementation to save objects to disk in pickled format
- class simpleml.save_patterns.CloudpickleFileSerializer[source]
Bases:
simpleml.save_patterns.base.BaseSerializer
- static deserialize(filepath, source_directory='system_temp', **kwargs)
- class simpleml.save_patterns.CloudpickleLibcloudSavePattern[source]
Bases:
base.BaseSavePattern
Save pattern implementation to save objects to disk in pickled format
- class simpleml.save_patterns.DaskCSVSerializer[source]
Bases:
simpleml.save_patterns.base.BaseSerializer
- static deserialize(filepaths, source_directory='system_temp', **kwargs)
- static serialize(obj, filepath, format_directory=CSV_DIRECTORY, format_extension='.csv', destination_directory='system_temp', **kwargs)
- class simpleml.save_patterns.DaskDiskCSVSavePattern[source]
Bases:
base.BaseSavePattern
Save pattern implementation to save dask objects to disk in csv format
- class simpleml.save_patterns.DaskDiskJSONSavePattern[source]
Bases:
base.BaseSavePattern
Save pattern implementation to save dask objects to disk in json format
- class simpleml.save_patterns.DaskDiskParquetSavePattern[source]
Bases:
base.BaseSavePattern
Save pattern implementation to save dask objects to disk in parquet format
- class simpleml.save_patterns.DaskJSONSerializer[source]
Bases:
simpleml.save_patterns.base.BaseSerializer
- static deserialize(filepaths, source_directory='system_temp', **kwargs)
- static serialize(obj, filepath, format_directory=JSON_DIRECTORY, format_extension='.jsonl', destination_directory='system_temp', **kwargs)
- class simpleml.save_patterns.DaskLibcloudCSVSavePattern[source]
Bases:
base.BaseSavePattern
Save pattern implementation to save dask objects to cloud via apached-libcloud in csv format
- class simpleml.save_patterns.DaskLibcloudJSONSavePattern[source]
Bases:
base.BaseSavePattern
Save pattern implementation to save dask objects to cloud via apached-libcloud in json format
- class simpleml.save_patterns.DaskLibcloudParquetSavePattern[source]
Bases:
base.BaseSavePattern
Save pattern implementation to save dask objects to cloud via apached-libcloud in parquet format
- class simpleml.save_patterns.DaskParquetSerializer[source]
Bases:
simpleml.save_patterns.base.BaseSerializer
- static deserialize(filepath, source_directory='system_temp', **kwargs)
- static serialize(obj, filepath, format_directory=PARQUET_DIRECTORY, format_extension='.parquet', destination_directory='system_temp', **kwargs)
- class simpleml.save_patterns.FilestoreCopyFileLocation[source]
Bases:
simpleml.save_patterns.base.BaseSerializer
- static deserialize(filepath, source_directory='filestore', destination_directory='system_temp', **kwargs)
- class simpleml.save_patterns.FilestoreCopyFilesLocation[source]
Bases:
simpleml.save_patterns.base.BaseSerializer
- static deserialize(filepaths, source_directory='filestore', destination_directory='system_temp', **kwargs)
- class simpleml.save_patterns.FilestoreCopyFolderLocation[source]
Bases:
simpleml.save_patterns.base.BaseSerializer
- static deserialize(filepath, source_directory='filestore', destination_directory='system_temp', **kwargs)
- class simpleml.save_patterns.KerasDiskH5SavePattern[source]
Bases:
base.BaseSavePattern
Save pattern implementation to save keras objects to disk in h5 format
- class simpleml.save_patterns.KerasDiskSavedModelSavePattern[source]
Bases:
base.BaseSavePattern
Save pattern implementation to save keras objects to disk in savedModel format
- class simpleml.save_patterns.KerasH5Serializer[source]
Bases:
simpleml.save_patterns.base.BaseSerializer
Uses Keras H5 serialization (legacy behavior)
Output is a single file
- static deserialize(filepath, source_directory='system_temp', **kwargs)
- class simpleml.save_patterns.KerasLibcloudH5SavePattern[source]
Bases:
base.BaseSavePattern
Save pattern implementation to save keras objects to cloud via apached-libcloud in h5 format
- class simpleml.save_patterns.KerasLibcloudSavedModelSavePattern[source]
Bases:
base.BaseSavePattern
Save pattern implementation to save keras objects to cloud via apached-libcloud in savedModel format
- class simpleml.save_patterns.KerasSavedModelSerializer[source]
Bases:
simpleml.save_patterns.base.BaseSerializer
Uses Tensorflow SavedModel serialization
Output is a folder with assets keras_metadata.pb saved_model.pb variables
- static deserialize(filepath, source_directory='system_temp', **kwargs)
- static serialize(obj, filepath, format_directory=TENSORFLOW_SAVED_MODEL_DIRECTORY, format_extension='.savedModel', destination_directory='system_temp', **kwargs)
- class simpleml.save_patterns.LibcloudCopyFileLocation[source]
Bases:
simpleml.save_patterns.base.BaseSerializer
- static deserialize(filepath, source_directory='libcloud_root_path', destination_directory='system_temp', **kwargs)
- class simpleml.save_patterns.LibcloudCopyFilesLocation[source]
Bases:
simpleml.save_patterns.base.BaseSerializer
Libcloud transport for many individual files
- classmethod deserialize(cls, filepaths, source_directory='libcloud_root_path', destination_directory='system_temp', **kwargs)
- class simpleml.save_patterns.LibcloudCopyFolderLocation[source]
Bases:
simpleml.save_patterns.base.BaseSerializer
Libcloud doesnt have a notion of folder objects so iterate through filepaths individually
- static common_path(paths)
Helper utility to return the common parent path for a bunch of filepaths
- classmethod deserialize(cls, filepaths, source_directory='libcloud_root_path', destination_directory='system_temp', **kwargs)
- class simpleml.save_patterns.PandasCSVSerializer[source]
Bases:
simpleml.save_patterns.base.BaseSerializer
- static deserialize(filepath, source_directory='system_temp', **kwargs)
- class simpleml.save_patterns.PandasDiskCSVSavePattern[source]
Bases:
base.BaseSavePattern
Save pattern implementation to save pandas objects to disk in csv format
- class simpleml.save_patterns.PandasDiskJSONSavePattern[source]
Bases:
base.BaseSavePattern
Save pattern implementation to save pandas objects to disk in json format
- class simpleml.save_patterns.PandasDiskParquetSavePattern[source]
Bases:
base.BaseSavePattern
Save pattern implementation to save pandas objects to disk in parquet format
- class simpleml.save_patterns.PandasJSONSerializer[source]
Bases:
simpleml.save_patterns.base.BaseSerializer
- static deserialize(filepath, source_directory='system_temp', **kwargs)
- class simpleml.save_patterns.PandasLibcloudCSVSavePattern[source]
Bases:
base.BaseSavePattern
Save pattern implementation to save pandas objects to cloud via apached-libcloud in csv format
- class simpleml.save_patterns.PandasLibcloudJSONSavePattern[source]
Bases:
base.BaseSavePattern
Save pattern implementation to save pandas objects to cloud via apached-libcloud in json format
- class simpleml.save_patterns.PandasLibcloudParquetSavePattern[source]
Bases:
base.BaseSavePattern
Save pattern implementation to save pandas objects to cloud via apached-libcloud in parquet format
- class simpleml.save_patterns.PandasParquetSerializer[source]
Bases:
simpleml.save_patterns.base.BaseSerializer
- static deserialize(filepath, source_directory='system_temp', **kwargs)
- static serialize(obj, filepath, format_directory=PARQUET_DIRECTORY, format_extension='.parquet', destination_directory='system_temp', **kwargs)
- class simpleml.save_patterns.SavePatternDecorators[source]
Bases:
object
Decorators that can be used for registering methods for loading and saving.
- static deregister_save_pattern(cls_or_save_pattern=None, save=True, load=True)
Class level decorator to deregister allowed save patterns. Doesnt actually make use of the class but included for completeness. Recommended to use importable deregister_save_pattern function directly
- Parameters
cls_or_save_pattern (Optional[str]) – the optional string or class denoting the pattern this class implements (e.g. disk_pickled). Checks class attribute cls.SAVE_PATTERN if null cls is automatically passed when calling decorator without parameters (@SavePatternDecorators.deregister_save_pattern)
save (Optional[bool]) – optional bool; default true; whether to drop the decorated class as the save method for the registered save pattern
load (Optional[bool]) – optional bool; default true; whether to drop the decorated class as the load method for the registered save pattern
- Return type
Callable
- static register_save_pattern(cls_or_save_pattern=None, save=True, load=True, overwrite=False)
Decorates a class to register the method(s) to use for saving and/or loading for the particular pattern
IT IS ALLOWABLE TO HAVE DIFFERENT CLASSES HANDLE SAVING AND LOADING FOR THE SAME REGISTERED PATTERN
- Parameters
cls_or_save_pattern (Optional[Union[str, Type]]) – the optional string or class denoting the pattern this class implements (e.g. disk_pickled). Checks class attribute cls.SAVE_PATTERN if null cls is automatically passed when calling decorator without parameters (@SavePatternDecorators.register_save_pattern)
save (Optional[bool]) – optional bool; default true; whether to use the decorated class as the save method for the registered save pattern
load (Optional[bool]) – optional bool; default true; whether to use the decorated class as the load method for the registered save pattern
overwrite (Optional[bool]) – optional bool; default false; whether to overwrite the the registered class for the save pattern, if it exists. Otherwise throw an error
- Return type
Callable
- simpleml.save_patterns.deregister_save_pattern(cls=None, save_pattern=None, save=True, load=True)[source]
Deregister the class to use for saving and loading for the particular pattern
- Parameters
save_pattern (Optional[str]) – the optional string denoting the pattern this class implements (e.g. disk_pickled). Checks class attribute cls.SAVE_PATTERN if null
save (Optional[bool]) – optional bool; default true; whether to remove the class as the save method for the registered save pattern
load (Optional[bool]) – optional bool; default true; whether to remove the class as the load method for the registered save pattern
cls (Optional[Type]) –
- Return type
None
- simpleml.save_patterns.register_save_pattern(cls, save_pattern=None, save=True, load=True, overwrite=False)[source]
Register the class to use for saving and loading for the particular pattern
IT IS ALLOWABLE TO HAVE DIFFERENT CLASSES HANDLE SAVING AND LOADING FOR THE SAME REGISTERED PATTERN
- Parameters
save_pattern (Optional[str]) – the optional string denoting the pattern this class implements (e.g. disk_pickled). Checks class attribute cls.SAVE_PATTERN if null
save (Optional[bool]) – optional bool; default true; whether to use the decorated class as the save method for the registered save pattern
load (Optional[bool]) – optional bool; default true; whether to use the decorated class as the load method for the registered save pattern
overwrite (Optional[bool]) – optional bool; default false; whether to overwrite the the registered class for the save pattern, if it exists. Otherwise throw an error
cls (Type) –
- Return type
None