2024-09-28 21:00:20 发布
网友
Tensorboard应该从commnad行开始,如下所示:
tensorboard --logdir=path
我需要从代码中运行它。直到现在我用这个:
import os os.system('tensorboard --logdir=' + path)
但是,tensorboard不会启动,因为它不包含在系统路径中。我在窗户上用的是PyCharm和virtualenv。我不想更改系统路径,所以唯一的选择是从virtualenv运行它。怎么做?
使用Tensorboard 2 API(2019年):
from tensorboard import program tb = program.TensorBoard() tb.configure(argv=[None, '--logdir', tracking_address]) url = tb.launch()
注意:tb.launch()创建一个守护进程线程,该线程将在进程完成时自动终止
当我遇到同样的问题时,您可以使用这几行灵感来自tensorboard\main.py:
tensorboard\main.py
from tensorboard import default from tensorboard import program tb = program.TensorBoard(default.PLUGIN_LOADERS, default.get_assets_zip_provider()) tb.configure(argv=['--logdir', my_directory]) tb.main()
以my_directory作为要检查的文件夹。如果要避免在tb.main()之后被阻塞,请不要忘记创建单独的线程。 致意
my_directory
tb.main()
编辑Tensorboard V1.10:
出于个人原因,我用另一种方式来写:
class TensorBoardTool: def __init__(self, dir_path): self.dir_path = dir_path def run(self): # Remove http messages log = logging.getLogger('werkzeug') log.setLevel(logging.ERROR) # Start tensorboard server tb = program.TensorBoard(default.PLUGIN_LOADERS, default.get_assets_zip_provider()) tb.configure(argv=['--logdir', self.dir_path]) url = tb.launch() sys.stdout.write('TensorBoard at %s \n' % url)
编辑Tensorboard V1.12:
根据Elad Weiss和tsbertalan对tensorboard 1.12版的描述。
def run(self): # Remove http messages log = logging.getLogger('werkzeug').setLevel(logging.ERROR) # Start tensorboard server tb = program.TensorBoard(default.get_plugins(), default.get_assets_zip_provider()) tb.configure(argv=[None, '--logdir', self.dir_path]) url = tb.launch() sys.stdout.write('TensorBoard at %s \n' % url)
然后运行它只要:
# Tensorboard tool launch tb_tool = TensorBoardTool(work_dir) tb_tool.run()
这将允许您在主进程的同时运行Tensorboard服务器,而不会干扰http请求!
回答起来可能有点晚,但这正是我在Python3.6.2中的工作原理:
import tensorflow as tf from tensorboard import main as tb tf.flags.FLAGS.logdir = "/path/to/graphs/" tb.main()
它使用默认配置运行tensorboard,并在“/path/to/graphs/”中查找图表和摘要。当然,您可以更改日志目录并使用以下命令设置任意多个变量:
tf.flags.FLAGS.variable = value
希望有帮助。
使用Tensorboard 2 API(2019年):
注意:tb.launch()创建一个守护进程线程,该线程将在进程完成时自动终止
当我遇到同样的问题时,您可以使用这几行灵感来自
tensorboard\main.py
:以
my_directory
作为要检查的文件夹。如果要避免在tb.main()
之后被阻塞,请不要忘记创建单独的线程。 致意编辑Tensorboard V1.10:
出于个人原因,我用另一种方式来写:
编辑Tensorboard V1.12:
根据Elad Weiss和tsbertalan对tensorboard 1.12版的描述。
然后运行它只要:
这将允许您在主进程的同时运行Tensorboard服务器,而不会干扰http请求!
回答起来可能有点晚,但这正是我在Python3.6.2中的工作原理:
它使用默认配置运行tensorboard,并在“/path/to/graphs/”中查找图表和摘要。当然,您可以更改日志目录并使用以下命令设置任意多个变量:
希望有帮助。
相关问题 更多 >
编程相关推荐