tensorboardX 报错 OSError: [Errno 22] Invalid argument

问题描述

最近,在学习 tensorboardX 时,生成了 log 文件,但是,执行 tensorboard --logdir=runs 的时候出现了下面的bug:

TensorBoard 1.13.1 at http://DESKTOP-T3AN8OM:6006 (Press CTRL+C to quit)
Traceback (most recent call last):
File “d:\anaconda3\lib\runpy.py”, line 193, in _run_module_as_main
main”, mod_spec)
File “d:\anaconda3\lib\runpy.py”, line 85, in run_code
exec(code, run_globals)
File "D:\Anaconda3\Scripts\tensorboard.exe_main
.py", line 9, in
File “d:\anaconda3\lib\site-packages\tensorboard\main.py”, line 57, in run_main
app.run(tensorboard.main, flags_parser=tensorboard.configure)
File “d:\anaconda3\lib\site-packages\absl\app.py”, line 300, in run
_run_main(main, args)
File “d:\anaconda3\lib\site-packages\absl\app.py”, line 251, in _run_main
sys.exit(main(argv))
File “d:\anaconda3\lib\site-packages\tensorboard\program.py”, line 228, in main
self._register_info(server)
File “d:\anaconda3\lib\site-packages\tensorboard\program.py”, line 274, in _register_info
manager.write_info_file(info)
File “d:\anaconda3\lib\site-packages\tensorboard\manager.py”, line 269, in write_info_file
payload = “%s\n” % _info_to_string(tensorboard_info)
File “d:\anaconda3\lib\site-packages\tensorboard\manager.py”, line 129, in _info_to_string
for k in _TENSORBOARD_INFO_FIELDS
File “d:\anaconda3\lib\site-packages\tensorboard\manager.py”, line 129, in
for k in _TENSORBOARD_INFO_FIELDS
File “d:\anaconda3\lib\site-packages\tensorboard\manager.py”, line 51, in
(dt - datetime.datetime.fromtimestamp(0)).total_seconds()),
OSError: [Errno 22] Invalid argument

代码文件:

from tensorboardX import SummaryWriter

writer = SummaryWriter('./runs')
for i in range(10):
    writer.add_scalar('quadratic', i**2, i)
    writer.add_scalar('exponential', 2**i, i)
writer.close()

解决方法

找了好几天的问题,后来,在这个 github issues 中找到了答案。

问题就是 Python 版本与 tensorboardX 版本不匹配。

需要将 tensorboardX 版本 回退到 1.12 版本,或者将 Python 更新到 ≥3.6.7 版本。

我这里由于下载的时候,直接下载的是 tensorboardX 最新版本(默认),但是 Python 版本却还是 3.6.5 , 因此出现了问题。


如果为了图方便的话,建议将 tensorboardX 版本 回退到 1.12 版本;我选择了更新 Python,主要是怕以后还会因为版本问题出现 bug,但现在来看可能麻烦一些。

更新 Python 是一件很容易出错的事情,建议用 Anaconda 管理 Python 版本,最新版的 Anaconda 已经支持 Python3.7 版本了。

我在更新 Python 的时候,出了一堆小问题,但还好现在不忙,正好有时间都解决了。


更新后,执行 tensorboard --logdir=runs :

tensorboardX 显示结果

最后,希望这篇文章能帮助大家。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值