如何抑制DeepFace中MTCNN后端的日志输出?
如何抑制DeepFace中MTCNN后端的日志输出?
这些日志是TensorFlow运行MTCNN模型时输出的推理进度日志,可以通过以下几种方式抑制:
方法1:调整TensorFlow日志级别
在导入DeepFace相关模块前,将TensorFlow的日志级别设置为ERROR,过滤掉INFO和WARNING级别的日志:
import tensorflow as tf # 设置TensorFlow仅输出ERROR及以上级别日志 tf.get_logger().setLevel('ERROR') from deepface.commons import functions import numpy as np random_image = np.random.randint( 0, 255, size=(360, 360, 3) ) detected_face = functions.detect_face( img=random_image, detector_backend="mtcnn", enforce_detection=False, )[0]
也可以通过环境变量提前配置(适合脚本开头或终端运行时设置):
import os # TF_CPP_MIN_LOG_LEVEL=3对应仅显示ERROR日志 os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3' import tensorflow as tf from deepface.commons import functions # 后续代码不变
方法2:用Python logging模块精确控制
针对TensorFlow或DeepFace的日志器单独调整级别:
import logging # 禁用tensorflow的日志输出 logging.getLogger('tensorflow').setLevel(logging.ERROR) # 可选:同时禁用deepface自身的日志 logging.getLogger('deepface').setLevel(logging.ERROR) from deepface.commons import functions import numpy as np # 后续代码不变
方法3:利用DeepFace内置参数(部分版本支持)
如果使用的是较新版本的DeepFace,detect_face接口提供了silent参数,直接设为True即可抑制日志:
detected_face = functions.detect_face( img=random_image, detector_backend="mtcnn", enforce_detection=False, silent=True # 新增此参数关闭日志 )[0]
内容的提问来源于stack exchange,提问作者Jaroslav Bezděk
相关产品推荐
相关产品推荐

