gogo2/run_tensorboard.py
Dobromir Popov 3871afd4b8 init
2025-03-18 09:23:09 +02:00

69 lines
2.1 KiB
Python

import os
import sys
import subprocess
import webbrowser
import time
import argparse
def run_tensorboard():
"""Run TensorBoard server and open browser"""
parser = argparse.ArgumentParser(description='TensorBoard Launcher')
parser.add_argument('--port', type=int, default=6006, help='Port for TensorBoard server')
parser.add_argument('--logdir', type=str, default='runs', help='Log directory for TensorBoard')
parser.add_argument('--no-browser', action='store_true', help='Do not open browser automatically')
args = parser.parse_args()
# Create log directory if it doesn't exist
os.makedirs(args.logdir, exist_ok=True)
# Print banner
print("\n" + "="*60)
print("📊 TRADING BOT - TENSORBOARD MONITORING 📊")
print("="*60)
print(f"Starting TensorBoard server on port {args.port}")
print(f"Log directory: {args.logdir}")
print("Press Ctrl+C to stop the server")
print("="*60 + "\n")
# Start TensorBoard server
cmd = ["tensorboard", "--logdir", args.logdir, "--port", str(args.port)]
try:
# Start TensorBoard process
process = subprocess.Popen(
cmd,
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT,
universal_newlines=True
)
# Wait for TensorBoard to start
time.sleep(3)
# Open browser
if not args.no_browser:
url = f"http://localhost:{args.port}"
print(f"Opening browser to {url}")
webbrowser.open(url)
# Print TensorBoard output
while True:
output = process.stdout.readline()
if output == '' and process.poll() is not None:
break
if output:
print(output.strip())
return process.poll()
except KeyboardInterrupt:
print("\nStopping TensorBoard server...")
process.terminate()
return 0
except Exception as e:
print(f"Error running TensorBoard: {str(e)}")
return 1
if __name__ == "__main__":
exit_code = run_tensorboard()
sys.exit(exit_code)