史上最简的Mask R-CNN环境搭建 cunda9.0+tensorflow1.10+keras2.2.4


Mask R-CNN这个匪夷所思的网络,在被天才儿童何凯明发明之后,火爆过一阵子,活跃于2018年,优秀于2019年,到了2020年初还有几篇文献,到了2020年5月之后就没什么文献了。这个网络其实非常的棒,兼顾了目标识别与图像分割,我一直认为这个网络才是今后机器视觉的核心基础算法,甚至还花费过很多很多的精力,对Mask R-CNN的骨干网络进行修改,例如改成 Mask R-Uet, Mask R-FPN等等,那些经验以后开贴再谈。

2019年我耍过一阵子Mask R-CNN,后来我去给资本家打工,妄想提一个Titan rtx大宝贝,最后却老老实实收了一个Titan xp,还是银河帝国限量版,权当慰藉吧,不要给我讲参数,我很了解,不就是兰博基尼大牛和马自达cx4的区别,也就是3.6秒破百和9.7秒破百,速度提升超过71%?但是么,大家都懂的。
在这里插入图片描述

1 我为什么那么渣

作为一个资深代码狗,我的节操,就像“我永远喜欢052d,我永远喜欢052C(划掉),我永远喜欢052d(划掉),我永远喜欢055(划掉),我永远喜欢075(划掉)。。。”那些人一样的坚挺。
现在,你的眼前摆满了一桌大餐:amazing。。
RTX1080/RTX1080TI/RTX2080/RTX2080SUPER/RTX2080TI/RTX3080/RTX3090/TITAN X PASCAL\TITAN V\TITAN X\TITAN XP\TITAN RTX\GTX TITAN。。。。
来来来,客官,你选哪一个?因垂丝汀。

2 怀念我渣到的妹子们

作为一个无底线的代码狗,我确实在京东二手显卡店里逛遍了妹子们。。错,是NVIDIA的显卡们,从RTX2080到2080ti,从titan x pascal到titan xp,每张显卡试玩不超过一个月 - - 店员妹子都被我不停的买进退货+卖出搞到崩溃,忙于计算优惠券的退补,估计如果见面肯定要打死我,至少打个半死那种。。

我知道很多人吹2080ti,吹性能性价比,但其实对于一个兴趣代码狗,其实效率 并不是那么的重要,当然了,你要让我使用CPU算到天荒地老,我也是无法忍受的,在这群宝贝中,10series的RTX1080/1080TI/TITAN X PASCAL 全部pass掉吧,老古董了,时代在进步,不是性能太差的问题,而是驱动版本无法更新,cuda版本无法提升,好吧有人给我啪gtx980,都能显卡驱动460.89.。。。我就不想用10series,我鄙视他行不行。。。。

然后我们看20series,现阶段2070/2070Super/2080ti全部飙涨,因为30series出了,什么,你告诉我30series出了,20sereis不是应该降么。。
在这里插入图片描述
为什么挖矿抢2080ti,垃圾的棒子代工坑惨了黄教主,下一代的40series已确定台积电。。好吧,说远了。现阶段最实惠的是2080/2080super,因为他们逆流而上,不升反降。二手价格2080/2080super大约在3000-3800,还是比较实惠的,相比之下2080ti二手也要8500-9000左右,上市价格与2080ti几乎无差的titan xp 咸鱼4200左右就可以收到,而且成色99,在这种情况下,你说选择什么那,8G的2080?还是12G的titan xp银河帝国?
在这里插入图片描述
也有同学会问,新的3090那,24G显存随便刷,1万左右的七彩虹/1万七的大雕。。多么的香。这个,不是我有公版洁癖,以后我会开帖说明下titan系列和rtx系列在深度学习方面的测试,。废话太多了今天,这篇稿子里,我只想告诉大家。。。如何去构建Mask R-CNN环境。、

言归正传。因为不断换显卡,不断做环境,我的C盘入不敷出啊,虽然我竭力优化,重于红色向我报警,压缩也压缩不了,一气之下,我给还原win10出厂设置了。。。哎 ,挥刀自割,一身清净。。。

3 那一刻,我又想起了你

2020年的第一场雪,翻相册的我看不到了你。。
在这里插入图片描述
留在记忆中的你,是那么的美,那么的纯真。。
作为前初恋,如何能不留在相册里!我冲动的惩罚,必须被修正,美好的初恋,不就是为了静静躺在我的相册中么 - -,可以偶尔拿出来重温一次酸涩的回忆,纪念下逝去的青春。。。。

好吧,那么,让我们在2021年,重新建立Mask R-CNN的环境吧。

4 人走茶凉,没那么简单

让我们回到从前: Mask R-CNN/github.
在这里插入图片描述
看看她的要求: nunmpy!h5py! scipy!你知道我在说什么,当初的女孩很纯真,二三句话就跟你走,可现在是2021年,人心变了!

