Code Monkey home page Code Monkey logo

tensorboard-plugin-example's Introduction

Example is deprecated. Please see example at tensorflow/tensorboard for the latest example instead.

This repository has example that works with TensorBoard version 1.13 and prior.

tensorboard-plugin-example's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tensorboard-plugin-example's Issues

How the "import system" works?

Hi, I have a question about how to import tensorboard components in my own plugin. Or in other words, how the current "import system" works?

When I check the greeter plugin, I found something like

<link rel="import" href="../tf-backend/tf-backend.html">

in greeter-plugin.html file. However, there is no such file in the local path. So I am wondering how the build system figure out where to get these dependence files? Here is my guess. Is this specified by the WORKSPACE file, say http_archive, so that every-time it runs the build, it will first download the tensorboard repository from github or somewhere else from the Internet to get the tensorboard dependence and then build the local file.

Any suggestion is highly appreciated!

Distributing and using a plugin

Do I understand it correctly that I have to build a custom TensorBoard just to make it possible to use my plugin? It sounds very unusual and surprising. Wouldn't it be better just to register a plugin somehow or pass its name/path as an argument to TensorBoard?
Also, how can I start my custom TensorBoard without Bazel? The way the demo Greeter tensorboard is started is this:

bazel run //greeter_tensorboard -- --logdir=/tmp/greeter_demo

I am new to both Python and Tensorboard, so I could not figure out a different way to start it.
If this is the only way to start a custom tensorboard, this means every user of my custom tensorboard would have to install Bazel. But I could not even get Bazel to build this Greeter sample on Windows because VC15 compiler (the one that comes with Visual Studio 2017) cannot compile C++ used in TensorBoard (I guess because VC does not fully support modern C++ standard).
I did some googling, but I could not find answers to these questions. Could you write a paragraph explaining how exactly custom tensorboards should be distributed and started?
Sorry if this is the wrong place to ask these questions.

Cannot build greeter tensorboard

Hi,

I have an issue with the building of the plugin example you explain in your README file.
I have installed Bazel. Bazel version is 0.20.0, java -version 1.8.0_191.

When I try to run 'bazel run //greeter_plugin:greeter_demo', I get the output
INFO: Invocation ID: 8601dacc-fed6-44e0-9a7b-60a128cc9f39 ERROR: error loading package '': Encountered error while reading extension file 'closure/defs.bzl': no such package '@io_bazel_rules_closure//closure': The native http_archive rule is deprecated. load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") for a drop-in replacement. Use --incompatible_remove_native_http_archive=false to temporarily continue using the native rule. ERROR: error loading package '': Encountered error while reading extension file 'closure/defs.bzl': no such package '@io_bazel_rules_closure//closure': The native http_archive rule is deprecated. load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") for a drop-in replacement. Use --incompatible_remove_native_http_archive=false to temporarily continue using the native rule. INFO: Elapsed time: 3.291s INFO: 0 processes. FAILED: Build did NOT complete successfully (0 packages loaded) FAILED: Build did NOT complete successfully (0 packages loaded) Fetching @io_bazel_rules_closure; fetching

So i tried to run with '--incompatible_remove_native_http_archive=false' as suggested, but then the secon command 'bazel run //greeter_tensorboard -- --logdir=/tmp/greeter_demo' failed again. I used the ''--incompatible_remove_native_http_archive=false' as suggested again, but build failed once again with ouput :

