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:
parent
6c531eb2fc
commit
88bdb6fca2
@ -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)
|
||||
|
@ -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"],
|
||||
|
@ -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]))
|
||||
|
@ -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()
|
@ -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()
|
||||
|
@ -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():
|
||||
|
Loading…
x
Reference in New Issue
Block a user