def main(args): from guild import tensorboard tensorboard.setup_logging() with util.TempDir("guild-tensorboard-", keep=args.keep_logdir) as tmp: logdir = tmp.path (log.info if args.keep_logdir else log.debug)("Using logdir %s", logdir) monitor = tensorboard.RunsMonitor(logdir, _list_runs_cb(args), args.refresh_interval) cli.out("Preparing runs for TensorBoard") monitor.run_once(exit_on_error=True) monitor.start() try: tensorboard.serve_forever(logdir=logdir, host=(args.host or "0.0.0.0"), port=(args.port or util.free_port()), reload_interval=args.refresh_interval, ready_cb=_open_cb(args)) except tensorboard.TensorboardError as e: cli.error(str(e)) finally: log.debug("Stopping") monitor.stop() log.debug("Removing logdir %s", logdir) # Handled by ctx mgr if util.PLATFORM != "Windows": cli.out()
def _serve_dev(data, host, port, no_open, logging): view_port = util.free_port(port + 1) dev_server = DevServer(host, port, view_port) dev_server.start() dev_server.wait_for_ready() view_url = util.local_server_url(host, view_port) if not no_open: util.open_url(util.local_server_url(host, port)) sys.stdout.write(" I Guild View backend: {}\n".format(view_url)) _start_view(data, host, view_port, logging) sys.stdout.write("\n")
def _start_view(args): data = ViewDataImpl(args) host = _host(args) port = args.port or util.free_port() if args.test: _start_tester(host, port) args.no_open = True try: view.serve_forever(data, host, port, args.no_open, args.dev, args.logging) except socket.gaierror as e: cli.error(str(e))
def main(args): tensorboard = _load_guild_tensorboard_module() with util.TempDir("guild-tensorboard-") as logdir: log.debug("Using logdir %s", logdir) monitor = RunsMonitor(logdir, args) monitor.start() tensorboard.main(logdir=logdir, host=(args.host or ""), port=(args.port or util.free_port()), reload_interval=args.refresh_interval, ready_cb=(_open_url if not args.no_open else None)) log.debug("Stopping") monitor.stop() log.debug("Removing logdir %s", logdir) # Handled by ctx mgr cli.out()
def _run_tensorboard(args): from guild import tensorboard tensorboard.setup_logging() with util.TempDir("guild-tensorboard-", keep=_keep_logdir(args)) as tmp: logdir = tmp.path (log.info if args.keep_logdir else log.debug)("Using logdir %s", logdir) tensorboard_options = _tensorboard_options(args) monitor = tensorboard.RunsMonitor( logdir, _list_runs_cb(args), interval=args.refresh_interval, log_images=not args.skip_images, log_hparams=not args.skip_hparams, run_name_cb=_run_name_cb(args), ) t0 = time.time() cli.out("Preparing runs for TensorBoard") monitor.run_once(exit_on_error=True) if args.test_logdir: cli.out("Initialized log dir %s" % logdir) return _maybe_log_prepare_time(t0) monitor.start() try: tensorboard.serve_forever( logdir=logdir, host=(args.host or "0.0.0.0"), port=(args.port or util.free_port()), reload_interval=args.refresh_interval, tensorboard_options=tensorboard_options, ready_cb=_open_cb(args), ) except tensorboard.TensorboardError as e: cli.error(str(e)) finally: log.debug("Stopping") monitor.stop() if not args.keep_logdir: # Removal of temp logdir occurs when context manager # exits. log.debug("Removing logdir %s", logdir) else: print("TensorBoard logs saved in %s" % logdir) if util.get_platform() != "Windows": cli.out()
def main(args): tensorboard = _load_guild_tensorboard_module() tensorboard.setup_logging() with util.TempDir("guild-tensorboard-") as logdir: log.debug("Using logdir %s", logdir) list_runs_cb = lambda: runs_impl.runs_for_args(args) monitor = tensorboard.RunsMonitor(list_runs_cb, logdir, args.refresh_interval) monitor.start() try: tensorboard.serve_forever( logdir=logdir, host=(args.host or "0.0.0.0"), port=(args.port or util.free_port()), reload_interval=args.refresh_interval, ready_cb=(_open_url if not args.no_open else None)) except tensorboard.TensorboardError as e: cli.error(str(e)) finally: log.debug("Stopping") monitor.stop() log.debug("Removing logdir %s", logdir) # Handled by ctx mgr if util.PLATFORM != "Windows": cli.out()