ERROR: /home/arthur/.cache/bazel/_bazel_arthur/e30b614ea0e301590f4fb76ff97dfe1d/external/io_bazel_rules_closure/java/io/bazel/rules/closure/webfiles/compiler/BUILD:17:1: Building external/io_bazel_rules_closure/java/io/bazel/rules/closure/webfiles/compiler/libcompiler.jar (1 source file) and running annotation processors (ComponentProcessor) failed (Exit 1) java.lang.RuntimeException: java.lang.NoClassDefFoundError: javax/annotation/Generated at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.handleExceptions(JavacTaskImpl.java:158) at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.doCall(JavacTaskImpl.java:96) at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:90) at com.google.devtools.build.buildjar.javac.BlazeJavacMain.compile(BlazeJavacMain.java:114) at com.google.devtools.build.buildjar.SimpleJavaLibraryBuilder$1.invokeJavac(SimpleJavaLibraryBuilder.java:106) at com.google.devtools.build.buildjar.ReducedClasspathJavaLibraryBuilder.compileSources(ReducedClasspathJavaLibraryBuilder.java:54) at com.google.devtools.build.buildjar.SimpleJavaLibraryBuilder.compileJavaLibrary(SimpleJavaLibraryBuilder.java:109) at com.google.devtools.build.buildjar.SimpleJavaLibraryBuilder.run(SimpleJavaLibraryBuilder.java:117) at com.google.devtools.build.buildjar.BazelJavaBuilder.processRequest(BazelJavaBuilder.java:105) at com.google.devtools.build.buildjar.BazelJavaBuilder.runPersistentWorker(BazelJavaBuilder.java:67) at com.google.devtools.build.buildjar.BazelJavaBuilder.main(BazelJavaBuilder.java:45) Caused by: java.lang.NoClassDefFoundError: javax/annotation/Generated at dagger.internal.codegen.SourceFileGenerator.<clinit>(SourceFileGenerator.java:43) at dagger.internal.codegen.ComponentProcessor.initSteps(ComponentProcessor.java:119) at dagger.shaded.auto.common.BasicAnnotationProcessor.init(BasicAnnotationProcessor.java:119) at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment$ProcessorState.<init>(JavacProcessingEnvironment.java:675) at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment$DiscoveredProcessors$ProcessorStateIterator.next(JavacProcessingEnvironment.java:774) at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs(JavacProcessingEnvironment.java:869) at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment.access$2200(JavacProcessingEnvironment.java:108) at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run(JavacProcessingEnvironment.java:1206) at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingEnvironment.java:1315) at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1246) at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:922) at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.lambda$doCall$0(JavacTaskImpl.java:100) at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.handleExceptions(JavacTaskImpl.java:142) ... 10 more Caused by: java.lang.ClassNotFoundException: javax.annotation.Generated at java.base/java.net.URLClassLoader.findClass(Unknown Source) at java.base/java.lang.ClassLoader.loadClass(Unknown Source) at java.base/java.lang.ClassLoader.loadClass(Unknown Source) ... 23 more Target //greeter_tensorboard:greeter_tensorboard failed to build Use --verbose_failures to see the command lines of failed build steps. INFO: Elapsed time: 147.674s, Critical Path: 54.61s INFO: 275 processes: 268 linux-sandbox, 7 worker. FAILED: Build did NOT complete successfully FAILED: Build did NOT complete successfully

This error seems to be related to #31 however the fix proposed didn't work for me. I am not familiar with Bazel, I would appreciate some help if someone has an idea!

Sincerely,
Arthur Journe

'

TensorFlow 1.3 is out

The README.md says

Note: This example requires TensorFlow 1.3 to run. As of 2017-07-24, TensorFlow 1.3 isn’t out yet, which means you need to install one of TensorFlow’s cutting edge nightly binaries.

Since TensorBoard 1.3 is out, the message seems a bit out of date.

greeter-card observers

Hi,

I just get started with Polymer, so this question may seem naive.

I found that Line 81 in the greeter-card.html is confusing to me:

observers: ["reload(run, tag)"],

I guess here it tries to call the member function in Line 94:

reload() {
        if (!this._attached) {
          return;
        }
        this._canceller.cancelAll();
        const router = getRouter();
        const url = router.pluginRunTagRoute("greeter", "/greetings")(
          this.tag, this.run);
        const updateData = this._canceller.cancellable(result => {
          if (result.cancelled) {
            return;
          }
          const backendData = result.value;
          this.greetings = backendData;
        });
        this.requestManager.request(url).then(updateData);
      }

It seems like the parameters do not match here. There is no parameter for the function definition, while when observers tries to call this method, it passed run and tag, the public member properties of this Web component. I am wondering if this is problematic.

BTW, I tried to change Line 91 to:

observers: ["reload()"],

It still works for this simple demo.

type error out of the box

when following the steps from the readme, after running the example i get:

E0521 15:46:04.173336 Thread-1 _internal.py:87] Error on request:
Traceback (most recent call last):
  File "/home/noon/.cache/bazel/_bazel_noon/eb88fb0202132c299042995127b729f9/external/org_pocoo_werkzeug/werkzeug/serving.py", line 193, in run_wsgi
    execute(self.server.app)
  File "/home/noon/.cache/bazel/_bazel_noon/eb88fb0202132c299042995127b729f9/external/org_pocoo_werkzeug/werkzeug/serving.py", line 181, in execute
    application_iter = app(environ, start_response)
  File "/home/noon/.cache/bazel/_bazel_noon/eb88fb0202132c299042995127b729f9/external/org_tensorflow_tensorboard/tensorboard/backend/application.py", line 271, in __call__
    return self.data_applications[clean_path](environ, start_response)
  File "/home/noon/.cache/bazel/_bazel_noon/eb88fb0202132c299042995127b729f9/external/org_pocoo_werkzeug/werkzeug/wrappers.py", line 291, in application
    return f(*args[:-2] + (request,))(*args[-2:])
  File "/home/noon/.cache/bazel/_bazel_noon/eb88fb0202132c299042995127b729f9/external/org_tensorflow_tensorboard/tensorboard/plugins/core/core_plugin.py", line 136, in _serve_runs
    for run_name in run_names
  File "/home/noon/.cache/bazel/_bazel_noon/eb88fb0202132c299042995127b729f9/external/org_tensorflow_tensorboard/tensorboard/plugins/core/core_plugin.py", line 136, in <dictcomp>
    for run_name in run_names
  File "/home/noon/.cache/bazel/_bazel_noon/eb88fb0202132c299042995127b729f9/external/org_tensorflow_tensorboard/tensorboard/plugins/core/core_plugin.py", line 124, in get_first_event_timestamp
    return self._multiplexer.FirstEventTimestamp(run_name)
  File "/home/noon/.cache/bazel/_bazel_noon/eb88fb0202132c299042995127b729f9/external/org_tensorflow_tensorboard/tensorboard/backend/event_processing/plugin_event_multiplexer.py", line 259, in FirstEventTimestamp
    return accumulator.FirstEventTimestamp()
  File "/home/noon/.cache/bazel/_bazel_noon/eb88fb0202132c299042995127b729f9/external/org_tensorflow_tensorboard/tensorboard/backend/event_processing/plugin_event_accumulator.py", line 235, in FirstEventTimestamp
    event = next(self._generator.Load())
  File "/home/noon/.cache/bazel/_bazel_noon/eb88fb0202132c299042995127b729f9/external/org_tensorflow_tensorboard/tensorboard/backend/event_processing/directory_watcher.py", line 88, in Load
    for event in self._LoadInternal():
  File "/home/noon/.cache/bazel/_bazel_noon/eb88fb0202132c299042995127b729f9/external/org_tensorflow_tensorboard/tensorboard/backend/event_processing/directory_watcher.py", line 112, in _LoadInternal
    for event in self._loader.Load():
  File "/home/noon/.cache/bazel/_bazel_noon/eb88fb0202132c299042995127b729f9/external/org_tensorflow_tensorboard/tensorboard/backend/event_processing/event_file_loader.py", line 53, in Load
    self._reader.GetNext(status)
