tensorflow / tensorflow/tensorboard
Usability issue: clobbered runs, lost data
Nobody has claimed this yet.
- 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:
-
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.) -
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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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