-
Notifications
You must be signed in to change notification settings - Fork 6.8k
Bring TensorBoard to MXNet #4178
Bring TensorBoard to MXNet #4178
Conversation
Thanks! This looks great. I think its better to have
then
Since we don't want mxnet to depend on protobuf by default. To be clear, this is only the log writing part right? We still need tensorflow/tensorboard installed to render it? |
from .event_pb2 import SessionLog | ||
from .event_pb2 import TaggedRunMetadata | ||
# pylint: enable=unused-import | ||
from tensorflow.python.framework import dtypes as _dtypes |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks like tf installation is still required?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
_dtypes
is used in audio
, and I think it could be easily pull off from TF. Since we haven't support audio
yet, so I'm going to comment/remove these lines, but I will try to support all features of TensorBoard later.
# pylint: disable=unused-import | ||
from tensorflow.python.ops.summary_ops import tensor_summary | ||
# pylint: enable=unused-import | ||
from tensorflow.python.platform import tf_logging as _logging |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These doesn't seem very essential. Is it possible to get rid of it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sorry, my bad. It could be removed.
@piiswrong Yes, the current part is for logging part, the goal is to make it clean from TF. However, users have to install TensorFlow/TensorBoard to visualize the result as we haven't build it alone. The next step is to build TensorBoard alone and together with MXNet (to strip out the rendering part), so users could easily use MXNet and this visualization tool without installing TF. I'm happy to contribute more to DMLC or MXNet and maintain it, but let me figure out how to strip TensorBoard and build it from source first. Thank you! |
@zihaolucky Sounds good. The idea situation would be we have a python package |
@mli Could you create the repo for zihao? |
Just a thought: consider if its possible to do this in a way so that we can easily pull new changes from upstream. |
@piiswrong Thanks for your suggestion. I've thought about this and it's indeed the ideal way. I think we have the same opinion on 'using TensorBoard in MXNet without As for the rendering part(step two), I have to pull out all relevant code of TensorBoard and put it in DMLC/TensorBoard and figure out a way to keep it easy to update with its original, cause TensorBoard could actively update and we have to keep it easy-to-maintain. Discussion: Possible solution of building TensorBoard(the rendering part)As I noticed in installing tensorflow:
and TensorBoard's doc:
So is it a good/possible way to provide tensorboard like this? Then user install MXNet, they just need a tensorboard in requirements.txt which could be easily installed by Just an immature idea, do you think it's possible? |
Hi @piiswrong I've removed the useless tensorflow dependencies and move this package under Consider merge this logging part first when we clear the issues above, then I can move to the rendering part. |
@zihaolucky Lets put this is a standalone repo first and consider merging it into mxnet later since you shouldn't spend too much time worrying about passing test in the beginning. so you should have a dmlc/tensorboard repo with structure like this:
You can start a repo on you own and transfer it to DMLC. |
i created a dmlc/tensorboard repo and a team tensorboard-dev that has admin permission to this repo, hope it helps |
I get it. @piiswrong @mli Thank you again! |
Hi @piiswrong @mufeili
Thanks to the community, we've made some progress in bringing TensorBoard to MXNet. As mentioned in #4003, we've finished the first step and now we can use TensorBoard without relying on TF, so I open this PR and please review the relevant code. Please check the coding style and relevant docs, anything is welcomed as it's my first time to join an open-source project.
Before I move to next step, build TensorBoard alone, I'll add a notebook example to show its usage :)