TypeError: GetNext() takes 1 positional argument but 2 were given

i'm using the tf-nightly package for tensorflow, as recommended by the tensorboard repo itself:

> pip freeze
absl-py==0.2.1
astor==0.6.2
certifi==2016.2.28
gast==0.2.0
grpcio==1.12.0
Markdown==2.6.11
numpy==1.14.3
protobuf==3.5.2.post1
six==1.11.0
tb-nightly==1.9.0a20180520
termcolor==1.1.0
tf-nightly==1.9.0.dev20180520
Werkzeug==0.14.1

build error libhttp-hjar.jar

Hi,

when I run
bazel build greeter_tensorboard

I get the following error:

external/io_bazel_rules_closure/java/io/bazel/rules/closure/http/BUILD:17:1: Compiling Java headers external/io_bazel_rules_closure/java/io/bazel/rules/closure/http/libhttp-hjar.jar (10 files) and running annotation processors (ComponentProcessor) failed (Exit 1)
java.lang.RuntimeException: java.lang.NoClassDefFoundError: javax/annotation/Generated
	at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.handleExceptions(JavacTaskImpl.java:158)
	at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.doCall(JavacTaskImpl.java:96)
	at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:90)
	at com.google.devtools.build.java.turbine.javac.JavacTurbineCompiler.compile(JavacTurbineCompiler.java:100)
	at com.google.devtools.build.java.turbine.javac.JavacTurbine.compile(JavacTurbine.java:145)
	at com.google.devtools.build.java.turbine.javac.JavacTurbine.compile(JavacTurbine.java:87)
	at com.google.devtools.build.java.turbine.javac.JavacTurbine.compile(JavacTurbine.java:80)
	at com.google.devtools.build.java.turbine.Turbine.compile(Turbine.java:119)
	at com.google.devtools.build.java.turbine.Turbine.compile(Turbine.java:69)
	at com.google.devtools.build.java.turbine.Turbine.main(Turbine.java:46)
Caused by: java.lang.NoClassDefFoundError: javax/annotation/Generated
	at dagger.internal.codegen.SourceFileGenerator.<clinit>(SourceFileGenerator.java:43)
	at dagger.internal.codegen.ComponentProcessor.initSteps(ComponentProcessor.java:119)
	at dagger.shaded.auto.common.BasicAnnotationProcessor.init(BasicAnnotationProcessor.java:119)
	at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment$ProcessorState.<init>(JavacProcessingEnvironment.java:675)
	at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment$DiscoveredProcessors$ProcessorStateIterator.next(JavacProcessingEnvironment.java:774)
	at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs(JavacProcessingEnvironment.java:869)
	at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment.access$2200(JavacProcessingEnvironment.java:108)
	at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run(JavacProcessingEnvironment.java:1206)
	at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingEnvironment.java:1315)
	at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1246)
	at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:922)
	at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.lambda$doCall$0(JavacTaskImpl.java:100)
	at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.handleExceptions(JavacTaskImpl.java:142)
	... 9 more
Caused by: java.lang.ClassNotFoundException: javax.annotation.Generated
	at java.base/java.net.URLClassLoader.findClass(Unknown Source)
	at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
	at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
	... 22 more
Target //greeter_tensorboard:greeter_tensorboard failed to build

compiling the current tensorboard source works out of the box.

I dont have to much experience with bazel, so maybe you could give me a hint?

Best,
Vitali

Error from console: I.pluginRunTagRoute is not a function

After launching greeter plugin, content is empty:

