(转)使用tensorboard 查看图时报 ValueError: Invalid format string

https://blog.csdn.net/michealblank/article/details/88085243

最近刚使用到tensorboard,但是打开tensorboard时,发生了错误。

详细打印信息如下:

TensorBoard 1.13.0 at http://DESKTOP-F48JIP5:6006 (Press CTRL+C to quit)
Traceback (most recent call last):
  File "d:\programdata\anaconda3\envs\tensorflow\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "d:\programdata\anaconda3\envs\tensorflow\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "d:\ProgramData\Anaconda3\envs\tensorflow\Scripts\tensorboard.exe\__main__.py", line 9, in <module>
  File "d:\programdata\anaconda3\envs\tensorflow\lib\site-packages\tensorboard\main.py", line 57, in run_main
    app.run(tensorboard.main, flags_parser=tensorboard.configure)
  File "d:\programdata\anaconda3\envs\tensorflow\lib\site-packages\absl\app.py", line 300, in run
    _run_main(main, args)
  File "d:\programdata\anaconda3\envs\tensorflow\lib\site-packages\absl\app.py", line 251, in _run_main
    sys.exit(main(argv))
  File "d:\programdata\anaconda3\envs\tensorflow\lib\site-packages\tensorboard\program.py", line 228, in main
    self._register_info(server)
  File "d:\programdata\anaconda3\envs\tensorflow\lib\site-packages\tensorboard\program.py", line 274, in _register_info
    manager.write_info_file(info)
  File "d:\programdata\anaconda3\envs\tensorflow\lib\site-packages\tensorboard\manager.py", line 268, in write_info_file
    payload = "%s\n" % _info_to_string(tensorboard_info)
  File "d:\programdata\anaconda3\envs\tensorflow\lib\site-packages\tensorboard\manager.py", line 128, in _info_to_string
    for k in _TENSORBOARD_INFO_FIELDS
  File "d:\programdata\anaconda3\envs\tensorflow\lib\site-packages\tensorboard\manager.py", line 128, in <dictcomp>
    for k in _TENSORBOARD_INFO_FIELDS
  File "d:\programdata\anaconda3\envs\tensorflow\lib\site-packages\tensorboard\manager.py", line 50, in <lambda>
    serialize=lambda dt: int(dt.strftime("%s")),
ValueError: Invalid format string

因为刚接触,并不熟悉tensorboard,认为源码不会出什么问题。于是在网上搜了一下,结果没有相关的错误解决方法。于是自己试试看看能否解决。

按照提示打开了manager.py文件,在50行的位置serialize=lambda dt: int(dt.strftime("%s"))。先搜了一下python的lambda 的表达式用法,知道了这个dt代表前一行的datetime类型。搜了一下datetime的strftime的方法的格式化方法(文章见链接https://blog.csdn.net/shomy_liu/article/details/44141483),查到格式化符号里竟然没有%s,只有%S,有大小写区分。于是把这个%s修改为%S,再使用命令tensorboard --logdir=c:/logfile ,结果竟然通过了。

看到了打印信息如下:
 

(tensorflow) C:\>tensorboard --logdir=c:/logfile
TensorBoard 1.13.0 at http://DESKTOP-F48JIP5:6006 (Press CTRL+C to quit)

但是事情还没结束,本以为把http://DESKTOP-F48JIP5:6006输入到Google Chrome地址栏,就可以看到图了,但是却打不开。于是乎试了试http://localhost:6006,结果终于看到久违的图了。以后就要开始tensorboard之旅了。

猜你喜欢

转载自blog.csdn.net/zyb418/article/details/88592588