TensorBoard 2.7在Ubuntu 18系统下无法显示全部日志步数问题
TensorBoard 日志步数显示不全问题解决方案
问题根因
你遇到的Errno 5 Input/output error本质是文件系统层面的读取故障,而非TensorBoard参数配置问题,和Windows系统下可正常读取同类型日志的表现吻合。
修复步骤
- 第一步校验日志完整性:执行
md5sum <你的日志文件路径>,和Windows上存储的原日志MD5值对比,确认跨系统拷贝过程中文件没有损坏。Ubuntu 18默认文件管理器在拷贝大于2GB的文件时偶发静默截断问题,是该场景下的高频故障点 - 第二步替换兼容启动参数:使用以下命令启动TensorBoard,原有大数配置替换为官方推荐的全量加载参数:
说明:tensorboard --logdir <你的日志目录> --samples_per_plugin scalars=0,images=0 --reload_interval 30samples_per_plugin参数设为0代表加载所有步长数据,兼容性优于自定义超大数值 - 第三步修复文件权限:执行
sudo chmod -R 755 <你的日志目录>,确认运行TensorBoard的用户对日志文件有完整读权限。Ubuntu默认权限控制会导致大文件读取时无报错截断,表现为只能看到部分步数 - 第四步升级补丁版本:TensorBoard 2.7.0存在已知大日志读取bug,执行
pip install tensorboard==2.7.1升级到同大版本的修复版,不会影响现有日志的兼容性 - 第五步排查文件系统兼容性:若上述步骤都无效,尝试将日志移动到ext4格式分区下读取。Ubuntu 18对NTFS等外来文件系统的大文件读取存在内核层面的IO限制,是触发Input/output错误的常见原因
内容的提问来源于stack exchange,提问作者Yousef
相关产品推荐
相关产品推荐

