Catalyst
DVCLive allows you to add experiment tracking capabilities to your Catalyst projects.
Usage
Include the
DVCLiveCallback
in the callbacks list passed to your
Runner
:
from dvclive.catalyst import DVCLiveCallback
...
runner.train(
model=model, criterion=criterion, optimizer=optimizer, loaders=loaders,
callbacks=[DVCLiveCallback()])
Each metric will be logged to:
{Live.plots_dir}/metrics/{split}/{metric}.tsv
Where:
{Live.plots_dir}
is defined inLive
.{split}
can be eithertrain
orvalid
.{metric}
is the name provided by the framework.
Parameters
-
model_file
- (None
by default) - The name of the file where the model will be saved at the end of eachstep
. -
live
- (None
by default) - OptionalLive
instance. IfNone
, a new instance will be created using**kwargs
. -
**kwargs
- Any additional arguments will be used to instantiate a newLive
instance. Iflive
is used, the arguments are ignored.
Examples
- Using
live
to pass an existingLive
instance.
from dvclive import Live
from dvclive.catalyst import DVCLiveCallback
with Live("custom_dir") as live:
runner.train(
model=model,
criterion=criterion,
optimizer=optimizer,
loaders=loaders,
num_epochs=2,
callbacks=[
DVCLiveCallback(live=live)])
# Log additional metrics after training
live.log_metric("summary_metric", 1.0, plot=False)
- Using
model_file
.
runner.train(
model=model,
criterion=criterion,
optimizer=optimizer,
loaders=loaders,
num_epochs=2,
callbacks=[DVCLiveCallback(model_file="model.pth")])
- Using
**kwargs
to customize the newLive
instance.
runner.train(
model=model,
criterion=criterion,
optimizer=optimizer,
loaders=loaders,
num_epochs=2,
callbacks=[
DVCLiveCallback(model_file="model.pth", dir="custom_dir")])