Пример #1
0
def test_live_provides_metrics(tmp_dir, dvc, live_stage):
    live_stage(summary=True, live="logs")

    assert (tmp_dir / "logs.json").is_file()
    assert dvc.metrics.show() == {
        "": {
            "data": {
                "logs.json": {
                    "data": {
                        "accuracy": 0.5,
                        "loss": 0.5,
                        "step": 1
                    }
                }
            }
        }
    }

    assert (tmp_dir / "logs").is_dir()
    plots_data = dvc.plots.show()
    files = get_files(plots_data)
    assert os.path.join("logs", "scalars", "accuracy.tsv") in files
    assert os.path.join("logs", "scalars", "loss.tsv") in files
    assert os.path.join("logs", "images", "0", "image.jpg") in files
    assert os.path.join("logs", "images", "1", "image.jpg") in files
Пример #2
0
    def __init__(self, data: Dict):
        self.data = data

        from dvc.render.utils import get_files

        files = get_files(self.data)

        # we assume comparison of same file between revisions for now
        assert len(files) == 1
        self.filename = files.pop()
Пример #3
0
def test_live_provides_no_metrics(tmp_dir, dvc, live_stage):
    live_stage(summary=False, live="logs")

    assert not (tmp_dir / "logs.json").is_file()
    assert dvc.metrics.show() == {"": {}}

    assert (tmp_dir / "logs").is_dir()
    plots_data = dvc.plots.show()
    files = get_files(plots_data)
    assert os.path.join("logs", "accuracy.tsv") in files
    assert os.path.join("logs", "loss.tsv") in files
Пример #4
0
def test_plots_order(tmp_dir, dvc):
    tmp_dir.gen({
        "p.json": json.dumps([{
            "p1": 1
        }, {
            "p1": 2
        }]),
        "p1.json": json.dumps([{
            "p2": 1
        }, {
            "p2": 2
        }]),
        "sub": {
            "p3.json": json.dumps([{
                "p3": 1
            }, {
                "p3": 2
            }]),
            "p4.json": json.dumps([{
                "p4": 1
            }, {
                "p4": 2
            }]),
        },
    })

    dvc.stage.add(
        plots=["p.json", str(tmp_dir / "sub" / "p4.json")],
        cmd="cmd1",
        name="stage1",
    )
    with (tmp_dir / "sub").chdir():
        dvc.stage.add(
            plots=[str(tmp_dir / "p1.json"), "p3.json"],
            cmd="cmd2",
            name="stage2",
        )

    assert get_files(dvc.plots.show()) == [
        "p.json",
        "p1.json",
        os.path.join("sub", "p3.json"),
        os.path.join("sub", "p4.json"),
    ]
Пример #5
0
 def matches(data):
     files = get_files(data)
     extensions = set(map(lambda f: os.path.splitext(f)[1], files))
     return extensions.issubset({".yml", ".yaml", ".json", ".csv", ".tsv"})
Пример #6
0
 def matches(data):
     files = get_files(data)
     extensions = set(map(lambda f: os.path.splitext(f)[1], files))
     return extensions.issubset({".jpg", ".jpeg", ".gif", ".png"})