screen shot 2018-02-28 at 3 47 38 pm

And found error in console:

(index):5175 Uncaught TypeError: I.pluginRunTagRoute is not a function
    at HTMLElement._fetchNewData ((index):5175)
    at HTMLElement.reload ((index):5174)
    at HTMLElement.attached ((index):5174)
    at (index):887
    at Object.whenReady ((index):881)
    at HTMLElement.attachedCallback ((index):886)
    at HTMLElement.attachedCallback ((index):924)
    at Object.insertBefore ((index):939)
    at a.insertBefore ((index):946)
    at HTMLTemplateElement._insertInstance ((index):1185)

TF: 1.4.1
Bazel: 0.5.4

Scalar word break is ugly.

This is what the scalar plugin looks like for me when the hyper parameter line is too long.

image

I recommend changing the word-break to break-all. It then looks like this.

image

If this sounds good, I'll make a PR.

Warning does not matter, right?

Hi,
Am I the first user to fork this repository! I feel cool about that! ^.^

When I compile the code as the README.md suggested, although it succeeded, I got the following warnings:

2017-07-26 22:18:20.679 WARNING /tf-graph-info/tf-graph-icon.html.js:11: WARNING - Bad type annotation. Unknown type tf.graph.Node
* @type {tf.graph.Node}
^

2017-07-26 22:18:20.820 WARNING /tf-graph-info/tf-graph-icon.html.js:22: WARNING - Bad type annotation. Unknown type tf.graph.render.RenderNodeInfo
* @type {tf.graph.render.RenderNodeInfo}
^

2017-07-26 22:18:20.820 WARNING /tf-graph-info/tf-node-list-item.html.js:9: WARNING - Bad type annotation. Unknown type tf.graph.Node
* @type {tf.graph.Node}
^

2017-07-26 22:18:20.821 WARNING /tf-graph-info/tf-node-list-item.html.js:14: WARNING - Bad type annotation. Unknown type tf.graph.Node
* @type {tf.graph.Node}
^

2017-07-26 22:18:20.822 WARNING /tf-graph/tf-graph-scene.html.js:20: WARNING - Bad type annotation. Unknown type d3_zoom
/** @type {d3_zoom} d3 zoom object */
^

2017-07-26 22:18:20.822 WARNING /tf-graph/tf-graph-scene.html.js:60: WARNING - Bad type annotation. Unknown type d3.scale.ordinal
* @type {d3.scale.ordinal}
^

2017-07-26 22:18:20.822 WARNING /tf-graph/tf-graph-scene.html.js:67: WARNING - Bad type annotation. Unknown type tf.scene.Minimap
* @type {tf.scene.Minimap}
^

2017-07-26 22:18:20.823 WARNING 0 error(s), 7 warning(s), 63.2% typed
INFO: From Vulcanizing /tensorboard.html:
2017-07-26 22:18:20.751 WARNING /tf-graph-info/tf-graph-icon.html.js:11: WARNING - Bad type annotation. Unknown type tf.graph.Node
* @type {tf.graph.Node}
^

2017-07-26 22:18:20.820 WARNING /tf-graph-info/tf-graph-icon.html.js:22: WARNING - Bad type annotation. Unknown type tf.graph.render.RenderNodeInfo
* @type {tf.graph.render.RenderNodeInfo}
^

2017-07-26 22:18:20.820 WARNING /tf-graph-info/tf-node-list-item.html.js:9: WARNING - Bad type annotation. Unknown type tf.graph.Node
* @type {tf.graph.Node}
^

2017-07-26 22:18:20.821 WARNING /tf-graph-info/tf-node-list-item.html.js:14: WARNING - Bad type annotation. Unknown type tf.graph.Node
* @type {tf.graph.Node}
^

2017-07-26 22:18:20.821 WARNING /tf-graph/tf-graph-scene.html.js:20: WARNING - Bad type annotation. Unknown type d3_zoom
/** @type {d3_zoom} d3 zoom object */
^

2017-07-26 22:18:20.822 WARNING /tf-graph/tf-graph-scene.html.js:60: WARNING - Bad type annotation. Unknown type d3.scale.ordinal
* @type {d3.scale.ordinal}
^

2017-07-26 22:18:20.822 WARNING /tf-graph/tf-graph-scene.html.js:67: WARNING - Bad type annotation. Unknown type tf.scene.Minimap
* @type {tf.scene.Minimap}
^

2017-07-26 22:18:20.823 WARNING 0 error(s), 7 warning(s), 63.1% typed

I guess it does not matter, right? It runs well in my browser.

'PluginData' object has no attribute 'add'

Received the following error when running: bazel run //greeter_plugin:greeter_demo

Elliots-MacBook-Pro:tensorboard-plugin-example elliotwaite$ bazel run //greeter_plugin:greeter_demo
.................
INFO: Found 1 target...
Target //greeter_plugin:greeter_demo up-to-date:
  bazel-bin/greeter_plugin/greeter_demo
INFO: Elapsed time: 4.640s, Critical Path: 0.02s

