当我遇到同样的问题时,您可以使用受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() 之后被阻塞,请不要忘记创建一个单独的线程。
最好的问候
编辑 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 请求!