【踩坑随笔】Mask_RCNN基于服务器环境跑通Demo成功版

踩过的坑一个接一个,最后放弃在window环境下去尝试了,看到的大多有效的教程也都是ubuntu系统下的,鉴于我的电脑空间不够造了而且安双系统操作不当可能会导致本来的系统崩溃,所以干脆直接服务器租卡了,本文的环境亲测成功并且目前跑通Demo很顺利没有什么坑,记录一下仅供参考。

下面是我在win11上测试踩过的坑和做过的尝试过的解决方案,探索了有不下一个星期,尝试了30多个版本,踩坑记录多到写不过来,感兴趣的可以看看给自己找找灵感或者各位大佬发现有什么问题欢迎指出或者有解决方案的可以留言评论,感谢!
【踩坑随笔】有坑别跟!!!win11基于Tensorflow2.6GPU版跑通MaskRCNN的Demo纯小白版
【踩坑随笔】Tensorflow-GPU训练踩坑
【踩坑随笔】Mask-RCNN 报错ValueError: Input image dtype is bool. Interpolation is not defined with bool data
【踩坑随笔】error: no instance of overloaded function “atomicAdd“ matches the argument list
【踩坑随笔】MaskRCNN的Demo运行结果为No instances to display

配置并运行Demo

源码链接:https://github.com/leekunhee/Mask_RCNN.git 用git将源码clone到本地或者直接打包下载,直接在本地然后对源码进行修改,把代码里的np.bool改成np.bool_即可,注意不要一键替换,点进查找结果确认一下后面是否有下划线再修改,也可以直接下载我修改后的源码(含下载好的权重),CSDN这个资源绑定自动设置成VIP资源了我改不了没有VIP的可以评论留邮箱我发你。。。。

然后在服务器上配置环境,我选的设备配置是如下图,放个我用的服务器链接,我个人对比下是目前相对便宜的或者大家自行找别的也行
在这里插入图片描述
镜像选择如下

Tensorflow2.5.0
CUDA11.2
python3.8

然后服务器的jupyter界面,找到hy-tmp目录(别的服务器不一定叫这个,反正就是服务器提供的用户存放数据的文件夹,应该都什么tmp),然后把你修改后的代码文件压缩成zip,直接拖到服务器hy-tmp目录下,等上传的过程中可以先完成后面的依赖包安装,上传完成后在终端进入到hy-tmp目录下,然后执行解压

unzip 你的文件名.zip

安装依赖包

在终端安装下面三个包

pip install scikit-image==0.16.2 imgaug==0.4.0
pip install pycocotools

以上操作都完成就可以打开samples文件夹下的demo文件愉快的运行了,如果报错跟cv有关就按照下面的问题记录解决即可

问题记录

1. 环境报错

首次运行的时候我是正常跑通了的,但是再次运行就报错了
ImportError: libSM.so.6: cannot open shared object file: No such file or directory
libXrender.so.1: cannot open shared object file: No such file or directory

解决方案

pip uninstall opencv-python
pip install --upgrade opencv-contrib-python opencv-contrib-python-headless

2. GPU占满GPU利用率为0

在这里插入图片描述
内存问题解决方案:在程序的最开始加入以下代码,动态的分配内存

# 查看可用的gpu
gpu_list = tf.config.experimental.list_physical_devices('GPU')
# 指定使用的GPU
tf.config.experimental.set_visible_devices(gpu_list[0], 'GPU')
# 指定使用的GPU上,按需分配内存
tf.config.experimental.set_memory_growth(gpu_list[0], True)

3. 训练进程挂起不继续也不报错

没有结果也没有报错,直接卡在epoch1,不报错也不继续,后台程序挂起
在这里插入图片描述
探索了一下问题所在,发现原因是由于开启了多线程,我查看了进程发现这个训练直接开了72个进程,但是系统的进程管理能力比较拉,搜了一下解决方案都是关于资源优化的但是我纯小白没办法一下消化,所以选择了限制进程数量,直接修改mrcnn文件夹下的model.py中的works,我尝试了改为0直接禁用多线程。在这里插入图片描述
程序成功运行起来了,训练有了进展,但是训练过程的输出跟我在win11本地训练的过程很像,具体可以查看这篇【踩坑随笔】Tensorflow-GPU训练踩坑,怀疑结果有可能跟本地训练一样效果不好,等我测试完了来更新

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/900981.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

