TensorBoard:模型解析流程

当我们需要查看模型文件如.pb, .meta等的结构的时候,需要先根据model生成event文件。在生成event文件之后,通过命令行执行tensorboard --logdir=[event dir]即可启动TensorBoard服务,其中命令中中括号内表示event文件所在目录。那么我们来看看,event文件是怎么一步一步呈现出来的。
首先来看一下整个event文件解析流程的时序图:
event解析流程
上图是服务器启动之前所做的解析工作,下面我们就跟着代码,看看每一步都是怎么进行的。
一切还得从文章最开始得那条命令开始说起。既然存在一个tensorboard命令,那么就一定可以找到一个以该命令命名的文件,且该文件所在的路径一定在操作系统的环境变量中。直接使用which tensorboard 可以定位到文件所在目录,在我电脑上,它位于/home/chou/SNPE/venv/bin路径下。

(venv) chou@chou-vb:~/$ which tensorboard
/home/chou/SNPE/venv/bin/tensorboard

打开该文件,很简单,只有几行:

from tensorboard.main import run_main

if __name__ == '__main__':
    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
    sys.exit(run_main())

从第一行可以看出。真正的入口是tensorboard/main.py中的run_main()函数。我们找到Github下载下来的源代码,开main.py文件并定位到run_main()函数。

def run_main():
  """Initializes flags and calls main()."""
  program.setup_environment()
  
  # 生成TensorBoard实例
  tensorboard = program.TensorBoard(default.get_plugins(),
                                    program.get_default_assets_zip_provider())
  try:
    from absl import app
    # Import this to check that app.run() will accept the flags_parser argument.
    from absl.flags import argparse_flags
    app.run(tensorboard.main, flags_parser=tensorboard.configure)
    raise AssertionError("absl.app.run() shouldn't return")
  except ImportError:
    pass
  tensorboard.configure(sys.argv)
  
  # 调用TensorBoard的main函数
  sys.exit(tensorboard.main())

可以看到,run_main()的主要工作是进行了一些设置,并最终调用了TensorBoard的main函数。

  def main(self, ignored_argv=('',)):

    ...
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值