Hello!
Does the dvc metrics diff ref_a ref_b
command work on metrics which are tracked not by git, but instead by dvc?
Our current setup is the following:
- We have a dvc-pipeline-stage, which produces a
eval.json
, which is cached by dvc
dvc run -d dep1 -d dep2 -m eval.json -f data/evaluation.dvc python my_script.py
- According to the docs, the lowercase
-m
putseval.json
on the gitignore and into the dvc cache
- According to the docs, the lowercase
- Our model is trained remotely via a CI-Pipeline, which after a successful run executes a
git add . && git commit && git push && dvc push
- On our local machines then we execute a
git pull && dvc pull
. We now have the trained model and oureval.json
locally available - When we now execute
dvc metrics diff some_other_commit_hash
the command does not find theeval.json
for thesome_other_commit_hash
:$ dvc metrics diff 5f036012bc9d35b7240eab3b7a42792093612ba8 WARNING: Metrics file 'data/evaluation/eval.json' does not exist at the reference '5f036012bc9d35b7240eab3b7a42792093612ba8'. Path Metric Value Change dvc_pipeline/data/evaluation f1 0.11549247896660152 diff not supported /eval.json dvc_pipeline/data/evaluation acc 0.6784822940826416 diff not supported /eval.json dvc_pipeline/data/evaluation loss 1.1063932177428895 diff not supported /eval.json data/evaluation/eval.json f1 0.43913782532829426 diff not supported data/evaluation/eval.json acc 0.750374436378479 diff not supported data/evaluation/eval.json loss 0.6777220140143865 diff not supported
- I’m assuming this command fails, since (I’m guessing) dvc looks for the
eval.json
in the git-cache, but not in the dvc-cache (where it is stored)
Is there a flag, to tell dvc metrics diff ...
that the metrics-file is stored in the dvc cache? Or is this expected to work, and we have an error somewhere else?
Thanks in advance!