def __init__(self, plugins=None, assets_zip_provider=None, server_class=None): """Creates new instance. Args: plugin: A list of TensorBoard plugins to load, as TBPlugin classes or TBLoader instances or classes. If not specified, defaults to first-party plugins. assets_zip_provider: Delegates to TBContext or uses default if None. server_class: An optional factory for a `TensorBoardServer` to use for serving the TensorBoard WSGI app. If provided, its callable signature should match that of `TensorBoardServer.__init__`. """ if plugins is None: from tensorboard import default plugins = default.get_plugins() if assets_zip_provider is None: assets_zip_provider = get_default_assets_zip_provider() if server_class is None: server_class = create_port_scanning_werkzeug_server self.plugin_loaders = [ application.make_plugin_loader(p) for p in plugins ] self.assets_zip_provider = assets_zip_provider self.server_class = server_class self.flags = None
def __init__( self, plugins=None, assets_zip_provider=None, server_class=None, subcommands=None, ): """Creates new instance. Args: plugins: A list of TensorBoard plugins to load, as TBPlugin classes or TBLoader instances or classes. If not specified, defaults to first-party plugins. assets_zip_provider: A function that provides a zip file containing assets to the application. If `None`, the default TensorBoard web assets will be used. (If building from source, your binary must explicitly depend on `//tensorboard:assets_lib` if you pass `None`.) server_class: An optional factory for a `TensorBoardServer` to use for serving the TensorBoard WSGI app. If provided, its callable signature should match that of `TensorBoardServer.__init__`. :type plugins: list[ base_plugin.TBLoader | Type[base_plugin.TBLoader] | Type[base_plugin.TBPlugin] ] """ if plugins is None: from tensorboard import default plugins = default.get_plugins() if assets_zip_provider is None: try: from tensorboard import assets except ImportError as e: # `tensorboard.assets` is not a strict Bazel dep; clients are # required to either depend on `//tensorboard:assets_lib` or # pass a valid assets provider. raise ImportError( "No `assets_zip_provider` given, but `tensorboard.assets` " "could not be imported to resolve defaults") from e assets_zip_provider = assets.get_default_assets_zip_provider() if server_class is None: server_class = create_port_scanning_werkzeug_server if subcommands is None: subcommands = [] self.plugin_loaders = [ application.make_plugin_loader(p) for p in plugins ] self.assets_zip_provider = assets_zip_provider self.server_class = server_class self.subcommands = {} for subcommand in subcommands: name = subcommand.name() if name in self.subcommands or name == _SERVE_SUBCOMMAND_NAME: raise ValueError("Duplicate subcommand name: %r" % name) self.subcommands[name] = subcommand self.flags = None
def __init__( self, plugins=None, assets_zip_provider=None, server_class=None, subcommands=None, ): """Creates new instance. Args: plugins: A list of TensorBoard plugins to load, as TBPlugin classes or TBLoader instances or classes. If not specified, defaults to first-party plugins. assets_zip_provider: Delegates to TBContext or uses default if None. server_class: An optional factory for a `TensorBoardServer` to use for serving the TensorBoard WSGI app. If provided, its callable signature should match that of `TensorBoardServer.__init__`. :type plugins: list[ base_plugin.TBLoader | Type[base_plugin.TBLoader] | Type[base_plugin.TBPlugin] ] """ if plugins is None: from tensorboard import default plugins = default.get_plugins() if assets_zip_provider is None: assets_zip_provider = get_default_assets_zip_provider() if server_class is None: server_class = create_port_scanning_werkzeug_server if subcommands is None: subcommands = [] self.plugin_loaders = [ application.make_plugin_loader(p) for p in plugins ] self.assets_zip_provider = assets_zip_provider self.server_class = server_class self.subcommands = {} for subcommand in subcommands: name = subcommand.name() if name in self.subcommands or name == _SERVE_SUBCOMMAND_NAME: raise ValueError("Duplicate subcommand name: %r" % name) self.subcommands[name] = subcommand self.flags = None
def testMakePluginLoader_invalidType(self): with six.assertRaisesRegex(self, TypeError, "FakePlugin"): application.make_plugin_loader(FakePlugin())
def testMakePluginLoader_pluginLoader(self): loader = FakePluginLoader() self.assertIs(loader, application.make_plugin_loader(loader))
def testMakePluginLoader_pluginLoaderClass(self): loader = application.make_plugin_loader(FakePluginLoader) self.assertIsInstance(loader, FakePluginLoader)
def testMakePluginLoader_pluginClass(self): loader = application.make_plugin_loader(FakePlugin) self.assertIsInstance(loader, base_plugin.BasicLoader) self.assertIs(loader.plugin_class, FakePlugin)