在windows下运行tensorflow-keras 版的mask-rcnn时遇到如题所示的错误。
声明我的机子是:win10 + 64位 + Anaconda3 + Python3.5
错误发生在运行Mask_RCNN-master\samples\中的demo.ipynb文件的如下行:
解决方案一:
网上资料说造成这个错误的原因是keras版本不对,在mask-rcnn仓库文件中的requirement.txt中提到要求安装的keras>=2.0.8
而load_weights_from_hdf5_group_by_name只在keras2.0.8的版本中出现,不会出现在最新的keras版本中出现。我查看了下当前安装的keras版本,是2.2.0,按照建议,将其更改到2.0.8,操作如下——
先查看版本,用pip uninstall keras 卸载,在用pip install keras==2.0.8 安装指定版本。重新安装后再执行demo.ipynb那行代码,然后立马尝试运行Mask_RCNN-master\samples\中的demo.ipynb文件,问题没有解决啊!!!然后啥也没再继续,第二天打算尝试解决方案二,奇怪的是再次运行那个demo.ipynb的时候居然成功了~,什么情况?!
解决方案二:
这个问题在mask R-CNN的issue中有提到,由farzadzare提出:
分析的大致原因也是keras的版本问题,采取的解决方案就是用saving来取代代码中的topology,具体如下: