Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Productionize TensorBoard #92

Closed
1 of 24 tasks
jart opened this issue Jun 16, 2017 · 9 comments
Closed
1 of 24 tasks

Productionize TensorBoard #92

jart opened this issue Jun 16, 2017 · 9 comments

Comments

@jart
Copy link
Contributor

jart commented Jun 16, 2017

Note: This information is somewhat of date. New information will be shared shortly.

We have just begun working on making TensorBoard capable of running as a multitenant production service. This issue will be tracking progress and commits relating to this effort.

Prerequisites

  • Refactor plugin API to support DB 832248c
  • Refactor EventAccumulator into plugins
  • SQL templatization

Features

  • Persistent storage
  • Multiple experiments
  • Experiment listing page
  • Experiment comparison
  • Experiment search
  • Event log ingestion service
  • Event log uploader
  • User identities

Database Support

  • SQLite
  • Cloud Spanner
  • PostgreSQL
  • MySQL

Cache Support

  • Redis
  • Memcached
  • Cloud Memcache
  • Amazon ElastiCache

Productionization

  • Kubernetes + Docker
  • Scripts to deploy to GCE
  • Scripts to deploy to AWS

Monitoring

  • Stackdriver configuration

Security

  • Group ACLs for experiments

Please note that the list above contains both things: a) we intend to write; and b) would be nice to write. We may not necessarily have time to implement all of the above. If any of these checkboxes are of particular importance to you, or you'd like to see some added, or would like to contribute to their development, then please let us know.

@jart jart self-assigned this Jun 16, 2017
jart added a commit to jart/tensorboard that referenced this issue Jul 7, 2017
These classes are similar to EventFileLoader but have functionality for
tracking the current offset and size of a record file. This will allow the
loader to display a really cool looking progress bar.

RecordReader provides a higher level and more Pythonic alternative to
PyRecordReader when it comes to reading TensorFlow record files.

BufferedRecordReader layers a thread on top of RecordReader and implements the
same interface. This will become the default because it doesn't have any impact
on local throughput, but is guaranteed to go fast for remote file systems.

In the future, we may decouple these classes from PyRecordReader.

See tensorflow#92
jart added a commit that referenced this issue Jul 7, 2017
Introduce RecordReader and BufferedRecordReader

These classes are similar to EventFileLoader but have functionality for
tracking the current offset and size of a record file. This will allow the
loader to display a really cool looking progress bar.

RecordReader provides a higher level and more Pythonic alternative to
PyRecordReader when it comes to reading TensorFlow record files.

BufferedRecordReader layers a thread on top of RecordReader and implements the
same interface. This will become the default because it doesn't have any impact
on local throughput, but is guaranteed to go fast for remote file systems.

In the future, we may decouple these classes from PyRecordReader.

See #92
jart added a commit to jart/tensorboard that referenced this issue Jul 11, 2017
These tables will be used by FileLoader to transactionally import event logs
into the database, while maintaining progress.

See tensorflow#92
jart added a commit that referenced this issue Jul 13, 2017
These tables will be used by FileLoader to transactionally import event logs
into the database, while maintaining progress.

See #92
@teamdandelion teamdandelion marked this as a duplicate of #243 Jul 21, 2017
@weberxie
Copy link

weberxie commented Aug 9, 2017

Hi, @jart this issue looks like a vast project, whether there is a design document to describe what you want to make? It is convenient for us to take part in.

@jlewi
Copy link

jlewi commented Sep 21, 2017

@jart How will non Tensor summaries be stored in the database? Will they be converted into Tensors and stored in the Tensors table?

@bhack
Copy link

bhack commented Dec 1, 2017

Any news on this? Can you expose a Roadmap related to TB versions?

@jart
Copy link
Contributor Author

jart commented Dec 1, 2017

Still working on getting some functionality off the ground. I plan to communicate as this happens.

@cwbeitel
Copy link

Experiment listing, comparison, and search are awesome features.

@jart
Copy link
Contributor Author

jart commented Apr 7, 2018

I'm closing this issue out because a lot of the things we listed earlier are too ambitious and potentially overlap with the work other folks are doing. We'll need to think more about how we want to approach this topic delicately, in a way that dovetails with the efforts of other teams and companies.

@jart jart closed this as completed Apr 7, 2018
@thinxer
Copy link

thinxer commented Apr 8, 2018

Hi @jart , would you please share some stories about what other teams are doing on this topic? Maybe the community can work out a pluggable interface for multi-tenant usages.

@alexattia
Copy link

Do you plan to add security (password login for instance) to TensorBoard?

@guhur
Copy link

guhur commented Aug 12, 2019

Do you plan to add security (password login for instance) to TensorBoard?

@alexattia an alternative solution consists in using TensorBoard behind a web server and adding an authentication on the web server.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

8 participants