Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TensorBoard Export for LichtFeld Studio

Python LichtFeld Plugin API License

TensorBoard Export is a LichtFeld Studio plugin that writes full training metrics from the training lifecycle hooks to TensorBoard-compatible event files and CSV.

It exists because LichtFeld Studio's built-in loss plot is intentionally short-lived UI state. This plugin records the training signal at the source, so long runs can be inspected later in TensorBoard or external analysis tools.

Features

  • Writes TensorBoard event files via tensorboardX.
  • Writes metrics.csv next to each event file run.
  • Writes config.json with plugin/schema version, trainer state, dataset params, and optimization params.
  • Starts a new unique run automatically on training start.
  • Flushes and closes the current run on training end.
  • Exposes plugin UI controls for status, run rotation, folder opening, TensorBoard command copying, and TensorBoard URL opening.
  • Avoids known empty metrics: train/progress is written only when max iterations are known, and PSNR is not exported because this LichtFeld runtime commonly reports it as an empty zero signal.

Screenshots

LichtFeld export panel:

LichtFeld TensorBoard Export panel

TensorBoard dashboard:

TensorBoard dashboard with exported LichtFeld training metrics

Articles

Requirements

  • LichtFeld Studio >=0.4.2
  • LichtFeld plugin API >=1,<2
  • Python >=3.12
  • tensorboardX is used by the plugin for event file writing.
  • TensorBoard itself must be installed and started separately.

Agent Installation

If you use a local coding agent such as Codex, Claude Code, or another assistant with filesystem access, you can ask it to install the plugin for you:

Install the LichtFeld Studio plugin from https://github.com/Dok11/lichtfeld-tensorboard-export.

Clone it into the LichtFeld plugin directory with the exact folder name tensorboard_export:
- Windows: %USERPROFILE%\.lichtfeld\plugins\tensorboard_export
- Linux/macOS: ~/.lichtfeld/plugins/tensorboard_export

After installation, run the LichtFeld plugin check if LichtFeld-Studio.exe is available. Do not rename the plugin folder. Tell me the installed path and whether validation passed.

The agent should clone the repository into LichtFeld's plugin directory as tensorboard_export, so the installed plugin root contains pyproject.toml and __init__.py.

Manual Installation

Clone this repository into LichtFeld's plugin directory with the plugin directory name tensorboard_export:

git clone https://github.com/Dok11/lichtfeld-tensorboard-export.git "$env:USERPROFILE\.lichtfeld\plugins\tensorboard_export"

On Linux/macOS:

git clone https://github.com/Dok11/lichtfeld-tensorboard-export.git ~/.lichtfeld/plugins/tensorboard_export

The plugin directory must contain pyproject.toml and __init__.py at its root.

To update an existing installation:

cd "$env:USERPROFILE\.lichtfeld\plugins\tensorboard_export"
git pull

On Linux/macOS:

cd ~/.lichtfeld/plugins/tensorboard_export
git pull

Then validate it from the directory that contains LichtFeld-Studio.exe:

$env:PYTHONUTF8='1'
.\LichtFeld-Studio.exe plugin check tensorboard_export

PYTHONUTF8=1 works around a Windows plugin validator issue where dependency files inside .venv can be read with the legacy console code page.

Enable the Plugin

After the plugin files are installed, open LichtFeld Studio, go to Tools > Plugin Marketplace, find tensorboard_export, and click Install.

Usage

  1. Open LichtFeld Studio.
  2. Open the plugin manager and load tensorboard_export.
  3. In the TensorBoard Export panel, enable Enabled.
  4. Start training.
  5. The plugin automatically creates a new run directory and starts writing metrics.

Default output directory:

%USERPROFILE%\LichtFeldTensorBoardRuns

Run TensorBoard separately:

py -m pip install tensorboard
tensorboard --logdir "$env:USERPROFILE\LichtFeldTensorBoardRuns" --port 6006

Then open:

http://localhost:6006/?darkMode=true

Open TensorBoard opens the browser URL only. It does not start the TensorBoard server.

Panel Controls

  • Enabled: enables automatic logging.
  • Write CSV: writes metrics.csv next to the TensorBoard event files.
  • Every N steps: controls how often values are written to disk.
  • Log dir: root directory for TensorBoard runs.
  • Run name: optional custom run name. Leave empty for an automatic name.
  • Rotate run now: closes the current writer and starts a new unique run directory.
  • Flush and close run: flushes event files and CSV, then closes the current run.
  • Open run folder: opens the current run directory in Explorer.
  • Copy TensorBoard command: copies the TensorBoard command for the configured log root.
  • Open TensorBoard: opens http://localhost:6006/?darkMode=true.

Run Naming

Automatic run names use:

YYYYMMDD_HHMMSS_<dataset>_<strategy>_<iterations>iter

Fields are omitted when LichtFeld does not expose them. If a directory already exists, the plugin appends a numeric suffix.

TensorBoard Tags

Loss:

  • train/loss_raw: instantaneous loss at the logged iteration.
  • train/loss_mean_since_last_write: average loss across steps observed since the previous write.
  • train/loss_min_since_last_write: minimum loss since the previous write.
  • train/loss_max_since_last_write: maximum loss since the previous write.
  • train/loss_ema_100: exponential moving average updated every training step and written every Every N steps.
  • train/loss_ema_500: slower exponential moving average updated every training step and written every Every N steps.

Training:

  • train/num_gaussians
  • train/progress

Performance:

  • performance/iters_per_second

Trainer:

  • trainer/elapsed_seconds
  • trainer/eta_seconds

Config:

  • config/session text summary

Run Files

Each run directory contains:

events.out.tfevents...
metrics.csv
config.json

config.json includes:

  • schema_version
  • plugin_version
  • trainer_state
  • strategy_type
  • max_gaussians
  • total_iterations
  • optimization_params
  • dataset_params

Known Limitations

  • TensorBoard must be started separately.
  • Old TensorBoard event files keep old tags after plugin upgrades. Create a new run for a clean dashboard.
  • train/progress appears only when total iterations are available through the runtime.

Development Checks

From the directory that contains LichtFeld-Studio.exe:

$env:PYTHONUTF8='1'
.\LichtFeld-Studio.exe plugin check tensorboard_export

From this plugin directory:

.\.venv\Scripts\python.exe -m py_compile .\__init__.py

About

LichtFeld Studio plugin that exports training metrics to TensorBoard event files and CSV.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages