tensorflow / tensorflow/tensorboard

Usability issue: clobbered runs, lost data

Open
#544 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

core:backend core:summaries theme:usability
Dominant language
TypeScript
Stars
7.2k
Forks
1.7k
Avg merge
4d 22h
Merged PRs (30d)
1

Description

It's very natural to write code that writes multiple runs to the same run directory, e.g. because you have code that explicitly specifies a log directory, and you run that code multiple times. Empirically, it looks like TensorBoard silently discards some of the data so as to show only one run (?)

It would be great to solve this problem for our users. There are basically two approaches:

  1. Change TensorBoard so that it automatically detects when the run has restarted, and separates it into a new run (probably with a numerical sequential naming scheme).
    1.1 Ideally, add on some API that makes it natural to give these runs names or choose to preserve certain runs. (We've talked about adding explicit hyperparameter support to TensorBoard, I think that would help here.)

  2. Add a new SummaryWriterManager type API, which when used in lieu of the summary writer automatically creates a clean directory structure for TensorBoard.

I think 1. is much preferable to 2. because there are so many SummaryWriters/FileWriters already present in many different libraries that use TensorFlow, it would be difficult to get an API usage shift at this time.

@jart is this something you could include in your backend data ingestion refactoring?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the backend data ingestion refactoring and the SummaryWriter/FileWriter paths mentioned in the issue. Determine how repeated writes to one run directory are currently handled; done should mean runs are no longer silently discarded and the chosen naming or preservation behavior is covered by tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, tensorflow
Domain
backend, data-visualization
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.