Expand description
Training logger plugins for Burn 0.19
This crate provides MetricLogger implementations that export training metrics
to various observability platforms.
§Features
§OpenTelemetry (otel feature)
- Efficient metric export with minimal overhead
- Support for multi-GPU/node training via resource attributes
- Configurable export intervals and batching
- Compatible with OpenTelemetry SDK and OTLP protocol
§Rerun.io (rerun feature)
- Rich visualization of training metrics, images, and tensors
- Support for images, videos, text, and other visual formats
- Real-time visualization during training
- Timeline-based metric exploration
§Multi-Logger Support
Use MultiLogger to combine multiple loggers and send metrics to multiple
backends simultaneously (e.g., OpenTelemetry + Rerun).
§Example (OpenTelemetry)
use burn_telemetry::otel::{OpenTelemetryLogger, OpenTelemetryConfig};
let logger = OpenTelemetryLogger::new(
OpenTelemetryConfig::default(),
"my-training-job",
Some("gpu-0"),
).expect("Failed to create logger");§Example (Rerun)
use burn_telemetry::rerun::{RerunLogger, RerunConfig};
let logger = RerunLogger::new(
RerunConfig::default(),
"my-training-job",
).expect("Failed to create logger");§Example (Multiple Loggers)
use burn_telemetry::MultiLogger;
use burn_telemetry::otel::{OpenTelemetryLogger, OpenTelemetryConfig};
use burn_telemetry::rerun::{RerunLogger, RerunConfig};
let multi_logger = MultiLogger::new()
.add_logger(OpenTelemetryLogger::new(
OpenTelemetryConfig::default(), "job", Some("device-0")
).unwrap())
.add_logger(RerunLogger::new(
RerunConfig::default(), "job"
).unwrap());Re-exports§
pub use multi_logger::MultiLogger;
Modules§
- factory
- Helper factories for constructing metric loggers based on enabled features.
- multi_
logger - Multi-logger wrapper for combining multiple MetricLogger implementations
- otel
- OpenTelemetry logger backend
- rerun
- Rerun.io logger backend