def cdCmd(path, DEFAULTS, layout): """ Set working directory and load default parameters (main). """ import sys from platform import uname IN_COLAB = "google.colab" in sys.modules IN_WSL2 = "microsoft-standard" in uname().release IN_LINUX = not IN_COLAB and not IN_WSL2 out = layout["out"] path = get_path(path) with out: main(cd=path) logger.info("Loading configuration data ...") # Tabs tab = widgets.Tab() tab.children = [glimpseUI(out, DEFAULTS), fitUI(out, DEFAULTS)] if IN_LINUX: tensorboard = widgets.Output() tab.children = tab.children + (showUI(out, DEFAULTS), tensorboard) elif IN_WSL2: tensorboard = None tensorboard_info = widgets.Label( value=( 'Run "tensorboard --logdir=<working directory>" in the terminal' ' and then open "localhost:6006" in the browser' ) ) tab.children = tab.children + (showUI(out, DEFAULTS), tensorboard_info) elif IN_COLAB: tensorboard = None tab.children = tab.children + ( widgets.Label(value="Disabled in Colab"), widgets.Label(value="Disabled in Colab"), ) tab.children = tab.children + (logUI(out),) tab.set_title(0, "Extract AOIs") tab.set_title(1, "Fit the data") tab.set_title(2, "View results") tab.set_title(3, "Tensorboard") tab.set_title(4, "View logs") if tensorboard is not None: with tensorboard: notebook.start(f"--logdir '{path}'") notebook.display(height=1000) # insert tabs into GUI wd = widgets.Label(value=f"Working directory: {path}") layout.remove_child("cd") layout.add_child("tab", tab, beginning=True) layout.add_child("wd", wd, beginning=True) with out: logger.info("Loading configuration data: Done") out.clear_output(wait=True)
def setup_tensorboard(args): from tensorboard import notebook, manager import signal import shutil # Kill tensorboard for info in manager.get_all(): data_source = manager.data_source_from_info(info) print(f"port {info.port}: {data_source} (pid {info.pid})") if data_source == "logdir {args.output_dir}": pid = info.pid logger.info(f"Killing tensorboard at pid: {pid}") os.kill(pid, signal.SIGKILL) break # Delete output directory if os.path.exists(args.output_dir): logger.info(f"Deleting {args.output_dir}") shutil.rmtree(args.output_dir) logger.info(f"Creating {args.output_dir}") os.makedirs(args.output_dir) # Start notebook notebook.start(f"--logdir {args.output_dir}") # Kill tensorboard for info in manager.get_all(): data_source = manager.data_source_from_info(info) print(f"port {info.port}: {data_source} (pid {info.pid})") if data_source == "logdir {args.output_dir}": port = info.port print() notebook.display(port=port, height=1000) break
# 1 load la première cell # 2 utiliser la derniere cell avec --logdir (précisez bien votre répertoire, plus sur que ça # fonctionne avec une string "mon_path" # 3 Vous NE POURREZ PLUS update tensorboard sur ce port et il y aura des bugs, pour éviter ça # quand vous voulez faire une update, fermez jupyter notebook (shutdown total) et réouvrez le # OU, faites kernel->interrupt et changez de port + de folder de log #PS : Oui, c'est de la merde # Liste des ports utilisés par tensorboard, attention ça se remplit vite et il faut kill jupyter pour clean from tensorboard import notebook notebook.list() # Tuez des processus si vous voulez, moi ça fonctionne po :( import os os.system("taskkill /im tensorboard.exe /f") #kill tous les processus qui utilisent tensorboard #os.system('!kill 18776') #kill le processus X # Commented out IPython magic to ensure Python compatibility. # %tensorboard --logdir "CONVNETS_120120/logs1/tensorboard_data" --port=6063 # Code pour démarrer tensorboard dans le dossier souhaité [PRECISEZ BIEN LE DOSSIER ICI] # Si vous avez la folie des grandeurs notebook.display(port=6063, height=1000) ### Fichier CSV Recap + Graphique data_csv = pd.read_csv(main_directory+"\\logs_20200113-231554\\recap.csv") data_csv.head() image = pyplot.imread("C:\\Users\\arnau\\Desktop\\quatrième_année\\Deep_Learning\\Projet_cifar-10\\CONVNETS_20200113-1951\\logs1\\indiv1_plot.png") pyplot.imshow(image)