Skip to main content

Read TensorBoard event logs as files through a FUSE filesystem.

Project description

tboardfs

License: MIT Python: >=3.12 Version: 0.2.3 Status: Alpha

Mount and inspect TensorBoard event logs as ordinary files.

tboardfs has two access modes:

  • Filesystem mode mounts a log directory with FUSE.
  • Command mode inspects or copies the virtual content of one event file.

Both modes use the same virtual paths for TensorBoard tabs such as scalars, images, tensors, meshes, pr_curves, hparams, and custom_scalars.

Filesystem Mode

Mount a TensorBoard log directory:

tboardfs SOURCE MOUNTPOINT

For non-developers, the simplest way to run it without cloning this repository or managing a local virtual environment is:

uvx tboardfs SOURCE MOUNTPOINT

Example:

tboardfs runs/experiment-1 mnt/tboardfs
ls mnt/tboardfs
cat mnt/tboardfs/train/scalars/loss.json

Mount mode is the primary workflow for browsing full log directories. It exposes run directories, FUSE cache-control files, and supported sidecars such as projector/profile files.

Command Mode

Use tboardfs-file when mounting is unavailable or when you need scripted access to one TensorBoard event file.

List every virtual file:

tboardfs-file list events.out.tfevents.123

List files below a virtual path:

tboardfs-file list events.out.tfevents.123 /meshes

Extract one virtual file to stdout:

tboardfs-file get events.out.tfevents.123 /scalars/loss.json -o -

Extract one virtual file to disk:

tboardfs-file get events.out.tfevents.123 /images/sample/000001.png -o sample.png

The virtual path may be written with or without the leading /. If -o points to an existing directory, or to a missing path ending in /, get writes the virtual file basename inside that directory.

tboardfs-file get events.out.tfevents.123 scalars/loss.json -o exported/

Copy the full virtual tree:

tboardfs-file copy-all events.out.tfevents.123 exported-event

Command mode exposes tab directories directly at the root, for example /scalars, /images, and /meshes. It accepts a single event file, omits FUSE control files, and does not include sibling sidecars.

get refuses to overwrite existing files unless --force is provided. copy-all copies files in deterministic virtual-path order. If it reaches an existing target without --force, it stops, reports how many files were already copied, lists those virtual paths, prints the conflicting output path, and suggests --force. After a successful copy, copy-all reports the number of copied files.

Use --skip-existing to leave existing output files untouched and continue copying the rest of the tree:

tboardfs-file copy-all events.out.tfevents.123 exported-event --skip-existing

Each skipped virtual path is reported as a warning on stderr. --force and --skip-existing are mutually exclusive.

Supported Objects

The virtual tree covers these TensorBoard objects:

  • Scalars: full-series json, tsv, and npz exports under /scalars.
  • Custom scalars: layout JSON under /custom_scalars.
  • Images: encoded image files under /images.
  • Audio: encoded audio files under /audio.
  • Videos: encoded video/GIF outputs under /videos, including raw subpaths when present.
  • Histograms: per-step json, tsv, and npz exports under /histograms.
  • Distributions: per-step distribution tables under /distributions.
  • Text summaries: UTF-8 text files under /text.
  • Meshes: per-step json, npz, and Wavefront obj exports under /meshes.
  • PR curves: per-step json, tsv, and npy exports under /pr_curves.
  • HParams: merged experiment/session/metric JSON under /hparams.
  • Tensors: tensor arrays as npy plus compact JSON or native blob files under /tensors.
  • Graphs: graph protobuf files under /graphs.
  • Projector and profile sidecars: available in filesystem mode under /projector and /profile; command mode intentionally omits sibling sidecar files because it operates on one event file.
  • Other plugin JSON payloads: exposed under /plugins when no typed tab handles them.

Output Rules

tboardfs-file list prints virtual file paths to stdout, one per line. tboardfs-file get -o - writes raw bytes to stdout. Extraction status, warnings, errors, copied-file counts, skipped-path warnings, copied-path conflict reports, and overwrite hints are written to stderr through Loguru/Click so stdout remains safe for pipelines.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tboardfs-0.2.3.tar.gz (31.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tboardfs-0.2.3-py3-none-any.whl (43.9 kB view details)

Uploaded Python 3

File details

Details for the file tboardfs-0.2.3.tar.gz.

File metadata

  • Download URL: tboardfs-0.2.3.tar.gz
  • Upload date:
  • Size: 31.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for tboardfs-0.2.3.tar.gz
Algorithm Hash digest
SHA256 14450c8655a8b3e41c1bd623693095e84dac2e3cacdad3d3ba6928c17f8438cd
MD5 aa44b517ab8b9aa4d194b699a2f2ea4c
BLAKE2b-256 9719c885ee66491eb438bbdb0ffefd5a74b7b7897132f6701b1c4e642a1b85d2

See more details on using hashes here.

File details

Details for the file tboardfs-0.2.3-py3-none-any.whl.

File metadata

  • Download URL: tboardfs-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 43.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for tboardfs-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 d2e204cdda77f810e19f24d35a4a3e559c0e0f7caa4916e5120ec836796e6ebe
MD5 5076d15be9b0fc49cb18c39b83ab0c1b
BLAKE2b-256 ad093bf1f10fc6c36a516b935a5974e605894a1d2d96420b429209372acaa14b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page