RTX2070使用tensorflow1.15(cuda10.0)搭建Mask-Rcnn环境

目录

一、Mask-Rcnn简介

二、环境搭建

2.1  Anaconda4.7

2.2  cuda和cudnn配置

2.3  python版本和tensorflow-gpu1.15

2.4  Mask-Rcnn下载和requirements.txt安装

2.5  Pycharm使用conda环境

三、splash测试

四、train测试

五、总结和收获


一、Mask-Rcnn简介

        没来得及写。

二、环境搭建

2.1  Anaconda4.7

        建议使用conda创建的虚拟环境,本人把通过python官网下载的系统python卸载了,感觉使用了Anaconda就没有必要再下一个系统python了。

        Anaconda官网下载链接如下:立即下载 |蟒蛇 (anaconda.com)

        这里不用纠结Anaconda版本。

2.2  cuda和cudnn配置

        我的电脑显卡型号为RTX 2070,支持的cuda最高为cuda12.1,但是懂的都懂,Mask-Rcnn给的requirements.txt但凡姿势不对,出现什么差错都有可能。笔者的安装路程从cuda12.1->cuda11.2->cuda10.2->cuda10.1->cuda10.0,所以建议根据本篇文章操作安装tensorflow-gpu1.15的友友安装cuda10.0,以下是我的显卡和cuda。

        我使用的cudnn版本是7.6的,其实这里感觉也不用太纠结,以下是cuda各个版本和cudnn各个版本的下载链接:

        cuda:CUDA Toolkit Archive | NVIDIA Developer

        cudnn:https://developer.nvidia.com/rdp/cudnn-archive

        cudnn的加载过程有点慢,也可能会断开,但是不要放弃,多刷新几次就好。

        至于cuda和cudnn的安装过程,网上随便搜就可以,也没有太复杂,笔者安装几次,环境配置都记住了。但是关于安装错了版本,卸载cuda的过程有必要说一下:

        首先,建议使用win10的控制面板进行组件的卸载,笔者没有用过win11,win11的不太清楚。

        cuda安装的都是组件,所以不用太纠结卸载顺序,当然笔者是由上到下卸载的,读者可以参考一下这个姿势。cuda组件中NVIDIA 图形驱动程序和NVIDIA PhysX 系统软件可以不用卸载,笔者就是保留了cuda12.1版本的组件,其他的都可以卸载,cuda11.x和cuda10.x都可以参照这个过程。把所有组件卸载之后,就可以发现cuda安装路径中的文件基本被删除,可以手动将所有文件删除。

        将组件卸载之后,到环境变量中可以发现,cuda的环境变量被删除了,但是Path中的cuDNN的环境变量还在,因为是手动添加的,需要手动删除(配置也可以按照这个来)。

最后还有一件事,cuda10.0的安装过程中,需要使用vs,笔者之前安装10.2和10.1的时候使用vs2019没有出现什么问题,但是安装cuda10.0的时候出现没有匹配的vs的错误,所以对cuda10.0来说vs2019还是版本高了,如果有vs2017的话可以换一下。当然笔者点击无视继续安装了,最后也安装成功了。

2.3  python版本和tensorflow-gpu1.15

        笔者查询的资料发现大多使用的python版本是python3.6,我开始也是使用python3.6,也能够成功使用tensorflow-gpu1.15,但是在配置mask-rcnn的requirements.txt的时候,发现openCV库在build一个py开头的库的时候,要么卡着,要么就直接报错,说缺少了一个什么文件或者忘了,百度了一下说是要升级pip,但是python3.6的pip好像升级不了24的,我试了一下还是报错的。所以尝试了python3.7的,也能够使用tensorflow-gpu1.15,并且在install requirements.txt的时候没有任何报错。

        所以建议读者可以都试一下,python3.6和python3.7,网络的人说Python3.6的兼容性会好一些。

2.4  Mask-Rcnn下载和requirements.txt安装

        Mask-Rcnn下载的还是matterport的源代码,链接是:https://github.com/matterport/Mask_RCNN

        当然如果github对国内也不太友好,建议使用clash翻个墙,会快很多,不过这里注意的是我在pip install没有翻墙,也没有使用任何镜像,清华的镜像一直timeout,很无奈。小白点击Code下载Zip即可。

        源文件给的requirements.txt是:

        

        如果直接下载的话大概率会报错,可以参考一下我的requirements.txt,当然不唯一。

        最后安装安装pycocotools,网上有很多安装方案,但是我是直接pip install pycocotools就行了,安装的是2.0.7版本的:

        到这还没结束,还有一个库的问题,就是protobuf库,后面使用tensorflow的时候会报错protobuf库的版本太高,默认会高出3.19版的,需要手动降板,建议安装为3.19.6的,因为貌似3.19.0的不行,因为其他库的要求:

        

pip install --upgrade protobuf==3.19.6

           至此,Mask-Rcnn的环境就配置好了。

2.5  Pycharm使用conda环境

           使用conda创建一个Python3.7的环境,然后使用Pycharm打开Mask-Rcnn项目,在Pycharm找到conda创建的项目的python解释器即可:

        

三、splash测试

        进入pycharm项目,找到mask-rcnn项目的balloon.py,首先进行预测测试,从Releases · matterport/Mask_RCNN · GitHub 下载ballon数据集和mask_rcnn_balloon.h5权重文件,将其放在和balloon.py同一文件夹下,然后右键balloon.py文件,进行参数配置:

然后运行balloon.py文件,正常的话应该可以得到结果(这是我自己训练的权重文件得到的):

四、train测试

         train测试也是使用balloon_dataset文件,只需要进行参数配置即可,配置如下:

当然,数据集只需要balloon文件夹的路径即可,权重文件可选择coco,也可以自己在github上下载,默认的训练是epochs=30,每个epochs100次,只是进行训练测试,这个感觉太多,可以按照自己的情况减少,我改了5,训练了大概20分钟:

    model.train(dataset_train, dataset_val,
                learning_rate=config.LEARNING_RATE,
                epochs=5,
                layers='heads')

训练结束后可以在log文件夹中得到训练好的权重文件:

        选择最好的0005.h5权重文件,进行预测测试,得到结果如下:

至此,mask-rcnn的环境配置、预测测试、训练测试全部正确。

五、总结和收获

        笔者有点笨,配置环境配置两天,所幸功夫不负有心人。

        在这个过程中,我发现自己的改错能力有了很大增强,在百度上找不的错误,可以到github上的issues中查找。

        最后,如果有盆友按照我的方法去配置环境,如果有任何问题欢迎评论。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值