INFO: Running command line: bazel-bin/greeter_plugin/greeter_demo
Saving output to /tmp/greeter_demo.
Traceback (most recent call last):
  File "/private/var/tmp/_bazel_elliotwaite/e7d113ace6c2e85facdc8977fe0f5005/execroot/io_github_tensorflow_tensorboard_plugin_example/bazel-out/local-fastbuild/bin/greeter_plugin/greeter_demo.runfiles/io_github_tensorflow_tensorboard_plugin_example/greeter_plugin/greeter_demo.py", line 71, in <module>
    tf.app.run()
  File "/Users/elliotwaite/miniconda2/lib/python2.7/site-packages/tensorflow/python/platform/app.py", line 48, in run
    _sys.exit(main(_sys.argv[:1] + flags_passthrough))
  File "/private/var/tmp/_bazel_elliotwaite/e7d113ace6c2e85facdc8977fe0f5005/execroot/io_github_tensorflow_tensorboard_plugin_example/bazel-out/local-fastbuild/bin/greeter_plugin/greeter_demo.runfiles/io_github_tensorflow_tensorboard_plugin_example/greeter_plugin/greeter_demo.py", line 66, in main
    run_all(LOGDIR, verbose=True)
  File "/private/var/tmp/_bazel_elliotwaite/e7d113ace6c2e85facdc8977fe0f5005/execroot/io_github_tensorflow_tensorboard_plugin_example/bazel-out/local-fastbuild/bin/greeter_plugin/greeter_demo.runfiles/io_github_tensorflow_tensorboard_plugin_example/greeter_plugin/greeter_demo.py", line 59, in run_all
    run(logdir, "steven_universe", ["Garnet", "Amethyst", "Pearl"], "Steven")
  File "/private/var/tmp/_bazel_elliotwaite/e7d113ace6c2e85facdc8977fe0f5005/execroot/io_github_tensorflow_tensorboard_plugin_example/bazel-out/local-fastbuild/bin/greeter_plugin/greeter_demo.runfiles/io_github_tensorflow_tensorboard_plugin_example/greeter_plugin/greeter_demo.py", line 37, in run
    summary_op = greeter_summary.op("greetings", input_)
  File "/Users/elliotwaite/code/tensorboard-plugin-example/greeter_plugin/greeter_summary.py", line 58, in op
    summary_metadata.plugin_data.add(plugin_name=PLUGIN_NAME, content="")
AttributeError: 'PluginData' object has no attribute 'add'
ERROR: Non-zero return code '1' from command: Process exited with status 1.

Proposed fix here: #6

Cards in the regex portion of the dashboard lack greetings.

Greetings are missing from cards within the section of cards filtered by regex. To repro, start a :greeter_tensorboard after running the demo.

fqize9fcgmz

I see a corresponding server-side error.

File "/usr/local/dinosaur/home/agent007/Desktop/tensorboard-plugin-example/greeter_plugin/greeter_plugin.py", line 123, in greetings_route
tensor_events = self._multiplexer.Tensors(run, tag)
File "/usr/local/dinosaur/home/agent007/.cache/bazel/_bazel_agent007/350f2b316dfeb5d30bad52efe76b4baa/external/org_tensorflow_tensorboard/tensorboard/backend/event_processing/plugin_event_multiplexer.py", line 358, in Tensors
accumulator = self.GetAccumulator(run)
File "/usr/local/dinosaur/home/agent007/.cache/bazel/_bazel_agent007/350f2b316dfeb5d30bad52efe76b4baa/external/org_tensorflow_tensorboard/tensorboard/backend/event_processing/plugin_event_multiplexer.py", line 434, in GetAccumulator
return self._accumulators[run]
KeyError: None

and a 500 error on the data/plugin/greeter/greetings endpoint. It seems like the run and tag information is missing from the URL GET parameters for that endpoint.

For instance, the URL of a valid request looks like /data/plugin/greeter/greetings?run=steven_universe&tag=greetings, while the errant requests lack GET parameters entirely.

Bazel version problem

I get the below error. Ubuntu 1804, bazel 0.23

bazel run //greeter_plugin:greeter_demo
Extracting Bazel installation...
Starting local Bazel server and connecting to it...
ERROR: /home/tzaman/.cache/bazel/_bazel_tzaman/cf29eb9faa32ed21d3ea4adfbc42f13e/external/io_bazel_rules_closure/closure/stylesheets/closure_css_binary.bzl:90:17: Traceback (most recent call last):
	File "/home/tzaman/.cache/bazel/_bazel_tzaman/cf29eb9faa32ed21d3ea4adfbc42f13e/external/io_bazel_rules_closure/closure/stylesheets/closure_css_binary.bzl", line 81
		rule(implementation = _closure_css_bi..., <2 more arguments>)
	File "/home/tzaman/.cache/bazel/_bazel_tzaman/cf29eb9faa32ed21d3ea4adfbc42f13e/external/io_bazel_rules_closure/closure/stylesheets/closure_css_binary.bzl", line 90, in rule
		attr.label_list(cfg = "data", allow_files = True)
