Skip to main content

Python package for interacting with Marcelle

Project description

Marcelle - Python Package

A python package for interacting with a Marcelle backend from python.

See: http://marcelle.dev

Status ⚠️

Marcelle is still experimental and is currently under active development. Breaking changes are expected.

Installing

pip install .

Basic Usage

Keras Callback

from marcelle import MarcelleCallback

mrc_callback = KerasCallback(
    backend_root="http://localhost:3030",
    disk_save_formats=["h5", "tfjs"],
    remote_save_format="tfjs",
    model_checkpoint_freq=None,
    base_log_dir="marcelle-logs",
    run_params={},
)

model.fit(
  # ...
  callbacks = [
    mrc_callback,
    # other callbacks
  ]
)

Writer (for custom training loops)

from marcelle import Writer

writer = Writer(
    backend_root="http://localhost:3030",
    disk_save_formats=["h5", "tfjs"],
    remote_save_format="tfjs",
    base_log_dir="marcelle-logs",
    source="keras",
)

writer.create_run(model, params, loss.name)
writer.train_begin(epochs)

for epoch in range(epochs):
  # ...
  logs = {
    "loss": 1.3,
    "accuracy": 0.7,
    "val_loss": 2.3,
    "val_accuracy": 0.52,
  }
  assets = ["path/to/asset1.wav", "path/to/asset2.wav"]
  self.writer.save_epoch(epoch, logs=logs, save_checkpoint=True, assets=assets)

writer.train_end(save_checkpoint=True)

Batch upload

Useful when training was done offline or connection to server failed during the training.

from glob import glob
import os
from marcelle import MarcelleRemote, MarcelleUploader


if __name__ == "__main__":
    LOG_DIR = "marcelle-logs"
    uploader = MarcelleUploader(
        MarcelleRemote(
            backend_root="http://localhost:3030",
            save_format="tfjs",
            source="keras",
        )
    )
    runs = [d for d in glob(os.path.join(LOG_DIR, "*")) if os.path.isdir(d)]
    for run in runs:
        uploader.upload(run)

✍️ Authors

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

marcelle-0.0.5.tar.gz (12.3 kB view hashes)

Uploaded Source

Built Distribution

marcelle-0.0.5-py3-none-any.whl (14.1 kB view hashes)

Uploaded Python 3

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