Beispiel #1
0
    def testGetEnvironmentDataWithNoExperimentMetadata(self):
        """Test environment route works when no experiment metadata exists."""
        class FakeDataProvider(object):
            def data_location(self, experiment_id):
                del experiment_id  # Unused.
                return ""

            def experiment_metadata(self, experiment_id):
                del experiment_id  # Unused.
                return None

        self.context = base_plugin.TBContext(
            flags=FakeFlags(generic_data="true"),
            data_provider=FakeDataProvider(),
        )

        self.plugin = core_plugin.CorePlugin(self.context)
        app = application.TensorBoardWSGI([self.plugin])
        self.server = werkzeug_test.Client(app, wrappers.BaseResponse)

        parsed_object = self._get_json(self.server, "/data/environment")
        self.assertEqual(parsed_object["data_location"], "")
        self.assertEqual(parsed_object["window_title"], None)
        self.assertNotIn("experiment_name", parsed_object)
        self.assertNotIn("experiment_description", parsed_object)
        self.assertNotIn("creation_time", parsed_object)
Beispiel #2
0
 def testPlugins_invalidType(self):
     plugin_instance = core_plugin.CorePlugin(base_plugin.TBContext())
     with self.assertRaisesRegex(TypeError, "CorePlugin"):
         tb = program.TensorBoard(
             plugins=[plugin_instance],
             assets_zip_provider=fake_asset_provider,
         )
Beispiel #3
0
    def testGetEnvironmentDataWithExperimentMetadata(self):
        """Test environment route returns correct metadata about experiment."""
        class FakeDataProvider(object):
            def data_location(self, experiment_id):
                del experiment_id  # Unused.
                return ""

            def experiment_metadata(self, experiment_id):
                del experiment_id  # Unused.
                return provider.ExperimentMetadata(
                    experiment_name="Experiment #5 (実験#5)",
                    experiment_description="Take five (😊)",
                    creation_time=1234.5,
                )

        self.context = base_plugin.TBContext(
            flags=FakeFlags(generic_data="true"),
            data_provider=FakeDataProvider(),
        )

        self.plugin = core_plugin.CorePlugin(self.context)
        app = application.TensorBoardWSGI([self.plugin])
        self.server = werkzeug_test.Client(app, wrappers.BaseResponse)

        parsed_object = self._get_json(self.server, "/data/environment")
        self.assertEqual(parsed_object["data_location"], "")
        self.assertEqual(parsed_object["window_title"], None)
        self.assertEqual(parsed_object["experiment_name"],
                         "Experiment #5 (実験#5)")
        self.assertEqual(parsed_object["experiment_description"],
                         "Take five (😊)")
        self.assertEqual(parsed_object["creation_time"], 1234.5)
 def set_up_db(self):
     self.db_path = os.path.join(self.get_temp_dir(), "db.db")
     self.db_uri = "sqlite:" + self.db_path
     db_connection_provider = application.create_sqlite_connection_provider(
         self.db_uri)
     context = base_plugin.TBContext(
         db_connection_provider=db_connection_provider, db_uri=self.db_uri)
     self.core_plugin = core_plugin.CorePlugin(context)
     self.plugin = scalars_plugin.ScalarsPlugin(context)