Using cfg = "data" on an attribute is a noop and no longer supported. Please remove it. You can use --incompatible_disallow_data_transition=false to temporarily disable this check.
ERROR: error loading package '': in /home/tzaman/.cache/bazel/_bazel_tzaman/cf29eb9faa32ed21d3ea4adfbc42f13e/external/io_bazel_rules_closure/closure/defs.bzl: Extension file 'closure/stylesheets/closure_css_binary.bzl' has errors
ERROR: error loading package '': in /home/tzaman/.cache/bazel/_bazel_tzaman/cf29eb9faa32ed21d3ea4adfbc42f13e/external/io_bazel_rules_closure/closure/defs.bzl: Extension file 'closure/stylesheets/closure_css_binary.bzl' has errors
INFO: Elapsed time: 7.420s
INFO: 0 processes.
FAILED: Build did NOT complete successfully (0 packages loaded)
FAILED: Build did NOT complete successfully (0 packages loaded)

What we should probably do is document which bazel version we expect people to use for this repo.

Build error from protobuf

I followed the instruction to build greeter_demo plugin with tensorflow 1.3, but got the following error:

> bazel run //greeter_tensorboard -- --logdir=/tmp/greeter_demo

ERROR: /home/azu/.cache/bazel/_bazel_azu/2c2e05c7e0af9083f364e8b3ed70878a/external/protobuf/BUILD:460:1: Traceback (most recent call last):
        File "/home/azu/.cache/bazel/_bazel_azu/2c2e05c7e0af9083f364e8b3ed70878a/external/protobuf/BUILD", line 460
                cc_proto_library(name = "cc_test_protos", srcs = (L...), <4 more arguments>)
        File "/home/azu/.cache/bazel/_bazel_azu/2c2e05c7e0af9083f364e8b3ed70878a/external/protobuf/protobuf.bzl", line 248, in cc_proto_library
                cc_libs += [default_runtime]
trying to mutate a frozen object
ERROR: /home/azu/.cache/bazel/_bazel_azu/2c2e05c7e0af9083f364e8b3ed70878a/external/protobuf/BUILD:761:1: Traceback (most recent call last):
        File "/home/azu/.cache/bazel/_bazel_azu/2c2e05c7e0af9083f364e8b3ed70878a/external/protobuf/BUILD", line 761
                py_proto_library(name = "python_specific_test_pro...", <6 more arguments>)
        File "/home/azu/.cache/bazel/_bazel_azu/2c2e05c7e0af9083f364e8b3ed70878a/external/protobuf/protobuf.bzl", line 374, in py_proto_library
                py_libs += [default_runtime]
trying to mutate a frozen object
ERROR: /home/azu/.cache/bazel/_bazel_azu/2c2e05c7e0af9083f364e8b3ed70878a/external/protobuf/BUILD:387:1: Target '@protobuf//:android' contains an error and its package is in error and referenced by '@protobuf//:protoc'
ERROR: /home/azu/.cache/bazel/_bazel_azu/2c2e05c7e0af9083f364e8b3ed70878a/external/org_tensorflow_tensorboard/tensorboard/plugins/scalar/BUILD:97:1: Target '@protobuf//:protobuf_python_genproto' contains an error and its package is in error and referenced by '@org_tensorflow_tensorboard//tensorboard/plugins/scalar:protos_all_py_pb2_genproto'
ERROR: /home/azu/.cache/bazel/_bazel_azu/2c2e05c7e0af9083f364e8b3ed70878a/external/org_tensorflow_tensorboard/tensorboard/plugins/scalar/BUILD:97:1: Target '@protobuf//:protoc' contains an error and its package is in error and referenced by '@org_tensorflow_tensorboard//tensorboard/plugins/scalar:protos_all_py_pb2_genproto'
ERROR: /home/azu/.cache/bazel/_bazel_azu/2c2e05c7e0af9083f364e8b3ed70878a/external/org_tensorflow_tensorboard/tensorboard/plugins/scalar/BUILD:97:1: Target '@protobuf//:protobuf_python' contains an error and its package is in error and referenced by '@org_tensorflow_tensorboard//tensorboard/plugins/scalar:protos_all_py_pb2'
ERROR: Analysis of target '//greeter_tensorboard:greeter_tensorboard' failed; build aborted: Loading failed
INFO: Elapsed time: 1.078s
FAILED: Build did NOT complete successfully (29 packages loaded)
ERROR: Build failed. Not running target

ImportError: cannot import name 'greeter_summary'

With the latest master (e87e457), the command bazel run //greeter_plugin:greeter_demo does not work.

❯❯❯ bazel run //greeter_plugin:greeter_demo
INFO: Found 1 target...
Target //greeter_plugin:greeter_demo up-to-date:
  bazel-bin/greeter_plugin/greeter_demo
INFO: Elapsed time: 0.460s, Critical Path: 0.04s

