Skip to content

Comet

liblaf.cherries.plugins.comet

Classes:

  • Comet –

    Send run metadata, parameters, and metrics to Comet.

Attributes:

logger module-attribute

logger: Logger = logging.getLogger(__name__)

Comet

Bases: Plugin


              flowchart TD
              liblaf.cherries.plugins.comet.Comet[Comet]
              liblaf.cherries.core.plugin._plugin.Plugin[Plugin]

                              liblaf.cherries.core.plugin._plugin.Plugin --> liblaf.cherries.plugins.comet.Comet
                


              click liblaf.cherries.plugins.comet.Comet href "" "liblaf.cherries.plugins.comet.Comet"
              click liblaf.cherries.core.plugin._plugin.Plugin href "" "liblaf.cherries.core.plugin._plugin.Plugin"
            

Send run metadata, parameters, and metrics to Comet.

Attributes:

Parameters:

  • name (PluginName, default: <dynamic> ) –
  • run (Run) –
  • disabled (bool, default: False ) –

Methods:

  • end –

    End the active Comet experiment after Git finalization.

  • log_asset –

    Reserve the asset hook for future Comet artifact support.

  • log_metric –

    Log one metric to Comet.

  • log_metrics –

    Log multiple metrics to Comet.

  • log_other –

    Log one metadata value to Comet.

  • log_others –

    Log multiple metadata values to Comet.

  • log_param –

    Log one parameter to Comet.

  • log_params –

    Log multiple parameters to Comet.

  • start –

    Start a Comet experiment for the owning run.

disabled class-attribute instance-attribute

disabled: bool = attrs.field(default=False)

experiment property

experiment: CometExperiment

Currently running Comet experiment, or a mock fallback.

name class-attribute instance-attribute

name: PluginName = attrs.field(
    default=attrs.Factory(_default_name, takes_self=True),
    kw_only=True,
)

run class-attribute instance-attribute

run: Run = attrs.field(repr=False)

end

end(exc: BaseException | None = None) -> None

End the active Comet experiment after Git finalization.

Source code in src/liblaf/cherries/plugins/comet.py
@core.impl(after=("Git",))
def end(self, exc: BaseException | None = None) -> None:
    """End the active Comet experiment after Git finalization."""
    del exc
    self.experiment.end()

log_asset

log_asset(
    path: Path,
    *,
    metadata: Mapping[str, Any] | None = None,
    report: bool = True,
) -> None

Reserve the asset hook for future Comet artifact support.

Source code in src/liblaf/cherries/plugins/comet.py
@core.impl
def log_asset(
    self,
    path: Path,
    *,
    metadata: Mapping[str, Any] | None = None,
    report: bool = True,
) -> None:
    """Reserve the asset hook for future Comet artifact support."""

log_metric

log_metric(
    name: str, value: float, *, step: int, time: datetime
) -> None

Log one metric to Comet.

Source code in src/liblaf/cherries/plugins/comet.py
@core.impl
def log_metric(self, name: str, value: float, *, step: int, time: datetime) -> None:
    """Log one metric to Comet."""
    del time
    return self.experiment.log_metric(name, value, step=step)

log_metrics

log_metrics(
    metrics: dict[str, float], *, step: int, time: datetime
) -> None

Log multiple metrics to Comet.

Source code in src/liblaf/cherries/plugins/comet.py
@core.impl
def log_metrics(
    self, metrics: dict[str, float], *, step: int, time: datetime
) -> None:
    """Log multiple metrics to Comet."""
    del time
    return self.experiment.log_metrics(metrics, step=step)

log_other

log_other(name: str, value: Any) -> None

Log one metadata value to Comet.

Source code in src/liblaf/cherries/plugins/comet.py
@core.impl
def log_other(self, name: str, value: Any) -> None:
    """Log one metadata value to Comet."""
    return self.experiment.log_other(name, value)

log_others

log_others(others: dict[str, Any]) -> None

Log multiple metadata values to Comet.

Source code in src/liblaf/cherries/plugins/comet.py
@core.impl
def log_others(self, others: dict[str, Any]) -> None:
    """Log multiple metadata values to Comet."""
    return self.experiment.log_others(others)

log_param

log_param(name: str, value: Any) -> None

Log one parameter to Comet.

Source code in src/liblaf/cherries/plugins/comet.py
@core.impl
def log_param(self, name: str, value: Any) -> None:
    """Log one parameter to Comet."""
    return self.experiment.log_parameter(name, value)

log_params

log_params(params: dict[str, Any]) -> None

Log multiple parameters to Comet.

Source code in src/liblaf/cherries/plugins/comet.py
@core.impl
def log_params(self, params: dict[str, Any]) -> None:
    """Log multiple parameters to Comet."""
    return self.experiment.log_parameters(params)

start

start() -> None

Start a Comet experiment for the owning run.

Source code in src/liblaf/cherries/plugins/comet.py
@core.impl
def start(self) -> None:
    """Start a Comet experiment for the owning run."""
    try:
        exp: comet.CometExperiment = comet.start(
            project_name=self.run.project_name,
            experiment_config=comet.ExperimentConfig(
                disabled=self.disabled, name=self.run.run_name, tags=self.run.tags
            ),
        )
    except ValueError:
        logger.exception("")
    else:
        self.run.log_other("cherries/comet/url", exp.url)