Beispiel #5
0
 def setUp(self):
     super(CorePluginNoDataTest, self).setUp()
     context = base_plugin.TBContext(
         assets_zip_provider=get_test_assets_zip_provider(),
         logdir=self.get_temp_dir(),
         multiplexer=event_multiplexer.EventMultiplexer(),
         window_title="title foo",
     )
     self.plugin = core_plugin.CorePlugin(context)
     app = application.TensorBoardWSGI([self.plugin])
     self.server = werkzeug_test.Client(app, wrappers.BaseResponse)
 def _start_db_based_server(self):
   db_connection_provider = application.create_sqlite_connection_provider(
       self.db_uri)
   context = base_plugin.TBContext(
       assets_zip_provider=get_test_assets_zip_provider(),
       db_connection_provider=db_connection_provider,
       db_uri=self.db_uri,
       window_title='title foo')
   self.db_based_plugin = core_plugin.CorePlugin(context)
   app = application.TensorBoardWSGI([self.db_based_plugin])
   self.db_based_server = werkzeug_test.Client(app, wrappers.BaseResponse)
 def set_up_db(self):
   self.db_path = os.path.join(self.get_temp_dir(), 'db.db')
   self.db_uri = 'sqlite:' + self.db_path
   db_module, db_connection_provider = application.get_database_info(
       self.db_uri)
   context = base_plugin.TBContext(
       db_module=db_module,
       db_connection_provider=db_connection_provider,
       db_uri=self.db_uri)
   self.core_plugin = core_plugin.CorePlugin(context)
   self.plugin = scalars_plugin.ScalarsPlugin(context)
 def _start_logdir_based_server(self, temp_dir):
   self.logdir = temp_dir
   self.multiplexer = event_multiplexer.EventMultiplexer(
       size_guidance=application.DEFAULT_SIZE_GUIDANCE,
       purge_orphaned_data=True)
   context = base_plugin.TBContext(
       assets_zip_provider=get_test_assets_zip_provider(),
       logdir=self.logdir,
       multiplexer=self.multiplexer,
       window_title='title foo')
   self.logdir_based_plugin = core_plugin.CorePlugin(context)
   app = application.TensorBoardWSGI([self.logdir_based_plugin])
   self.logdir_based_server = werkzeug_test.Client(app, wrappers.BaseResponse)
 def setUp(self):
     super(CorePluginResourceTest, self).setUp()
     self.logdir = self.get_temp_dir()
     self.multiplexer = event_multiplexer.EventMultiplexer()
     provider = data_provider.MultiplexerDataProvider(
         self.multiplexer, self.logdir)
     context = base_plugin.TBContext(
         assets_zip_provider=get_test_assets_zip_provider(),
         logdir=self.logdir,
         data_provider=provider,
     )
     self.plugin = core_plugin.CorePlugin(context)
     app = application.TensorBoardWSGI([self.plugin])
     self.server = werkzeug_test.Client(app, wrappers.BaseResponse)
Beispiel #10
0
 def setUp(self):
     super(CorePluginDbModeTest, self).setUp()
     self.db_path = os.path.join(self.get_temp_dir(), "db.db")
     self.db_uri = "sqlite:" + self.db_path
     db_connection_provider = application.create_sqlite_connection_provider(
         self.db_uri)
     context = base_plugin.TBContext(
         assets_zip_provider=get_test_assets_zip_provider(),
         db_connection_provider=db_connection_provider,
         db_uri=self.db_uri,
     )
     self.plugin = core_plugin.CorePlugin(context)
     app = application.TensorBoardWSGI([self.plugin])
     self.server = werkzeug_test.Client(app, wrappers.BaseResponse)
 def setUp(self):
   self.logdir = self.get_temp_dir()
   self.addCleanup(shutil.rmtree, self.logdir)
   self._generate_test_data(run_name='run1')
   self.multiplexer = event_multiplexer.EventMultiplexer(
       size_guidance=application.DEFAULT_SIZE_GUIDANCE,
       purge_orphaned_data=True)
   self._context = base_plugin.TBContext(
       assets_zip_provider=application.get_default_assets_zip_provider(),
       logdir=self.logdir,
       multiplexer=self.multiplexer)
   self.plugin = core_plugin.CorePlugin(self._context)
   app = application.TensorBoardWSGIApp(
       self.logdir, [self.plugin], self.multiplexer, 0)
   self.server = werkzeug_test.Client(app, wrappers.BaseResponse)
 def _send_request(self, path_prefix, pathname):
     multiplexer = event_multiplexer.EventMultiplexer()
     logdir = self.get_temp_dir()
     provider = data_provider.MultiplexerDataProvider(multiplexer, logdir)
     context = base_plugin.TBContext(
         assets_zip_provider=get_test_assets_zip_provider(),
         logdir=logdir,
         data_provider=provider,
         window_title="",
         flags=FakeFlags(path_prefix=path_prefix),
     )
     plugin = core_plugin.CorePlugin(context)
     app = application.TensorBoardWSGI([plugin], path_prefix=path_prefix)
     server = werkzeug_test.Client(app, wrappers.BaseResponse)
     return server.get(pathname)
    def testEnvironmentDebugOnExplicitly(self):
        multiplexer = event_multiplexer.EventMultiplexer()
        logdir = self.get_temp_dir()
        provider = data_provider.MultiplexerDataProvider(multiplexer, logdir)
        context = base_plugin.TBContext(
            assets_zip_provider=get_test_assets_zip_provider(),
            logdir=logdir,
            data_provider=provider,
            window_title="title foo",
        )
        plugin = core_plugin.CorePlugin(context, include_debug_info=True)
        app = application.TensorBoardWSGI([plugin])
        server = werkzeug_test.Client(app, wrappers.BaseResponse)

        parsed_object = self._get_json(server, "/data/environment")
        self.assertIn("debug", parsed_object)
 def startDbBasedServer(self, temp_dir):
     self.db_uri = 'sqlite:' + os.path.join(temp_dir, 'db.sqlite')
     db_module, db_connection_provider = application.get_database_info(
         self.db_uri)
     if db_connection_provider is not None:
         with contextlib.closing(db_connection_provider()) as db_conn:
             schema = db.Schema(db_conn)
             schema.create_tables()
             schema.create_indexes()
     context = base_plugin.TBContext(
         assets_zip_provider=get_test_assets_zip_provider(),
         db_module=db_module,
         db_connection_provider=db_connection_provider,
         db_uri=self.db_uri,
         window_title='title foo')
     self.db_based_plugin = core_plugin.CorePlugin(context)
     app = application.TensorBoardWSGI([self.db_based_plugin])
     self.db_based_server = werkzeug_test.Client(app, wrappers.BaseResponse)
