示例#1
0
def log_params_flatten(params: dict,
                       parent_key: str = "",
                       sep: str = ".") -> None:
    """
    Log a batch of params after flattening.

    Parameters
    ----------
    params : dict
        Dictionary of parameters to log.
    parent_key : str, default ""
        Parent key.
    sep : str, default "."
        Key separator.

    Returns
    -------
    None
        None

    Examples
    --------
    >>> with mlflow.start_run() as run:
    ...     params = {"a": {"b": 0}}
    ...     mlflow.log_params_flatten(params)
    ...     mlflow.log_params_flatten(params, parent_key="d")
    ...     mlflow.log_params_flatten(params, sep="_")
    >>> r = mlflow.get_run(run.info.run_id)
    >>> sorted(r.data.params.items())
    [('a.b', '0'), ('a_b', '0'), ('d.a.b', '0')]

    """
    mlflow.log_params(flatten_dict(params, parent_key, sep))
示例#2
0
def log_metrics_flatten(
    metrics: dict,
    step: Optional[int] = None,
    parent_key: str = "",
    sep: str = ".",
) -> None:
    """
    Log a batch of metrics after flattening.

    Parameters
    ----------
    metrics : dict
        Dictionary of metrics to log.
    step : int, default None
        Metric step. Defaults to zero if unspecified.
    parent_key : str, default ""
        Parent key.
    sep : str, default "."
        Key separator.

    Examples
    --------
    >>> with mlflow.start_run() as run:
    ...     metrics = {"a": {"b": 0.0}}
    ...     mlflow.log_metrics_flatten(metrics)
    ...     mlflow.log_metrics_flatten(metrics, parent_key="d")
    ...     mlflow.log_metrics_flatten(metrics, sep="_")
    >>> r = mlflow.get_run(run.info.run_id)
    >>> sorted(r.data.metrics.items())
    [('a.b', 0.0), ('a_b', 0.0), ('d.a.b', 0.0)]

    """
    mlflow.log_metrics(flatten_dict(metrics, parent_key, sep), step)
示例#3
0
def test_flatten_dict():
    dct = {"a": {"b": "c"}}
    assert utils.flatten_dict(dct) == {"a.b": "c"}
    assert utils.flatten_dict(dct, parent_key="d") == {"d.a.b": "c"}
    assert utils.flatten_dict(dct, sep="_") == {"a_b": "c"}