Skip to main content

Deep learning Keras models lifecycle management backup/restore nano framework

Project description

DL backup/restore nano framework

Auto backup/restore model snapshots of deep learning models:

  • to/from local filesystem
  • to/from remote FTP server

Current version supports only Keras >= 2.2 models. You're welcome to contribute.

Usage

pip3 install sizif

FTP Keras checkpoints backup/restore:

from sizif.keras import KerasModelWrapper
from sizif.storage import FTPFileCheckpointsMonitor

# your compiled Keras Model instance
model = build_model()  


# Local filesystem snapshots monitor with FTP backup/restore 
# Different model architectures should have different version parameter
# other parameters similar to Keras ModelCheckpoint
# See sizif.storage.FileCheckpointsMonitor for local file only backup/restore 
cpm = FTPFileCheckpointsMonitor(1,
                               'weights.{epoch:03d}-vl{val_loss:.3f}-va{val_acc:.3f}.hdf5',
                               local_folder='/snapshots_local_dir',
                               remote_folder='/snapshots_ftp_dir',
                               host='ftp.your-host.com', login='your_ftp_login',
                               password='your_ftp_password',
                               die_on_ftperrors=True,
                               rotate_number=3,
                               monitor='val_loss',
                               verbose=1,
                               save_best_only=False,
                               save_weights_only=True,
                               mode='auto',
                               period=1)

# Keras wrapper, proxies all calls to the model
# except `fit` and `fit_generator` — which are surrounded 
# by automated model state backup/recovery   
km = KerasModelWrapper(model, cpm)

# all method parameters are proxied to Keras as is except callbacks
# callbacks are extended with `cpm` listener 
km.fit_generator(training_set_generator,
                 epochs=25,
                 validation_data=test_set_generator,
                 callbacks=[tboard])

See sources for detailed docstrings

TODO:

  • SSH/S3/Dropbox uploading monitors
  • Tensorflow/Pytorch models support

Tests

python3 -m unittest 

Dependencies

  • numpy ~> 1.15
  • Keras ~> 2.2

License

This project is released under the MIT license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sizif-0.0.7.tar.gz (11.1 kB view details)

Uploaded Source

Built Distribution

sizif-0.0.7-py3-none-any.whl (13.2 kB view details)

Uploaded Python 3

File details

Details for the file sizif-0.0.7.tar.gz.

File metadata

  • Download URL: sizif-0.0.7.tar.gz
  • Upload date:
  • Size: 11.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/39.1.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.6.5

File hashes

Hashes for sizif-0.0.7.tar.gz
Algorithm Hash digest
SHA256 d9b3e9da82535844c87f640091588ebf97af238738f78fc034935efded029101
MD5 433cc44122e34bcc927e207e6b0d1129
BLAKE2b-256 f75f4aa4954f73d9b8ca3bcc02f9807e93f254b2147535d3acbb22fa0d0c39cc

See more details on using hashes here.

File details

Details for the file sizif-0.0.7-py3-none-any.whl.

File metadata

  • Download URL: sizif-0.0.7-py3-none-any.whl
  • Upload date:
  • Size: 13.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/39.1.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.6.5

File hashes

Hashes for sizif-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 0817626277f61d9ffc035b07a353c65cdbd47c5e07a783be2bd9415be0ad0306
MD5 42c06627436f6e48638efc35b21365e5
BLAKE2b-256 b3775a9e29e41a5135c33bc90b8229f96a8ea6bd4c54fffbf520674be194fc76

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page