Beispiel #1
0
    def log_metrics(self, step=None, timestamp=None, **metrics):
        """Logs multiple metrics.

        ```python
        >>> log_metrics(step=123, loss=0.023, accuracy=0.91)
        ```

        > It's very important to log `step` as one of your metrics
        if you want to compare experiments on the dashboard
        and use the steps in x-axis instead of timestamps.

        Args:
            step: int, optional
            timestamp: datetime, optional
            **metrics: **kwargs, key: value
        """
        self._log_has_events()

        events = []
        for metric in metrics:
            event_value = events_processors.metric(metrics[metric])
            if event_value == UNKNOWN:
                continue
            events.append(
                LoggedEventSpec(
                    name=metric,
                    kind=V1ArtifactKind.METRIC,
                    event=V1Event.make(timestamp=timestamp,
                                       step=step,
                                       metric=event_value),
                ))
        if events:
            self._event_logger.add_events(events)
Beispiel #2
0
 def log_metric(self, name, value, step=None, timestamp=None):
     events = []
     event_value = events_processors.metric(value)
     if event_value == UNKNOWN:
         return
     events.append(
         LoggedEventSpec(
             name=name,
             kind=V1ArtifactKind.METRIC,
             event=V1Event.make(timestamp=timestamp, step=step, metric=event_value),
         )
     )
     if events:
         self._event_logger.add_events(events)
         self._results[name] = event_value
Beispiel #3
0
 def log_metrics(self, step=None, timestamp=None, **metrics):
     events = []
     for metric in metrics:
         event_value = events_processors.metric(metrics[metric])
         if event_value == UNKNOWN:
             continue
         events.append(
             LoggedEventSpec(
                 name=metric,
                 kind=V1ArtifactKind.METRIC,
                 event=V1Event.make(timestamp=timestamp,
                                    step=step,
                                    metric=event_value),
             ))
     if events:
         self._event_logger.add_events(events)
Beispiel #4
0
    def log_metric(self,
                   name: str,
                   value: float,
                   step: int = None,
                   timestamp=None):
        """Logs a metric datapoint.

        ```python
        >>> log_metric(name="loss", value=0.01, step=10)
        ```

        > It's very important to log `step` as one of your metrics
        if you want to compare experiments on the dashboard
        and use the steps in x-axis instead of timestamps.

        Args:
            name: str, metric name
            value: float, metric value
            step: int, optional
            timestamp: datetime, optional
        """
        self._log_has_events()

        events = []
        event_value = events_processors.metric(value)
        if event_value == UNKNOWN:
            return
        events.append(
            LoggedEventSpec(
                name=name,
                kind=V1ArtifactKind.METRIC,
                event=V1Event.make(timestamp=timestamp,
                                   step=step,
                                   metric=event_value),
            ))
        if events:
            self._event_logger.add_events(events)
            self._results[name] = event_value