You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行FG2020亲属关系基线模型报_logger_find_caller参数错误如何修复

报错根因

你当前使用的TensorFlow 1.14.0、Keras 2.2.4均为2019年发布的旧版本,官方最高适配Python 3.7,而你的环境Python版本为3.8.1。Python 3.8对logging模块的findCaller方法新增了stacklevel参数,旧版本TensorFlow的日志调用逻辑没有适配该改动,触发参数不匹配报错。

修复方案

按优先级从高到低排列:

  • 方案1:降级Python版本(最稳定,无需修改代码)
    重新用Anaconda创建Python 3.7版本的虚拟环境,重新安装依赖即可:
    # 创建新虚拟环境
    conda create -n env-kinship-new python=3.7
    conda activate env-kinship-new
    # 安装对应版本依赖
    pip install tensorflow==1.14.0 keras==2.2.4 keras-vggface pillow numpy
    
    该方案完全匹配原项目的依赖版本要求,不会出现其他兼容性问题。
  • 方案2:修改TensorFlow日志逻辑(不想更换Python版本可选择)
    找到虚拟环境路径下的lib/python3.8/site-packages/tensorflow/python/platform/tf_logging.py文件,修改其中所有日志调用方法,过滤掉多余的stacklevel参数:
    找到所有类似get_logger().xxx(msg, *args, **kwargs)的调用,在前面加一行:
    kwargs.pop('stacklevel', None)
    
    覆盖warning、error、info、debug所有方法即可解决参数不匹配问题。
  • 方案3:关闭TensorFlow废弃警告(临时快速验证用)
    在你运行的代码最开头添加以下代码,跳过废弃警告的打印逻辑,也就不会触发日志模块的报错:
    import tensorflow as tf
    tf.logging.set_verbosity(tf.logging.ERROR)
    import os
    os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'
    

内容的提问来源于stack exchange,提问作者NNNNNNN

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 14:06:08