Experiment trackers
Experiment Tracking
The Base Tracker Class
class accelerate.tracking.GeneralTracker
( _blank = False )
A base Tracker class to be used for all logging integration implementations.
Each function should take in **kwargs
that will automatically be passed in from a base dictionary provided to Accelerator.
Should implement name
, requires_logging_directory
, and tracker
properties such that:
name
(str
): String representation of the tracker class name, such as “TensorBoard” requires_logging_directory
(bool
): Whether the logger requires a directory to store their logs. tracker
(object
): Should return internal tracking mechanism used by a tracker class (such as the run
for wandb)
Implementations can also include a main_process_only
(bool
) attribute to toggle if relevent logging, init, and other functions should occur on the main process or across all processes (by default will use True
)
finish
( )
Should run any finalizing functions within the tracking API. If the API should not have one, just don’t overwrite that method.
log
( values: dictstep: typing.Optional[int]**kwargs )
Parameters
values (Dictionary
str
tostr
,float
, orint
) — Values to be logged as key-value pairs. The values need to have typestr
,float
, orint
.step (
int
, optional) — The run step. If included, the log will be affiliated with this step.
Logs values
to the current run. Base log
implementations of a tracking API should go in here, along with special behavior for the `step parameter.
store_init_configuration
( values: dict )
Parameters
values (Dictionary
str
tobool
,str
,float
orint
) — Values to be stored as initial hyperparameters as key-value pairs. The values need to have typebool
,str
,float
,int
, orNone
.
Logs values
as hyperparameters for the run. Implementations should use the experiment configuration functionality of a tracking API.
Integrated Trackers
class accelerate.tracking.TensorBoardTracker
( run_name: strlogging_dir: typing.Union[str, os.PathLike]**kwargs )
Parameters
run_name (
str
) — The name of the experiment runlogging_dir (
str
,os.PathLike
) — Location for TensorBoard logs to be stored. kwargs — Additional key word arguments passed along to thetensorboard.SummaryWriter.__init__
method.
A Tracker
class that supports tensorboard
. Should be initialized at the start of your script.
__init__
( run_name: strlogging_dir: typing.Union[str, os.PathLike]**kwargs )
class accelerate.tracking.WandBTracker
( run_name: str**kwargs )
Parameters
run_name (
str
) — The name of the experiment run. kwargs — Additional key word arguments passed along to thewandb.init
method.
A Tracker
class that supports wandb
. Should be initialized at the start of your script.
__init__
( run_name: str**kwargs )
class accelerate.tracking.CometMLTracker
( run_name: str**kwargs )
Parameters
run_name (
str
) — The name of the experiment run. kwargs — Additional key word arguments passed along to theExperiment.__init__
method.
A Tracker
class that supports comet_ml
. Should be initialized at the start of your script.
API keys must be stored in a Comet config file.
__init__
( run_name: str**kwargs )
class accelerate.tracking.AimTracker
( run_name: strlogging_dir: typing.Union[str, os.PathLike, NoneType] = '.'**kwargs )
Parameters
run_name (
str
) — The name of the experiment run. kwargs — Additional key word arguments passed along to theRun.__init__
method.
A Tracker
class that supports aim
. Should be initialized at the start of your script.
__init__
( run_name: strlogging_dir: typing.Union[str, os.PathLike, NoneType] = '.'**kwargs )
class accelerate.tracking.MLflowTracker
( experiment_name: str = Nonelogging_dir: typing.Union[str, os.PathLike, NoneType] = Nonerun_id: typing.Optional[str] = Nonetags: typing.Union[typing.Dict[str, typing.Any], str, NoneType] = Nonenested_run: typing.Optional[bool] = Falserun_name: typing.Optional[str] = Nonedescription: typing.Optional[str] = None )
Parameters
experiment_name (
str
, optional) — Name of the experiment. Environment variable MLFLOW_EXPERIMENT_NAME has priority over this argument.logging_dir (
str
oros.PathLike
, defaults to"."
) — Location for mlflow logs to be stored.run_id (
str
, optional) — If specified, get the run with the specified UUID and log parameters and metrics under that run. The run’s end time is unset and its status is set to running, but the run’s other attributes (source_version, source_type, etc.) are not changed. Environment variable MLFLOW_RUN_ID has priority over this argument.tags (
Dict[str, str]
, optional) — An optionaldict
ofstr
keys and values, or astr
dump from adict
, to set as tags on the run. If a run is being resumed, these tags are set on the resumed run. If a new run is being created, these tags are set on the new run. Environment variable MLFLOW_TAGS has priority over this argument.nested_run (
bool
, optional, defaults toFalse
) — Controls whether run is nested in parent run. True creates a nested run. Environment variable MLFLOW_NESTED_RUN has priority over this argument.run_name (
str
, optional) — Name of new run (stored as a mlflow.runName tag). Used only whenrun_id
is unspecified.description (
str
, optional) — An optional string that populates the description box of the run. If a run is being resumed, the description is set on the resumed run. If a new run is being created, the description is set on the new run.
A Tracker
class that supports mlflow
. Should be initialized at the start of your script.
__init__
( experiment_name: str = Nonelogging_dir: typing.Union[str, os.PathLike, NoneType] = Nonerun_id: typing.Optional[str] = Nonetags: typing.Union[typing.Dict[str, typing.Any], str, NoneType] = Nonenested_run: typing.Optional[bool] = Falserun_name: typing.Optional[str] = Nonedescription: typing.Optional[str] = None )
Last updated