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

导入categorical_dqn_agent时出错:无法从keras.backend导入指定函数

问题描述

执行导入代码:

from tf_agents.agents.categorical_dqn import categorical_dqn_agent

触发错误:

ImportError: cannot import name 'binary_weighted_focal_crossentropy' from 'keras.backend' (C:\Users\tgmjack\anaconda3\lib\site-packages\keras\backend.py)

尝试提前导入以下内容后,问题仍未解决:

from tensorflow import keras
from tensorflow.keras import layers
from tensorflow.keras.metrics import binary_focal_crossentropy

环境信息:

  • Anaconda环境
  • TensorFlow版本:2.9.2
  • TF Agents版本:0.5.0
  • Keras版本:2.9.0
  • 正在学习C51相关教程
解决方案

核心原因是TF Agents版本与TensorFlow/Keras版本不兼容:

  • TF Agents 0.5.0依赖的Keras API中,binary_weighted_focal_crossentropy尚未被加入keras.backend模块,而Keras 2.9.0确实没有该函数。
  • TensorFlow 2.9.2对应的兼容TF Agents版本为0.12.0左右,低版本TF Agents无法适配高版本TensorFlow/Keras的API变更。

修复步骤:

  1. 卸载当前TF Agents:
pip uninstall -y tf-agents
  1. 安装兼容版本的TF Agents:
pip install tf-agents==0.12.0
  1. 无需额外导入binary_focal_crossentropy,直接执行原导入代码即可。

若问题持续,检查环境是否存在独立安装的Keras,优先使用TensorFlow内置的Keras(避免独立Keras与TF内置版本冲突)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 21:05:22