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

运行ANN可视化代码时出现AttributeError: module 'keras.layers' has no attribute 'core'求助

解决AttributeError: module 'keras.layers' has no attribute 'core'并实现ANN可视化

错误原因

你使用的ann_visualizer库基于旧版独立Keras开发,代码中仍在调用keras.layers.core模块,但当前你用的是TensorFlow集成的tf.keras,该模块结构已调整,因此触发属性错误。

解决方案

方案一:修改ann_visualizer源码适配tf.keras

  1. 找到ann_visualizer的安装路径:在Python的site-packages文件夹中定位到ann_visualizer/visualize.py文件
  2. 打开文件,替换所有旧版Keras的引用:
    • 将from keras.layers.core import Dense, Dropout, Activation替换为from tf.keras.layers import Dense, Dropout, Activation
    • 将所有判断层类型的代码(如isinstance(layer, keras.layers.core.Dense))替换为isinstance(layer, tf.keras.layers.Dense)
  3. 保存修改后,重新运行你的代码

方案二:使用适配新版tf.keras的可视化库(推荐)

方法1:用TensorFlow自带的plot_model(无需额外安装)

替换代码中ann_viz相关的部分为:

from tensorflow.keras.utils import plot_model
# 生成可视化图片,保存为文件并显示结构细节
plot_model(ann, to_file='ann_visualization.png', 
           show_shapes=True, show_layer_names=True, 
           title="My first neural network")

执行后会在当前目录生成一张PNG图片,清晰展示网络的层级结构、每层输入输出形状及名称。

方法2:使用visualkeras库

  1. 先安装库:
pip install visualkeras
  1. 替换可视化代码部分:
import visualkeras
# 直接显示可视化结果
visualkeras.layered_view(ann, legend=True, title="My first neural network").show()
# 或者保存为图片文件
# visualkeras.layered_view(ann, legend=True, title="My first neural network").save('ann_visualization.png')

该库会生成更直观的分层视图,支持自定义样式。

额外提示

你的代码中使用了//作为注释符号,Python规范中应使用#,虽然不影响运行,但建议统一修改,避免混淆。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 19:45:21