dvc-unfreeze
Unlock tracked files for modifications
TLDR
Unfreeze one or more specified stages
SYNOPSIS
dvc unfreeze [-f DVC_YAML_FILE] stage_name [stage_name ...]
PARAMETERS
stage_name
The name(s) of the DVC stage(s) to unfreeze. Multiple stage names can be provided, separated by spaces.
-f, --file DVC_YAML_FILE
Specifies the path to the dvc.yaml file where the stage definitions are located. If omitted, DVC searches for dvc.yaml in the current directory and its parent directories.
DESCRIPTION
dvc unfreeze is a core command in Data Version Control (DVC) used to reverse the effects of dvc freeze. When a DVC pipeline stage is frozen, DVC bypasses its execution during subsequent dvc repro calls, regardless of changes to its dependencies. This feature is invaluable for debugging, isolating pipeline segments, or avoiding redundant computations of stable stages.
The dvc unfreeze command removes the frozen: true flag from the specified stage(s) within the dvc.yaml pipeline definition file. Once a stage is unfrozen, dvc repro will once again actively monitor its dependencies and re-execute the stage if any input data, code, or parameters have changed. This restoration of a stage's active status is crucial for maintaining an up-to-date and fully functional DVC pipeline, ensuring that all components are correctly recomputed as needed. It effectively brings a temporarily suspended stage back into the active pipeline execution flow.
CAVEATS
The command exclusively modifies the dvc.yaml file; it does not trigger immediate re-execution of the stage. To run the unfrozen stage, a subsequent dvc repro command is necessary if its dependencies have changed.
This command operates solely on stages defined within dvc.yaml; an error will occur if a specified stage name does not exist.
For dvc unfreeze to function properly, DVC must be initialized in the project directory using dvc init.
<B>IDEMPOTENCY</B>
Running dvc unfreeze on a stage that is already unfrozen has no adverse effect and does not produce an error, making the command idempotent.
<B>VERSION CONTROL INTEGRATION</B>
Changes made to the dvc.yaml file by dvc unfreeze should typically be committed to your chosen Source Code Management (SCM) system, such as Git. This ensures that the pipeline's execution behavior is consistent across different environments and collaborators, maintaining pipeline reproducibility.
HISTORY
DVC (Data Version Control) was initially released in 2017. The functionality for controlling pipeline execution, including the ability to freeze and unfreeze stages, has been an integral part of DVC since its early development. This feature matured alongside the evolution of the dvc.yaml pipeline definition file, becoming a fundamental component as DVC gained prominence in MLOps and data versioning workflows.
SEE ALSO
dvc freeze(1), dvc repro(1), dvc run(1), dvc.yaml(5)