INFO: Running command line: bazel-bin/greeter_plugin/greeter_demo
Traceback (most recent call last):
  File "/private/var/tmp/_bazel_wookayin/cb83800bdda64594fbf5d2274664035a/execroot/tensorboard-plugin-example/bazel-out/darwin_x86_64fastbuild/bin/greeter_plugin/greeter_demo.runfiles/io_github_tensorflow_tensor
board_plugin_example/greeter_plugin/greeter_demo.py", line 25, in <module>
    from greeter_plugin import greeter_summary
ImportError: cannot import name 'greeter_summary'
ERROR: Non-zero return code '1' from command: Process exited with status 1.

I was able to successfully run the demo in the previous commit, 5334cdb. I think the latest commit (e87e457) has broken the build:

from greeter_plugin import greeter_summary

The absolute import looks more reasonable to me, but maybe because of the wrong configuration of the import path from bazel, it doesn't work. Any suggestion or attempt to fix the issue?

Thanks,

Cannot run Greeter demo plugin

I followed the installation instructions. I have Fedora 28 and gcc 8.2.1. I installed TensorFlow (v.1.12) and Bazel. Below is the output of 'bazel run //greeter_tensorboard -- --logdir=/tmp/greeter_demo" command:

INFO: Analysed target //greeter_tensorboard:greeter_tensorboard (0 packages loaded, 0 targets configured).
INFO: Found 1 target...
ERROR: /home//.cache/bazel/bazel/82fdb0e5296cafe943f036e454b1602b/external/com_google_protobuf/BUILD:70:1: C++ compilation of rule '@com_google_protobuf//:protobuf_lite' failed (Exit 1) gcc failed: error executing command /usr/bin/gcc -U_FORTIFY_SOURCE -fstack-protector -Wall -B/usr/bin -B/usr/bin -Wunused-but-set-parameter -Wno-free-nonheap-object -fno-omit-frame-pointer -g0 -O2 '-D_FORTIFY_SOURCE=1' -DNDEBUG ... (remaining 43 argument(s) skipped)

Use --sandbox_debug to see verbose messages from the sandbox
gcc: error trying to exec 'cc1plus': execvp: No such file or directory
Target //greeter_tensorboard:greeter_tensorboard failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 0.339s, Critical Path: 0.07s, Remote (0.00% of the time): [queue: 0.00%, setup: 0.00%, process: 0.00%]
INFO: 0 processes.
FAILED: Build did NOT complete successfully
FAILED: Build did NOT complete successfully

ImportError: cannot import name 'grpc_debug_server'

When running the second bazel command:
bazel-bin/greeter_tensorboard/greeter_tensorboard '--logdir=/tmp/greeter_demo'
I get the following error:

INFO: Running command line: bazel-bin/greeter_tensorboard/greeter_tensorboard '--logdir=/tmp/greeter_demo'
Traceback (most recent call last):
  File "/private/var/tmp/_bazel_root/d3e43e9fb8162b0d8a736168f9f53bee/execroot/io_github_tensorflow_tensorboard_plugin_example/bazel-out/darwin_x86_64-fastbuild/bin/greeter_tensorboard/greeter_tensorboard.runfiles/io_github_tensorflow_tensorboard_plugin_example/greeter_tensorboard/main.py", line 23, in <module>
    from tensorboard import main as tb_main
  File "/private/var/tmp/_bazel_root/d3e43e9fb8162b0d8a736168f9f53bee/execroot/io_github_tensorflow_tensorboard_plugin_example/bazel-out/darwin_x86_64-fastbuild/bin/greeter_tensorboard/greeter_tensorboard.runfiles/org_tensorflow_tensorboard/tensorboard/main.py", line 38, in <module>
    from tensorboard.plugins.debugger import debugger_plugin as debugger_plugin_lib
  File "/private/var/tmp/_bazel_root/d3e43e9fb8162b0d8a736168f9f53bee/execroot/io_github_tensorflow_tensorboard_plugin_example/bazel-out/darwin_x86_64-fastbuild/bin/greeter_tensorboard/greeter_tensorboard.runfiles/org_tensorflow_tensorboard/tensorboard/plugins/debugger/debugger_plugin.py", line 35, in <module>
    from tensorboard.plugins.debugger import debugger_server_lib
  File "/private/var/tmp/_bazel_root/d3e43e9fb8162b0d8a736168f9f53bee/execroot/io_github_tensorflow_tensorboard_plugin_example/bazel-out/darwin_x86_64-fastbuild/bin/greeter_tensorboard/greeter_tensorboard.runfiles/org_tensorflow_tensorboard/tensorboard/plugins/debugger/debugger_server_lib.py", line 33, in <module>
    from tensorflow.python.debug.lib import grpc_debug_server
ImportError: cannot import name 'grpc_debug_server'
ERROR: Non-zero return code '1' from command: Process exited with status 1.

I did a manual check and indeed in TensorFlow 1.3.0 the 'grpc_debug_server' doesn't exist.:

In [1]: from tensorflow.python.debug.lib import grpc_debug_server
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-5-33f414da0c97> in <module>()
----> 1 from tensorflow.python.debug.lib import grpc_debug_server

