Skip to main content

Prometheus metrics collectors for Keras

Project description

Gangplank

Exposing Keras Metrics to Prometheus

Prometheus is a monitoring system that pulls metrics from applications and infrastructure. Gangplank is a Python package for exposing Keras training, evaluation and inference metrics to Prometheus.

Keras metrics are exposed in two ways:

  • Training and testing metrics use Keras callbacks to push metrics to a Prometheus Pushgateway.
  • Inference metrics are exposed by instrumenting a proxy of a Keras model.

The examples demonstrate both techniques to get metrics into Prometheus.

What Metrics are exported?

Training Metrics

During training, the following metrics are exported:

  • The number of completed training epochs
  • The time spent training
  • The number of model weights (both trainable and non-trainable)
  • The model's loss
  • All metrics configured for the model (e.g. accuracy for a classification model or mean absolute error for a regression model)
  • (Optionally) A histogram of the model's trainable weights at the end of the training run

Testing (Evaluation) Metrics

For testing (i.e. evaluation), the following metrics are exported:

  • The time spent testing
  • The model's loss
  • All metrics configured for the model (accuracy, mean absolute error, etc.)
  • (Optionally) A histogram of the model's trainable weights

Prediction (Inference) Metrics

A deployed model can expose the following metrics:

  • The total number of model predictions
  • The time spent doing inference

Installing Gangplank

Gangplank can be installed from PyPI

pip install gangplank

The installation will also install Keras. Keras needs a tensor arithmetic backend like TensorFlow, JAX or PyTorch. You can install a backend at the same time as installing Gangplank by running one of the following

pip install gangplank[tensorflow]
pip install gangplank[jax]
pip install gangplank[torch]

Note: Running, e.g., pip install gangplank[jax] will install a CPU-only version of JAX. If you want, say, CUDA support you should install JAX separately

pip install gangplank
pip install jax[cuda12]

Similar comments apply to TensorFlow and PyTorch.

Examples

Examples of using Gangplank can be found here.

Acknowledgement

The example code uses a model from "Deep Learning with Python, Second Edition" by François Chollet. Gangplank was inspired by the same book's coverage of callbacks and TensorBoard.

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

gangplank-0.3.2.tar.gz (7.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gangplank-0.3.2-py3-none-any.whl (6.7 kB view details)

Uploaded Python 3

File details

Details for the file gangplank-0.3.2.tar.gz.

File metadata

  • Download URL: gangplank-0.3.2.tar.gz
  • Upload date:
  • Size: 7.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for gangplank-0.3.2.tar.gz
Algorithm Hash digest
SHA256 d9ed095c4ebb943862fb84320642cda44fdec11ef838d40e44a1ca239509dc12
MD5 f2e6bae1be37d7ce544ba918565e9d19
BLAKE2b-256 31332595fd3c1b49b145e5b4a5e593e8304eee5ed5b5ada8708b6f8bfd50e265

See more details on using hashes here.

Provenance

The following attestation bundles were made for gangplank-0.3.2.tar.gz:

Publisher: publish-to-pypi.yml on hammingweight/gangplank

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gangplank-0.3.2-py3-none-any.whl.

File metadata

  • Download URL: gangplank-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 6.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for gangplank-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1f97d19c0983bbe66c1821b1d15e599f322f3a5eb2e126ca8d8618528202d834
MD5 e52e8dc96957c9b94d87fc8a3579a7f0
BLAKE2b-256 477e2506384432654a43ba85c4b7f4f57ba9eadf8a2a70ae001a5d1079d2c940

See more details on using hashes here.

Provenance

The following attestation bundles were made for gangplank-0.3.2-py3-none-any.whl:

Publisher: publish-to-pypi.yml on hammingweight/gangplank

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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