最近实验室在做电网的一个项目,需要用到mask rcnn的模型,在win10下配置mask rcnn的gpu版本还是存在一些坑的,所以笔者将这个配置过程记录下来,对遇到的一些坑进行排除,望对大家有所帮助。
下面详细介绍如何配置此次环境:
1:安装Anaconda或者python,要求python版本>=3.4(建议安装python==3.6,安装完之后配置python的环境变量。
按win+R,弹出运行窗口,输入cmd打开命令行,在命令行中输入:python,若安装成功,则会显示python的相应信息和版本,如果显示没有该命令,很有可能是环境变量没有配置好。
2:安装深度学习加速工具:CUDA和CUDNN,需要有NVIDIA的显卡才支持硬件加速,因为我们后面需要安装tensorflow的gpu版本,下面是cuda,cudnn和tensorflow版本的对应关系表,建议安装CUDA8或9,然后安装对应的cudnn。
注意:官网下载过慢,建议用网上其他方式安装,如百度云分享等,若在官网安装cudnn,需要注册NVIDIA的账号才可以下载。
下面就安装CUDA8.0+CUDNN6.0为例,给出安装的参考链接:CUDA8.0+CUDNN6.0安装教程,可以按着上面步骤进行安装,别忘记配置环境变量,安装完毕后在命令行输入:nvcc -V 来测试是否安装成功。
3:后续操作需要用到VS2015的一个编译C++文件的链接库,所以最好下载VS2015版本,链接:VS2015下载 提取码:pusr ,下载完后安装即可,安装时记得勾选编程语言下的Visual C++
4:由于后续需要安装pycocotools,但该模块在windows下不支持,有个大佬在github上分享了Windows的可用版本,需要用git安装,所以这里我们先下载好git,过程较为简单,傻瓜式安装即可,参考链接:Git安装教程
5:接下来,在python环境中安装一些依赖库,因为pip默认的安装源在国外,下载较慢,所以先给pip换成国内源,具体步骤:直接在C盘的user目录中创建一个pip目录,如:C:\Users\xx\pip,再pip文件夹内新建文件pip.ini,内容如下:
[global]
timeout = 6000
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
trusted-host = pypi.tuna.tsinghua.edu.cn
编辑完后保存即可。
然后安装tensorflow-gpu版本,根据下载的CUDA和CUDNN对应着上表选一个版本安装。
5.1:以CUDA8.0+CUDNN6.0为例,查表得,可安装tensorflow-gpu==1.4.0,在命令行中输入:pip install tensorflow-gpu==1.4.0
,等待安装完成。
5.2:安装keras(版本>=2.0.8),在命令行中输入:pip install keras==2.1.3
5.3:安装pycocotools,在命令行中输入:git clone https://github.com/philferriere/cocoapi.git
,安装成功后再输入:pip install git+https://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI
5.4:安装scipy,在命令行中输入:pip install scipy==1.1.0
5.5:安装numpy,在命令行中输入:pip install numpy==1.16.0
5.6:安装opencv,在命令行中输入:pip install opencv-python==4.0.0
同样方法,安装:Pillow,cython,matplotlib,scikit-image,h5py,imgaug,IPython[all]
注意!!!:在windows下安装imgaug很有可能出错,
解决方案:windows下安装imgaug,根据python版本搜索Shapely,如python==3.6, 电脑为64位,则选择下载Shapely‑1.6.4.post2‑cp36‑cp36m‑win_amd64.whl
以上步骤全部完成后,就已经成功配置好了mask rcnn运行的所需环境,可以在github上download下来跑一个demo测试,最后注意:可能还会存在一些问题,主要是依赖库的版本导致的,比如笔者在运行具体程序时,报了一些莫名其妙的错误,最后修改了numpy,scipy和opencv的版本后,成功解决!
如在具体配置过程中,仍遇到问题,欢迎大家留言!
参考:
https://blog.csdn.net/xddwz/article/details/86525181
https://www.cnblogs.com/wj-1314/p/7993819.html
https://www.cnblogs.com/freedomtrail/p/10825268.html