在 GitHub 上编辑
dvc.api.metrics_show()
获取在 DVC 仓库 中跟踪的指标。
def metrics_show(
*targets: str,
repo: Optional[str] = None,
rev: Optional[str] = None,
config: Optional[dict] = None,
) -> Dict:
用法:
import dvc.api
metrics = dvc.api.metrics_show()
描述
从一个 DVC 仓库 获取指标值,并返回一个字典,例如:
{
"avg_prec": { "train": 0.97, "val": 0.92 },
"roc_auc": { "train": 0.98, "val": 0.94 }
}
不带参数时,此函数将从所有被跟踪的指标文件(在任何 dvc.yaml
文件中使用)中检索所有指标。当使用 Git 时,这适用于当前项目版本(包括工作区中的任何更改)。
通过以下函数参数,可以限制获取的内容。
Metrics
-
*targets
- 一个或多个指向有效指标文件的路径,用于从中获取指标,例如"eval/train_val_metrics.json", "eval/test_metrics.json"
。若未提供targets
,默认将使用所有在任意dvc.yaml
中被跟踪的指标文件。 -
repo
— 指定 DVC 项目的所在位置。可以是 URL 或文件系统路径。在线 Git 仓库支持 HTTP 和 SSH 协议(例如[user@]server:project.git
)。默认值:当前项目(从当前工作目录向上查找确定)。 -
rev
- Git 提交(任何版本,如分支名、标签名、提交哈希或实验名称)。如果repo
不是 Git 仓库,则忽略此选项。默认值:None
(使用当前工作树) -
config
- 传递给 DVC 项目的 配置 字典。该配置会与现有项目配置合并,可用于例如向remote
提供凭据。示例请参见 dvc.api.open。
示例:按一个或多个目标过滤
targets
可以是单个名称(字符串):
import dvc.api
metrics = dvc.api.metrics_show("eval/train_val_metrics.json")
{
"avg_prec": { "train": 0.97, "val": 0.92 },
"roc_auc": { "train": 0.98, "val": 0.94 }
}
或者多个名称(字符串):
import dvc.api
metrics = dvc.api.metrics_show("eval/train_val_metrics.json", "eval/test_metrics.json")
{
"eval/train_val_metrics.json": {
"avg_prec": { "train": 0.97, "val": 0.92 },
"roc_auc": { "train": 0.98, "val": 0.94 }
},
"eval/test_metrics.json": {
"avg_prec": { "test": 0.72 },
"roc_auc": { "test": 0.77 }
}
}
示例:按修订版本过滤
你可以传入任意有效的 Git 修订版本,仅获取该版本中的指标:
import dvc.api
metrics = dvc.api.metrics_show(rev="HEAD~1")
{
"avg_prec": { "train": 0.97, "val": 0.92 },
"roc_auc": { "train": 0.98, "val": 0.94 }
}
示例:使用远程 DVC 仓库
你可以使用 repo
参数从任意 DVC 仓库 获取指标,而无需将其克隆到本地。
import dvc.api
metrics = dvc.api.metrics_show(
repo="https://github.com/iterative/example-get-started")
{
"avg_prec": {
"train": 0.9743681430252835,
"test": 0.9249974999612706
},
"roc_auc": {
"train": 0.9866678562450621,
"test": 0.9460213440787918
}
}