Remove all remaining references to non-public TF modules from TensorBoard.

I deleted the PluginAssetUtil tests because that code is deprecated.
I'll later add manual testing for backcompat in the text plugin.

PiperOrigin-RevId: 158037466
This commit is contained in:
Dandelion Man? 2017-06-05 11:20:17 -07:00 committed by TensorFlower Gardener
parent 6c531eb2fc
commit 88bdb6fca2
6 changed files with 9 additions and 142 deletions

View File

@ -36,7 +36,6 @@ import tensorflow as tf
from werkzeug import serving
from tensorflow.core.protobuf import meta_graph_pb2
from tensorflow.tensorboard import tensorboard
from tensorflow.tensorboard.backend import application
from tensorflow.tensorboard.backend.event_processing import event_multiplexer
@ -221,7 +220,7 @@ class TensorboardServerTest(tf.test.TestCase):
node2.name = 'b'
node2.attr['very_large_attr'].s = b'a' * 2048 # 2 KB attribute
meta_graph_def = meta_graph_pb2.MetaGraphDef(graph_def=graph_def)
meta_graph_def = tf.MetaGraphDef(graph_def=graph_def)
if self._only_use_meta_graph:
writer.add_meta_graph(meta_graph_def)

View File

@ -134,18 +134,6 @@ py_library(
],
)
py_test(
name = "plugin_asset_util_test",
size = "small",
srcs = ["plugin_asset_util_test.py"],
srcs_version = "PY2AND3",
deps = [
":event_multiplexer",
":plugin_asset_util",
"//tensorflow:tensorflow_py",
],
)
py_library(
name = "event_file_inspector",
srcs = ["event_file_inspector.py"],

View File

@ -24,7 +24,6 @@ import six
from six.moves import xrange # pylint: disable=redefined-builtin
import tensorflow as tf
from tensorflow.python.summary.writer.writer import SummaryToEventTransformer
from tensorflow.tensorboard.backend.event_processing import event_accumulator as ea
@ -760,7 +759,8 @@ class MockingEventAccumulatorTest(EventAccumulatorTest):
def testTFSummaryScalar(self):
"""Verify processing of tf.summary.scalar."""
event_sink = _EventGenerator(self, zero_out_timestamps=True)
writer = SummaryToEventTransformer(event_sink)
writer = tf.summary.FileWriter(self.get_temp_dir())
writer.event_writer = event_sink
with self.test_session() as sess:
ipt = tf.placeholder(tf.float32)
tf.summary.scalar('scalar1', ipt)
@ -794,7 +794,8 @@ class MockingEventAccumulatorTest(EventAccumulatorTest):
def testTFSummaryImage(self):
"""Verify processing of tf.summary.image."""
event_sink = _EventGenerator(self, zero_out_timestamps=True)
writer = SummaryToEventTransformer(event_sink)
writer = tf.summary.FileWriter(self.get_temp_dir())
writer.event_writer = event_sink
with self.test_session() as sess:
ipt = tf.ones([10, 4, 4, 3], tf.uint8)
# This is an interesting example, because the old tf.image_summary op
@ -830,7 +831,8 @@ class MockingEventAccumulatorTest(EventAccumulatorTest):
def testTFSummaryTensor(self):
"""Verify processing of tf.summary.tensor."""
event_sink = _EventGenerator(self, zero_out_timestamps=True)
writer = SummaryToEventTransformer(event_sink)
writer = tf.summary.FileWriter(self.get_temp_dir())
writer.event_writer = event_sink
with self.test_session() as sess:
tf.summary.tensor_summary('scalar', tf.constant(1.0))
tf.summary.tensor_summary('vector', tf.constant([1.0, 2.0, 3.0]))

View File

@ -1,119 +0,0 @@
# Copyright 2015 The TensorFlow Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ==============================================================================
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
import os.path
import tensorflow as tf
from tensorflow.python.summary import plugin_asset
from tensorflow.tensorboard.backend.event_processing import event_multiplexer
from tensorflow.tensorboard.backend.event_processing import plugin_asset_util
class GenericContentPlugin(plugin_asset.PluginAsset):
def __init__(self):
self.contents = "hello world"
def assets(self):
return {"contents.txt": self.contents}
class PluginAlpha(GenericContentPlugin):
plugin_name = "Alpha"
class PluginBeta(GenericContentPlugin):
plugin_name = "Beta"
class PluginGamma(GenericContentPlugin):
plugin_name = "Gamma"
class PluginAssetUtilitiesTest(tf.test.TestCase):
def testGetPluginDirectory(self):
self.assertEqual(
os.path.join("logdir", "plugins", "x"),
plugin_asset_util.PluginDirectory("logdir", "x"))
def testNonExistentDirectory(self):
tempdir = self.get_temp_dir()
fake_dir = os.path.join(tempdir, "nonexistent_dir")
self.assertEqual([], plugin_asset_util.ListPlugins(fake_dir))
self.assertEqual([], plugin_asset_util.ListAssets(fake_dir, "fake_plugin"))
with self.assertRaises(KeyError):
plugin_asset_util.RetrieveAsset(fake_dir, "fake_plugin", "fake_asset")
def testSimplePluginCase(self):
tempdir = self.get_temp_dir()
with tf.Graph().as_default() as g:
plugin_asset.get_plugin_asset(PluginAlpha)
fw = tf.summary.FileWriter(tempdir)
fw.add_graph(g)
self.assertEqual(["Alpha"], plugin_asset_util.ListPlugins(tempdir))
assets = plugin_asset_util.ListAssets(tempdir, "Alpha")
self.assertEqual(["contents.txt"], assets)
contents = plugin_asset_util.RetrieveAsset(tempdir, "Alpha", "contents.txt")
self.assertEqual("hello world", contents)
def testEventMultiplexerIntegration(self):
tempdir = self.get_temp_dir()
with tf.Graph().as_default() as g:
plugin_instance = plugin_asset.get_plugin_asset(PluginAlpha)
plugin_instance.contents = "graph one"
plugin_asset.get_plugin_asset(PluginBeta)
fw = tf.summary.FileWriter(os.path.join(tempdir, "one"))
fw.add_graph(g)
fw.close()
with tf.Graph().as_default() as g:
plugin_instance = plugin_asset.get_plugin_asset(PluginAlpha)
plugin_instance.contents = "graph two"
fw = tf.summary.FileWriter(os.path.join(tempdir, "two"))
fw.add_graph(g)
fw.close()
multiplexer = event_multiplexer.EventMultiplexer()
multiplexer.AddRunsFromDirectory(tempdir)
self.assertEqual(
multiplexer.PluginAssets("Alpha"),
{"one": ["contents.txt"], "two": ["contents.txt"]})
self.assertEqual(
multiplexer.RetrievePluginAsset("one", "Alpha", "contents.txt"),
"graph one")
self.assertEqual(
multiplexer.RetrievePluginAsset("one", "Beta", "contents.txt"),
"hello world")
self.assertEqual(
multiplexer.RetrievePluginAsset("two", "Alpha", "contents.txt"),
"graph two")
self.assertEqual(
multiplexer.PluginAssets("Beta"),
{"one": ["contents.txt"], "two": []})
self.assertEqual(multiplexer.PluginAssets("Gamma"), {"one": [], "two": []})
if __name__ == "__main__":
tf.test.main()

View File

@ -23,8 +23,6 @@ import os.path
from six.moves import xrange # pylint: disable=redefined-builtin
import tensorflow as tf
from tensorflow.python.platform import app
# Directory into which to write tensorboard data.
LOGDIR = '/tmp/scalars_demo'
@ -129,4 +127,4 @@ def main(unused_argv):
if __name__ == '__main__':
app.run()
tf.app.run()

View File

@ -35,7 +35,6 @@ import six
import tensorflow as tf
from werkzeug import wrappers
from tensorflow.python.summary import text_summary
from tensorflow.tensorboard.backend import http_util
from tensorflow.tensorboard.plugins import base_plugin
@ -256,7 +255,7 @@ class TextPlugin(base_plugin.TBPlugin):
def index_impl(self):
run_to_series = {}
name = text_summary.TextSummaryPluginAsset.plugin_name
name = 'tensorboard_text'
run_to_assets = self.multiplexer.PluginAssets(name)
for run, assets in run_to_assets.items():