10分钟使用Strapi(无头CMS)生成基于Node.js的API接口,告别繁琐开发,保姆级教程,持续更新中。

一、什么是Strapi? Strapi 是一个开源的无头(headless) CMS,开发者可以自由选择他们喜欢的开发工具和框架,内容编辑人员使用自有的应用程序来管理和分发他们的内容。得益于插件系统,Strapi 是一个灵活的 C…

【数据结构和算法】三、动态规划原理讲解与实战演练

目录 1、什么是动态规划? 2、动态规划实战演练 2.1 力扣题之爬楼梯问题 (1)解题思路1: (2)解题思路2: (3)动态规划(DP):解题思路 (4&#x…

【R + Python】iNaturalist 网站图片下载 inat api

文章目录 一、iNaturalist 简介二、R语言API:rinat三、示例3.1 获取观测数据3.2 绘制可视化图像函数用法 3.4 在区域网格中搜索3.5 下载图片3.51 提取图片 url3.52 下载图片: R语言3.53 下载图片: python 四、获取详细rinat包的文档 一、iNaturalist 简介 &#x1…

毕业设计选题:基于Python的招聘信息爬取和可视化平台

开发语言:Python框架:djangoPython版本:python3.7.7数据库:mysql 5.7数据库工具:Navicat11开发软件:PyCharm 系统展示 采集的数据列表 招聘数据大屏 摘要 本系统通过对网络爬虫的分析,研究智…

xlnt加载excel报错:xl/workbook.xml:2:2581: error: attribute ‘localSheetId‘ expected

解决方案 大家不一定能看懂,地址里说的啥意思,地址过去主要说明了从https://github.com/musshorn/xlnt/tree/issue_685合入可以解决问题,后面再想推送到官方地址,但没人维护了。 我这边直接给大家说一个结果就是:问题…

dbt-codegen: dbt自动生成模板代码

dbt项目采用工程化思维,数据模型分层实现,支持描述模型文档和测试,非常适合大型数据工程项目。但也需要用户编写大量yaml描述文件,这个过程非常容易出错且无聊。主要表现: 手工为dbt模型编写yaml文件,这过…

关于eclipse的workspace

如果项目很多,为了方便管理,最好不要是使用working set 对项目进行分组。一个workspace加载项目过多,即使进行分组,有些操作也很对所有项目生效。为了避免卡顿,建议直接使用workspace分组管理,而不是workin…

2024年妈杯MathorCup大数据竞赛A题超详细解题思路

2024年妈杯大数据竞赛初赛整体难度约为0.6个国赛。A题为台风中心路径相关问题,为评价预测问题;B题为库存和销量的预测优化问题。B题难度稍大于A题,可以根据自己队伍情况进行选择。26日早六点之前发布AB两题相关解题代码论文。 下面为大家带来…

Github优质项目推荐(第八期)

文章目录 Github优质项目推荐 - 第八期一、【manim】,66.5k stars - 创建数学动画的 Python 框架二、【siyuan】,19.5k stars - 个人知识管理软件三、 【GetQzonehistory】,1.3k stars - 获取QQ空间发布的历史说说四、【SecLists】&#xff0…

【C++篇】栈的层叠与队列的流动:在 STL 的韵律中探寻数据结构的优雅之舞

文章目录 C 栈与队列详解:基础与进阶应用前言第一章:栈的介绍与使用1.1 栈的介绍1.2 栈的使用1.2.1 最小栈1.2.2 示例与输出 1.3 栈的模拟实现 第二章:队列的介绍与使用2.1 队列的介绍2.2 队列的使用2.2.1 示例与输出 2.3 队列的模拟实现2.3.…

pair类型应用举例

在main.cpp里输入程序如下&#xff1a; #include <iostream> //使能cin(),cout(); #include <utility> //使能pair数据类型; #include <string> //使能string字符串; #include <stdlib.h> //使能exit(); //pair类型可以将两个相同的或不同类…

一个基于.NET8+WPF开源的简单的工作流系统

项目介绍 AIStudio.Wpf.AClient 是一个基于 WPF (Windows Presentation Foundation) 构建的客户端框架&#xff0c;专为开发企业级应用而设计。该项目目前版本为 6.0&#xff0c;进行了全面优化和升级&#xff0c;提供了丰富的功能和模块&#xff0c;以满足不同场景下的开发需…

张驰咨询:揭秘六西格玛项目如何“重塑”手术机器人集成度

项目背景 XR-1000型腔镜手术机器人是精智医疗公司最新推出的智能化手术设备&#xff0c;专注于微创外科手术&#xff0c;具有高度的精度和灵活性。随产品功能的扩展以及市场需求升级&#xff0c;系统集成度成为制约其性能提升的瓶颈。当前的设计中&#xff0c;机器人各模块的集…

C++20中头文件syncstream的使用

<syncstream>是C20中新增加的头文件&#xff0c;提供了对同步输出流的支持&#xff0c;即在多个线程中可安全地进行输出操作&#xff0c;此头文件是Input/Output库的一部分。包括&#xff1a; 1.std::basic_syncbuf&#xff1a;是std::basic_streambuf的包装器(wrapper)&…

Golang | Leetcode Golang题解之第509题斐波那契数

题目&#xff1a; 题解&#xff1a; type matrix [2][2]intfunc multiply(a, b matrix) (c matrix) {for i : 0; i < 2; i {for j : 0; j < 2; j {c[i][j] a[i][0]*b[0][j] a[i][1]*b[1][j]}}return }func pow(a matrix, n int) matrix {ret : matrix{{1, 0}, {0, 1}}…

格姗知识圈博客网站开源了!

格姗知识圈博客 一个基于 Spring Boot、Spring Security、Vue3、Element Plus 的前后端分离的博客网站&#xff01;本项目基本上是小格子一个人开发&#xff0c;由于工作和个人能力原因&#xff0c;部分技术都是边学习边开发&#xff0c;特别是前端&#xff08;工作中是后端开…

中电信翼康工程师:我在 Apache SeaTunnel 社区的贡献之旅

贡献者Github ID&#xff1a;luckyLJY 文章整理&#xff1a;曾辉 Apache SeaTunnel 作为一款强大的数据同步和转换工具&#xff0c;凭借其部署易用性、容错机制、数据源支持、性能优势、功能丰富性以及活跃的社区支持&#xff0c;成为了数据工程师们不可或缺的利器。 因其具有的…

LCD手机屏幕高精度贴合

LCD手机屏幕贴合&#xff0c;作为智能手机生产线上至关重要的一环&#xff0c;其质量直接关乎用户体验与产品竞争力。这一工艺不仅要求屏幕组件间的无缝对接&#xff0c;达到极致的视觉与触觉效果&#xff0c;还需确保在整个生产过程中&#xff0c;从材料准备到最终成品&#x…

Ansible 的脚本 --- playbooks剧本

playbooks 本身由以下各部分组成 &#xff08;1&#xff09;Tasks&#xff1a;任务&#xff0c;即通过 task 调用 ansible 的模板将多个操作组织在一个 playbook 中运行 &#xff08;2&#xff09;Vars&#xff1a;变量 &#xff08;3&#xff09;Templates&#xff1a;模板 &a…

【JavaEE初阶】网络编程TCP协议实现回显服务器以及如何处理多个客户端的响应

前言 &#x1f31f;&#x1f31f;本期讲解关于TCP/UDP协议的原理理解~~~ &#x1f308;感兴趣的小伙伴看一看小编主页&#xff1a;GGBondlctrl-CSDN博客 &#x1f525; 你的点赞就是小编不断更新的最大动力 &#x1f386;那么废话不多说…