Spaces:
Build error
Build error
| import os | |
| import gradio as gr | |
| from easygui import msgbox | |
| import subprocess | |
| import time | |
| from library.custom_logging import setup_logging | |
| # Set up logging | |
| log = setup_logging() | |
| tensorboard_proc = None # I know... bad but heh | |
| TENSORBOARD = 'tensorboard' if os.name == 'posix' else 'tensorboard.exe' | |
| def start_tensorboard(logging_dir): | |
| global tensorboard_proc | |
| if not os.listdir(logging_dir): | |
| log.info('Error: log folder is empty') | |
| msgbox(msg='Error: log folder is empty') | |
| return | |
| run_cmd = [f'{TENSORBOARD}', '--logdir', f'{logging_dir}', '--host', '0.0.0.0', '--port', '6006'] | |
| log.info(run_cmd) | |
| if tensorboard_proc is not None: | |
| log.info( | |
| 'Tensorboard is already running. Terminating existing process before starting new one...' | |
| ) | |
| stop_tensorboard() | |
| # Start background process | |
| log.info('Starting tensorboard...') | |
| tensorboard_proc = subprocess.Popen(run_cmd) | |
| # Wait for some time to allow TensorBoard to start up | |
| time.sleep(5) | |
| # Open the TensorBoard URL in the default browser | |
| log.info('Opening tensorboard url in browser...') | |
| import webbrowser | |
| webbrowser.open('http://localhost:6006') | |
| def stop_tensorboard(): | |
| log.info('Stopping tensorboard process...') | |
| tensorboard_proc.kill() | |
| log.info('...process stopped') | |
| def gradio_tensorboard(): | |
| with gr.Row(): | |
| button_start_tensorboard = gr.Button('Start tensorboard') | |
| button_stop_tensorboard = gr.Button('Stop tensorboard') | |
| return (button_start_tensorboard, button_stop_tensorboard) | |