Logging¶
Training configs default to TensorBoard with training.logger=tensorboard.
Set training.logger=wandb to enable Weights & Biases integration.
TensorBoard¶
Run any training command with the default logger:
uv run train --algo ppo --task go2_joystick_flat --sim mujoco
Run directories are created under logs/<algo.algo_log_name>/<task>/ unless
training.log_root or training.log_dir is overridden by the selected stack.
Log Roots Per Algorithm¶
algo_log_name is set by each stack’s config and resolves to a concrete root:
Algorithm |
Log Root |
|
|---|---|---|
PPO |
|
|
MLX PPO |
|
|
APPO |
|
|
SAC |
|
|
FlashSAC |
|
|
TD3 |
|
|
Run Directory Naming¶
A single run directory is named with a UTC-local timestamp plus the simulation backend:
YYYY-MM-DD_HH-MM-SS_<sim_backend>
For example, 2026-03-09_18-30-00_mujoco. Common local artifacts written into a
run directory are:
run_config.jsonrun_summary.jsoncheckpoint files
play_video.mp4(MuJoCo, when that run produced a playback video)
Weights & Biases¶
uv run train --algo ppo --task go2_joystick_flat --sim mujoco \
training.logger=wandb \
training.wandb_project=unilab
Supported shared W&B fields are declared in the training config blocks:
training.wandb_projecttraining.wandb_entitytraining.wandb_grouptraining.wandb_nametraining.wandb_tagstraining.wandb_notestraining.wandb_mode
src/unilab/training/experiment.py writes run_config.json and
run_summary.json in the run directory. RSL-RL PPO also patches the RSL-RL W&B
writer when training.logger=wandb. When the backend is MuJoCo and a run
produces play_video.mp4, that video is uploaded to the W&B run.
Trace Options¶
The off-policy config exposes trace fields such as
training.trace_enabled, training.trace_output_dir,
training.trace_thread_time, and training.trace_cuda_events.