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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file marcelle-0.0.5.tar.gz.

File metadata

  • Download URL: marcelle-0.0.5.tar.gz
  • Upload date:
  • Size: 12.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.11 CPython/3.8.6 Darwin/20.6.0

File hashes

Hashes for marcelle-0.0.5.tar.gz
Algorithm Hash digest
SHA256 169f702513dc92d5ff6acde67bae2fb289ebb0439c99f952ac198dc3273f44f3
MD5 93fdfcfe5fa3a9fe421ae84eb467c989
BLAKE2b-256 1c211d16feb28d914cf7ee17306406ccc19f7a5333f323a1866a92a7740549ea

See more details on using hashes here.

File details

Details for the file marcelle-0.0.5-py3-none-any.whl.

File metadata

  • Download URL: marcelle-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 14.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.11 CPython/3.8.6 Darwin/20.6.0

File hashes

Hashes for marcelle-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 e56b21975fd519198b3bd5f434b1ac2a3c3de4aa2dd128784e0cccd244f9f4ba
MD5 28d676188c34dffa6f7f2fe63c1edef5
BLAKE2b-256 900e06d4575b5ffe0bcc141e12488576b1c05618572d54b86c3f7b51c85bbb41

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