ImportError: cannot import name 'grpc_debug_server'

The modules exists in the master branch of TensorFlow so I suppose it is added only recently and there is a version problem in 'tensorboard-plugin-example'.

Type error when building example with Python 3.5

I installed tf-nightly in a conda env. When trying to build the example I get the error
$ bazel run //greeter_plugin:greeter_demo

.........................
INFO: Analysed target //greeter_plugin:greeter_demo (12 packages loaded).
INFO: Found 1 target...
Target //greeter_plugin:greeter_demo up-to-date:
  bazel-bin/greeter_plugin/greeter_demo
INFO: Elapsed time: 5.191s, Critical Path: 0.03s
INFO: Build completed successfully, 1 total action

INFO: Running command line: bazel-bin/greeter_plugin/greeter_demo
Saving output to /tmp/greeter_demo.
Traceback (most recent call last):
  File "/home/jarno/.cache/bazel/_bazel_jarno/4171c5e851722cf65e1e56448c97397b/execroot/io_github_tensorflow_tensorboard_plugin_example/bazel-out/local-fastbuild/bin/greeter_plugin/greeter_demo.runfiles/io_github_tensorflow_tensorboard_plugin_example/greeter_plugin/greeter_demo.py", line 71, in <module>
    tf.app.run()
  File "/home/jarno/.anaconda3/envs/tensorboard/lib/python3.5/site-packages/tensorflow/python/platform/app.py", line 48, in run
    _sys.exit(main(_sys.argv[:1] + flags_passthrough))
  File "/home/jarno/.cache/bazel/_bazel_jarno/4171c5e851722cf65e1e56448c97397b/execroot/io_github_tensorflow_tensorboard_plugin_example/bazel-out/local-fastbuild/bin/greeter_plugin/greeter_demo.runfiles/io_github_tensorflow_tensorboard_plugin_example/greeter_plugin/greeter_demo.py", line 66, in main
    run_all(LOGDIR, verbose=True)
  File "/home/jarno/.cache/bazel/_bazel_jarno/4171c5e851722cf65e1e56448c97397b/execroot/io_github_tensorflow_tensorboard_plugin_example/bazel-out/local-fastbuild/bin/greeter_plugin/greeter_demo.runfiles/io_github_tensorflow_tensorboard_plugin_example/greeter_plugin/greeter_demo.py", line 59, in run_all
    run(logdir, "steven_universe", ["Garnet", "Amethyst", "Pearl"], "Steven")
  File "/home/jarno/.cache/bazel/_bazel_jarno/4171c5e851722cf65e1e56448c97397b/execroot/io_github_tensorflow_tensorboard_plugin_example/bazel-out/local-fastbuild/bin/greeter_plugin/greeter_demo.runfiles/io_github_tensorflow_tensorboard_plugin_example/greeter_plugin/greeter_demo.py", line 37, in run
    summary_op = greeter_summary.op("greetings", input_)
  File "/home/jarno/projects/tensorboard-live/tensorboard-plugin-example/greeter_plugin/greeter_summary.py", line 61, in op
    content=''))
TypeError: '' has type str, but expected one of: bytes
ERROR: Non-zero return code '1' from command: Process exited with status 1

The output of $ conda env export is

name: tensorboard
channels:
- defaults
dependencies:
- certifi=2016.2.28=py35_0
- openssl=1.0.2l=0
- pip=9.0.1=py35_1
- python=3.5.4=0
- readline=6.2=2
- setuptools=36.4.0=py35_0
- sqlite=3.13.0=0
- tk=8.5.18=0
- wheel=0.29.0=py35_0
- xz=5.2.3=0
- zlib=1.2.11=0
- pip:
  - backports.shutil-get-terminal-size==1.0.0
  - decorator==4.0.9
  - entrypoints==0.2.2
  - enum34==1.1.6
  - ipykernel==4.3.1
  - ipython==4.2.0
  - ipython-genutils==0.1.0
  - ipywidgets==5.1.5
  - jinja2==2.8
  - jsonschema==2.5.1
  - jupyter==1.0.0
  - jupyter-client==4.2.2
  - jupyter-console==4.1.1
  - jupyter-core==4.1.0
  - markupsafe==0.23
  - mistune==0.7.2
  - nbconvert==4.2.0
  - nbformat==4.0.1
  - nbopen==0.3
  - notebook==4.2.0
  - numpy==1.13.1
  - pexpect==4.1.0
  - pickleshare==0.7.2
  - protobuf==3.4.0
  - ptyprocess==0.5.1
  - pygments==2.1.3
  - pyzmq==15.2.0
  - qtconsole==4.2.1
  - simplegeneric==0.8.1
  - six==1.11.0
  - terminado==0.6
  - tf-nightly==1.4.0.dev20170920
  - tornado==4.3
  - traitlets==4.2.1
  - wand==0.4.4
  - widgetsnbextension==1.2.3

This error does not occur when building in an environment with Python 2.7 though.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.