按照以往的套路:tensorflow1.5+keras2.1.4+cuda9.0+python3.5,时代变了大人。pip也好,conda也好,keras2.0以下,国外已经没有源了,让我换douban/tsinghua 怡红院 !

pip install h5py==2.10 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

你想当然的几句土味情话,换来的却是这样的结果:
在这里插入图片描述
又或者来一句:

FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type

在这里插入图片描述
时代变了,大人。国外已经不提供keras2.2以下的源,为何,其他插件版本已经不支持了,如果你想重回过往,你就要吧所有的插件全部降版,降多少,降到什么版本,不要问我,我真的不知道!这不是人做的事情。有些人问,为何你非要keras2.1.x版本,你知道么,在遥远的2018年和2019年,keras2.2版本有时会在训练epoch1/60的时候卡死,很多人死死要求版本的匹配,绝对不要改动。。

5 彷徨、迷茫、弱小、可怜

各种装,各种卸,几十次吧,哎,土味情话搞不定,咱们可以下载表情包么,多试试,也许就被逗笑了。。
类似下载安装的cudn版本:
cuda9.0/cuda10.0/cuda10.2;
累计尝试版本组合:

cuda9.0+keras2.1.2+ternsorflow1.5+python3.5/3.6;
cuda9.0+keras2.1.4+ternsorflow1.5+python3.6;
cuda9.0+keras2.1.6+ternsorflow1.5+python3.6;
cuda9.0+keras2.1.2+ternsorflow1.7+pyton3.6;
cuda9.0+keras2.1.4+ternsorflow1.7+python3.6;
cuda9.0+keras2.1.6+ternsorflow1.7+python3.6;
cuda9.0+keras2.2.2+ternsorflow1.9+pyton3.6;
cuda9.0+keras2.2.4+ternsorflow1.9+pyton3.6;
cuda10.0+keras2.2.2+ternsorflow1.13+pyton3.6

注:第一次尝试poython3.5后,发现jul vision提示,现在python必须>=3.6了,好吧,python3.5以后就没测试。conda没有源,只能pip装,各种不兼容,各种报错,各种。。。。我受够了。

5 偶有所得

很久很久以前,我开班讲过一些keras的基础知识,有些学生就很烦,总是给我问一些匪夷所思的问题,或者直接啪给我一个文件,让我帮他们查错,有个人非常长的执着,在我忽悠了1个月后,哎,实在无法托,我就为他做个环境吧,看下他的问题在哪。
我的环境配置:cuda10.0+keras2.2.4+tensorflow1.13+python3.6
一个非常简单初级的多头网络,他纠结于数据类型的处理,在我配置完环境后,我一眼就看明白了,h5py的版本高于3.0了。。降回2.10即可。从cuda10.0再切回cuda9.0.。这个多版本cuda的切换,我们可以以后开贴讲。切来切去很麻烦,我干脆又测试了下mask r-cnn,结果她笑了。。。她跑起来了。。。。
好吧,我们知道了她的一个G点:

cuda10.0+keras2.2.4+tensorflow1.13+python3.6

但是这个配置,效率并不高,既然keras2.2.4完全可以,根本不会卡住,我们的思路就开放了。我们接着测试了:

cuda9.0+keras2.2.4+tensorflow1.9+python3.6
cuda9.0+keras2.2.4+tensorflow1.10+python3.6

最终发现,从前向推理的流程程度上,tensorflow1.10要远胜1.13和1.9,那就这样吧,就这个配置。

6 最后的最后,经典语录

那么在最后,让我们说一下这个版本的配置顺序:

cuda9.0+keras2.2.4+tensorflow1.10+python3.6

如何构建这个环境,在建立anaconda环境后,指令史上最简,只有四条:

 conda install tensorflow-gpu=1.10

安装tensorfow-gpu=1.0版本。

 conda install keras-gpu=2.2.4

安装keras-gpu=2.2.4版本。

 Conda install scikit-image
 Conda install Ipython

让我们cd到mask_rcnn官方文档balloon测试下:
在这里插入图片描述

测试指令: python balloon.py splash --weights=../../mask_rcnn_balloon.h5 --image=testfiles/balloon2.jpg

在这里插入图片描述
额额~~~~
我终于又见到了你~

Over

7 还有一件事。。备注

1)记得一定要用conda额,自动版本匹配,但是只支持>=keras2.x峨~,如果你安装keras2.1.x找不到源的她,会给自己自动安装tensorflow2.1额。。。。
2) pip 会自动安装插件最新版,导致各种不兼容,切记额,不要使用pip,尤其是pip -r requirements.txt**

这是来自于2021年的环境搭建提示。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值