在jupyter notebooks上运行tensorflow-keras的Mask R-CNN时遇到如下错误:

AttributeError:module 'keras.engine.topology' has no attribute 'load_weights_from_hdf5_group_by_name

  参考博客中写了两种解决方案:

  解决方案一:报错是由于keras版本不对造成的。load_weighs_from_hdf5_group_by_name这个属性只在keras 2.0.8版本中出现(不清楚现在的新版本是否支持这个属性),要是你的版本大于2.0.8,就找不到这个属性了。解决办法是卸载现有版本,安装keras 2.0.8。具体操作:

  进入cmd命令行,运行如下两条命令:

1 pip uninstall keras
2 pip install keras==2.0.8

  解决方案二:(我使用了这个方法,成功解决。方案来源github issues:https://github.com/matterport/Mask_RCNN/issues/694

  在Mask R-CNN源码文件夹里,找到mrcnn/model.py文件,用“saving”替换"topology",总共替换三处,如下图

AttributeError:module 'keras.engine.topology' has no attribute 'load_weights_from_hdf5_group_by_name

AttributeError:module 'keras.engine.topology' has no attribute 'load_weights_from_hdf5_group_by_name

  注释掉的三句是原来的代码,注释下一行就是改后的代码,都将topology替换成了saving。

  替换后成功运行。

 

  参考至:https://blog.csdn.net/c20081052/article/details/80745969