导入torch.utils.tensorboard引发TensorFlow警告:是否必要及安全屏蔽方法?
PyTorch中TensorBoard导入时TensorFlow警告的处理
警告是否必要?
这些警告完全不影响PyTorch下TensorBoard的正常使用:
- 第一条是关于oneDNN加速的提示,仅和TensorFlow的计算精度/性能相关,PyTorch不会用到这部分逻辑;
- 第二条是TensorFlow针对CPU指令集优化的说明,同样和PyTorch的运行无关;
- 第三条是TensorFlow找不到TensorRT的警告,PyTorch有自己的TensorRT集成方式,这条警告对PyTorch场景无意义。
简单来说,这些都是TensorBoard依赖的TensorFlow底层组件输出的无效日志,对PyTorch用户没有价值,完全可以屏蔽。
安全屏蔽警告的方法
方法1:导入前设置环境变量
在导入SummaryWriter之前,设置TensorFlow日志等级,过滤掉INFO和WARNING级别的日志:
import os # 设置日志等级为ERROR,仅保留致命错误信息 os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3' from torch.utils.tensorboard import SummaryWriter
TF_CPP_MIN_LOG_LEVEL取值说明:
0:默认,显示所有日志(INFO/WARNING/ERROR/FATAL)1:屏蔽INFO日志2:屏蔽INFO和WARNING日志3:屏蔽INFO、WARNING和ERROR日志
方法2:通过Python日志模块过滤
直接配置Python日志系统,禁用tensorflow相关日志输出:
import logging logging.getLogger('tensorflow').setLevel(logging.FATAL) from torch.utils.tensorboard import SummaryWriter
方法3:使用无TensorFlow依赖的替代库(可选)
如果不想环境中存在TensorFlow相关依赖,可以安装第三方实现tensorboardX,用法和官方SummaryWriter几乎一致:
pip install tensorboardX
导入时替换为:
from tensorboardX import SummaryWriter
内容的提问来源于stack exchange,提问作者Klops
相关产品推荐
相关产品推荐

