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

最近配置Mask-Rcnn遇到的中间的问题。通常网上的教程一般使用jupyter notebook或者Ipython notebook,还有很多人希望直接把.ipynb转成.py 。在转成.py的demo程序后,往往需要注释一些代码:

    1.将生成的.py程序(以demo.py为例)第32行:get_ipython().run_line_magic('matplotlib','line')   此行注释。因为 get_ipython()只有在使用ipython或者jupyter会用到,生成的demo.py不会用到这个包。

    2.在终端运行 python3 demo.py时会出现这样的错误: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_第1张图片

          出现这个错误的原因是:keras的版本不对。当我们在配置mask-rcnn的时候,根目录下的requirements.txt里面要求的python的包注明的是“keras>=2.0.8”,但是load_weights_from_hdf5_group_by_name只在keras2.0.8的版本中出现,不会出现在最新的keras版本中,(大家可以看下自己的keras版本,命令如下:(1)python 回车(2)import keras h 回车(3)keras.__version__ 回车),我这里默认安装的是keras2.2.0,版本太高。

          解决方法:1)卸载keras:pip uninstall keras       2)安装2.0.8版本的keras:pip install keras==2.0.8 

          再运行,OK,没问题,可以继续踩坑了

你可能感兴趣的:(Mask-Rcnn)