From 34804b5636608f4070473ab6e2931d5665146b6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20Rowlands=20=28=EB=B3=80=EA=B8=B0=ED=98=B8=29?= Date: Thu, 8 Oct 2020 17:47:42 +0900 Subject: [PATCH] experiments: fix checkpoints callback bug when pipeline includes data (#4678) --- dvc/repo/experiments/__init__.py | 4 +++- dvc/repo/reproduce.py | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/dvc/repo/experiments/__init__.py b/dvc/repo/experiments/__init__.py index 73498c309..0559d8870 100644 --- a/dvc/repo/experiments/__init__.py +++ b/dvc/repo/experiments/__init__.py @@ -20,6 +20,7 @@ from dvc.path_info import PathInfo from dvc.progress import Tqdm from dvc.repo.experiments.executor import ExperimentExecutor, LocalExecutor from dvc.scm.git import Git +from dvc.stage import PipelineStage from dvc.stage.serialize import to_lockfile from dvc.tree.repo import RepoTree from dvc.utils import dict_sha256, env2bool, relpath @@ -42,7 +43,8 @@ def scm_locked(f): def hash_exp(stages): exp_data = {} for stage in stages: - exp_data.update(to_lockfile(stage)) + if isinstance(stage, PipelineStage): + exp_data.update(to_lockfile(stage)) return dict_sha256(exp_data) diff --git a/dvc/repo/reproduce.py b/dvc/repo/reproduce.py index 529261987..a11d2ae13 100644 --- a/dvc/repo/reproduce.py +++ b/dvc/repo/reproduce.py @@ -239,11 +239,11 @@ def _reproduce_stages( unchanged = [] # `ret` is used to add a cosmetic newline. ret = [] + checkpoint_func = kwargs.pop("checkpoint_func", None) for stage in pipeline: if ret: logger.info("") - checkpoint_func = kwargs.pop("checkpoint_func", None) if checkpoint_func: kwargs["checkpoint_func"] = partial( _repro_callback, checkpoint_func, unchanged