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)
Built Distribution
sizif-0.0.7-py3-none-any.whl
(13.2 kB
view details)
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | d9b3e9da82535844c87f640091588ebf97af238738f78fc034935efded029101 |
|
MD5 | 433cc44122e34bcc927e207e6b0d1129 |
|
BLAKE2b-256 | f75f4aa4954f73d9b8ca3bcc02f9807e93f254b2147535d3acbb22fa0d0c39cc |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0817626277f61d9ffc035b07a353c65cdbd47c5e07a783be2bd9415be0ad0306 |
|
MD5 | 42c06627436f6e48638efc35b21365e5 |
|
BLAKE2b-256 | b3775a9e29e41a5135c33bc90b8229f96a8ea6bd4c54fffbf520674be194fc76 |