Beispiel #15
0
 def setUp(self):
     super(CorePluginTestBase, self).setUp()
     self.logdir = self.get_temp_dir()
     self.multiplexer = self.create_multiplexer()
     db_uri = None
     db_connection_provider = None
     if isinstance(self.multiplexer,
                   db_import_multiplexer.DbImportMultiplexer):
         db_uri = self.multiplexer.db_uri
         db_connection_provider = self.multiplexer.db_connection_provider
     context = base_plugin.TBContext(
         assets_zip_provider=get_test_assets_zip_provider(),
         logdir=self.logdir,
         multiplexer=self.multiplexer,
         db_uri=db_uri,
         db_connection_provider=db_connection_provider,
     )
     self.plugin = core_plugin.CorePlugin(context)
     app = application.TensorBoardWSGI([self.plugin])
     self.server = werkzeug_test.Client(app, wrappers.BaseResponse)
    def testGetEnvironmentDataWithDataLocationFallback(self):
        """Test environment route returns correct metadata about experiment."""
        class FakeDataProvider(object):
            def data_location(self, ctx, *, experiment_id):
                del experiment_id  # Unused.
                return "fallback (pick me)"

            def experiment_metadata(self, ctx, *, experiment_id):
                del experiment_id  # Unused.
                # note: no data location provided
                return provider.ExperimentMetadata(experiment_name="name")

        self.context = base_plugin.TBContext(
            flags=FakeFlags(generic_data="true"),
            data_provider=FakeDataProvider(),
        )

        self.plugin = core_plugin.CorePlugin(self.context)
        app = application.TensorBoardWSGI([self.plugin])
        self.server = werkzeug_test.Client(app, wrappers.BaseResponse)

        parsed_object = self._get_json(self.server, "/data/environment")
        self.assertEqual(parsed_object["data_location"], "fallback (pick me)")
Beispiel #17
0
 def testPlugins_invalidType(self):
     plugin_instance = core_plugin.CorePlugin(base_plugin.TBContext())
     with six.assertRaisesRegex(self, TypeError, "CorePlugin"):
         tb = program.TensorBoard(plugins=[plugin_instance])