当前位置: 首页 > news >正文

Python,Maskrcnn训练,cannot import name ‘saving‘ from ‘keras.engine‘ ,等问题集合

Python版本=3.9,tensorflow=2.11.0,keras==2.11.0

问题一、module 'keras.engine' has no attribute 'Layer'

Traceback (most recent call last):File "C:\Users\Administrator\Desktop\20240801\代码\test.py", line 16, in <module>from mrcnn import model as modellib, utilsFile "D:\Data_Download\anaconda_env\python\lib\site-packages\mrcnn\model.py", line 255, in <module>class ProposalLayer(KE.Layer):
AttributeError: module 'keras.engine' has no attribute 'Layer'

问题二、cannot import name 'saving' from 'keras.engine' 

Traceback (most recent call last):File "test.py", line 237, in <module>"mrcnn_bbox", "mrcnn_mask"])File "D:\Data_Download\anaconda_env\代码\lib\site-packages\mrcnn\model.py", line 2097, in load_weightsfrom keras.engine import saving
ImportError: cannot import name 'saving' from 'keras.engine' (D:\Data_Download\anaconda_env\python\lib\site-packages\keras\engine\__init__.py)

这两个问题是同一个问题导致的,

网上有教程让降低pip install tensorflow==1.13.1、pip install keras==2.0.8、pip install h5py==2.10.0,我还尝试退回了python3.7,实际上解决不了问题

实际问题是mrcnn模块的问题,我运行代码,提示找不到mrcnn库,

然后我就直接pip install mrcnn ,这不对的,需要卸载pip uninstall mrcnn

正确的安装方式是,到github上下载源文件 Mask_RCNN-master.zip,下载地址:https://github.com/akTwelve/Mask_RCNN

也可以到这里下载:https://download.csdn.net/download/qq_61523551/89605885

通过下面的代码安装

pip install Mask_RCNN-master.zip

问题三、OSError: Unable to synchronously open file

代码中,需要读取一个初始模型,mask_rcnn_coco.h5

然后,我的代码中有一段是,在线下载模型,我是下载到一半中断了,所以导致无法读取

# Local path to trained weights file
COCO_MODEL_PATH = os.path.join(ROOT_DIR, "mask_rcnn_coco.h5")# Download COCO trained weights from Releases if needed
if not os.path.exists(COCO_MODEL_PATH):utils.download_trained_weights(COCO_MODEL_PATH)

解决方案是删除,mask_rcnn_coco.h5,执行代码重新下载,或者带github上下载,下载地址https://github.com/matterport/Mask_RCNN/releases

也可以到这里下载:​​​​​https://download.csdn.net/download/qq_61523551/89605903

问题四、跑起来之后,FutureWarning: Input image dtype is bool

这个直接调整scikit-image版本

pip install scikit-image==0.16.2

问题五、跑起来之后,'SGD' object has no attribute 'get_updates'

这个最经典!找了很久都没找到问题,最后发现是Maskrcnn源代码的问题,

打开代码,你的python路径\Lib\site-packages\mrcnn\model.py

大概2160行,按照下面修改代码,keras.optimizers.legacy.SGD

#修改前
# Optimizer object
optimizer = keras.optimizers.SGD(lr=learning_rate, momentum=momentum,clipnorm=self.config.GRADIENT_CLIP_NORM)#修改后
# Optimizer object
optimizer = keras.optimizers.legacy.SGD(lr=learning_rate, momentum=momentum,clipnorm=self.config.GRADIENT_CLIP_NORM)

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 检索增强生成(RAG):智能内容生成的新纪元
  • 花几千上万学习Java,真没必要!(三十八)
  • Zotero的探索之路
  • 【网络安全】副业兼职日入12k,网安人不接私活就太可惜了!
  • 【学术会议征稿】第四届高性能计算与通信工程国际学术会议(HPCCE 2024)
  • app逆向抓包技巧:ROOT检测绕过
  • 网络6 -- udp_socket 实现 echo服务器
  • Windows Subsystem for Linux——使用宿主机器上的摄像头
  • 浅学爬虫-处理复杂网页
  • 等保测评练习卷22
  • 1.面试准备篇
  • 微信小程序教程009:条件渲染
  • 项目实战——外挂开发(30小时精通C++和外挂实战)
  • IDEA切换分支,会影响当前在跑的项目吗?
  • 【计算机网络】网络基础概念
  • python3.6+scrapy+mysql 爬虫实战
  • 【Amaple教程】5. 插件
  • android高仿小视频、应用锁、3种存储库、QQ小红点动画、仿支付宝图表等源码...
  • JAVA 学习IO流
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • JavaScript实现分页效果
  • Less 日常用法
  • node.js
  • vue-cli在webpack的配置文件探究
  • vue从创建到完整的饿了么(18)购物车详细信息的展示与删除
  • zookeeper系列(七)实战分布式命名服务
  • 从@property说起(二)当我们写下@property (nonatomic, weak) id obj时,我们究竟写了什么...
  • 回顾2016
  • 如何用Ubuntu和Xen来设置Kubernetes?
  • 学习JavaScript数据结构与算法 — 树
  • 原生Ajax
  • 京东物流联手山西图灵打造智能供应链,让阅读更有趣 ...
  • #include到底该写在哪
  • #QT 笔记一
  • #大学#套接字
  • (Java入门)学生管理系统
  • (安卓)跳转应用市场APP详情页的方式
  • (四)TensorRT | 基于 GPU 端的 Python 推理
  • (转)C#开发微信门户及应用(1)--开始使用微信接口
  • ******之网络***——物理***
  • .NET C# 使用 iText 生成PDF
  • .NET 直连SAP HANA数据库
  • .NET/C# 推荐一个我设计的缓存类型(适合缓存反射等耗性能的操作,附用法)
  • .net程序集学习心得
  • .Net中wcf服务生成及调用
  • .vue文件怎么使用_我在项目中是这样配置Vue的
  • @for /l %i in (1,1,10) do md %i 批处理自动建立目录
  • @value 静态变量_Python彻底搞懂:变量、对象、赋值、引用、拷贝
  • [ vulhub漏洞复现篇 ] JBOSS AS 4.x以下反序列化远程代码执行漏洞CVE-2017-7504
  • [ vulhub漏洞复现篇 ] ThinkPHP 5.0.23-Rce
  • [ 云计算 | Azure 实践 ] 在 Azure 门户中创建 VM 虚拟机并进行验证
  • [20180312]进程管理其中的SQL Server进程占用内存远远大于SQL server内部统计出来的内存...
  • [Android]Android开发入门之HelloWorld
  • [flask]http请求//获取请求体数据
  • [GXYCTF2019]禁止套娃1