如何阻止Kaggle Notebook中TensorFlow打印KMP设置冗余日志
你遇到的KMP日志是Intel MKL的OpenMP运行库输出的,不属于TensorFlow的日志体系,所以TF_CPP_MIN_LOG_LEVEL配置无法抑制该输出。
从你提供的环境变量可以定位到两个导致输出的配置:
KMP_SETTINGS=1:该配置会强制打印所有KMP生效配置KMP_AFFINITY参数中包含verbose:会打印线程亲和性相关的调试信息
解决方案
方法1:Python代码中提前配置环境变量
将以下代码放在Notebook的第一个代码单元格,在导入TensorFlow或任何依赖MKL的库之前运行:
import os # 关闭KMP配置信息输出 os.environ["KMP_SETTINGS"] = "0" # 移除亲和性配置中的verbose参数 os.environ["KMP_AFFINITY"] = "granularity=fine,compact,1,0" # 保留TensorFlow日志抑制配置(可选) os.environ["TF_CPP_MIN_LOG_LEVEL"] = "2"
方法2:使用Jupyter魔术命令修改环境变量
如果方法1未生效,可以先运行以下魔术命令配置环境变量,再导入相关库:
%env KMP_SETTINGS=0 %env KMP_AFFINITY=granularity=fine,compact,1,0 %env TF_CPP_MIN_LOG_LEVEL=2
配置完成后再运行测试代码,就不会再出现冗余的KMP配置日志。
内容的提问来源于stack exchange,提问作者Lecdi
相关产品推荐
相关产品推荐

