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

tf_keras 2.18.0中使用tf.compat.v1损失函数仍现弃用警告的疑问

TensorFlow弃用警告已使用tf.compat.v1仍触发的原因及解决办法

可能的原因

  • 警告行号并非实际调用点:警告中显示的行号只是触发警告的位置(比如字典定义时引用函数对象),但tf_keras内部其他模块可能仍在直接调用tf.losses.sparse_softmax_cross_entropy,导致警告弹出。
  • 版本兼容性问题:tf_keras 2.18.0与当前安装的TensorFlow版本不匹配,内部调用逻辑存在旧API引用。tf_keras版本通常需要和TensorFlow主版本保持一致(如tf_keras 2.18.x对应TensorFlow 2.18.x)。
  • 字节码缓存未更新:Python的.pyc字节码文件可能缓存了旧代码逻辑,即使你检查的源码是正确的,实际运行的仍是缓存的旧版本。

解决办法

1. 确认版本匹配

检查当前TensorFlow版本:

import tensorflow as tf
print(tf.__version__)

若版本不是2.18.x,执行命令调整版本:

pip install tensorflow==2.18.0

2. 清除字节码缓存

删除项目目录和虚拟环境Lib/site-packages/tf_keras路径下的所有__pycache__文件夹及.pyc文件,重新运行项目。

3. 屏蔽特定警告(功能不受影响时)

若确认警告不影响模型运行,可在项目入口添加代码过滤:

import tensorflow as tf
# 全局降低日志级别(屏蔽所有INFO和WARNING)
tf.get_logger().setLevel('ERROR')

# 或精准屏蔽该特定警告
import warnings
warnings.filterwarnings(
    "ignore",
    category=DeprecationWarning,
    message=r".*The name tf.losses.sparse_softmax_cross_entropy is deprecated.*"
)

4. 重新安装tf_keras

若怀疑源码损坏,卸载后重装指定版本:

pip uninstall -y tf_keras
pip install tf_keras==2.18.0

5. 禁止手动修改tf_keras源码

第三方库源码由官方维护,手动修改会导致版本不一致,后续更新包会覆盖修改,还可能引入未知错误,不建议操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 20:22:39