MaskFusion配置Conda环境

MaskFusion如何配置Conda环境

最近,由于需要,需要在电脑上配置一下MaskFusion的环境,其实之前已经在多台电脑上配置过MaskFusion的环境,当时是基于Ubuntu16.04的环境,而且为了配置环境,特意安装了一个干净的新系统。

这次不一样的是,我是在现有环境下配置MaskFusion环境,还要尽可能不改变原有环境。因此,记录一下环境配置,希望对大家有所帮助。

系统说明:

Ubuntu 18.04
CUDA 10.1 
cuDNN 7.6.3
GPU:NVIDIA RTX 2080TI
GPU Driver: 460.80

正常安装

这个,按照MaskFusion项目中的build.sh文件一步步来就可以,我之前也是照着这个文件一步步安装的,基本上不会出什么问题。

文件可以在Github中的项目上查看,网络不太好的话,也可以去码云上找相关项目。

有问题的话基本上也都可以在Github上的MaskFusion中的issue或者网络上找到相关解决方案,这个我暂时就先不添加,主要是配置环境的时候没有同步记录问题和解决方案,现在,有点难搞。

Conda环境配置

原因

主要是记录一下如何在MaskFusion中使用conda环境。

之所以要这样做,原因是这样:系统的CUDA版本为10.1, 支持的tensorflow-gpu版本基本上都是2.X,而MaskFusion需要的tensorflow版本为1.X,如果使用作者建议的virtualenv创建环境的话,安装的tensorflow-gpu 1.X版本是不可以运行的。

但是,在conda环境中,由于tensorflow-gpu调用的是cudatoolkit,所以,就算安装了CUDA 10.1 ,但是只要在conda环境中安装 cudatoolkit == 10.0 就可以使用 tensorflow-gpu == 1.15.0 。

当然,还有另外一个解决方法,就是对CUDA进行降级,重新安装CUDA 10.0 版本,我个人是觉得有些麻烦,况且不知道会不会对原有环境造成影响,因此就放弃了这个方法,毅然选择调用conda创建的虚拟环境。

说明

之前有参考过这篇博客: MaskFusion(已开源)环境搭建与配置(16.04).
里面也有说过如何在MaskFusion下使用conda环境。按照博客中的操作了之后,发现,只是可以成功运行 offline_runner.py 文件,在运行时 ./MaskFusion 依旧不行。

操作

首先,是创建一个conda的虚拟环境,并对环境进行配置

//创建虚拟环境
conda create -n tensorflow python=3.6
//安装pip
conda install pip
//使用pip安装环境
pip3 install tensorflow-gpu==1.8.0
pip3 install scikit-image
pip3 install keras
pip3 install IPython
pip3 install h5py
pip3 install cython
pip3 install imgaug
pip3 install opencv-python
pip3 install pytoml
//建立软链接(一定要在当前环境下运行这句话,否则,numpy软链接的所属环境不对,或者软链接建立失败,同时,也要注意当前目录,应在maskfusion根目录下运行)
ln -s `python -c "import numpy as np; print(np.__path__[0])"`/core/include/numpy Core/Segmentation/MaskRCNN || true # Provide numpy headers to C++
//coco API(当然,也需要在当前环境中运行coco-api)
cd coco/PythonAPI
make
make install

紧接着,就是对 CMakeLists.txt 文件和 .cpp 文件进行修改,主要是因为是在 cpp 中调用 python 接口,因此,需要指出正确的python环境。

文件:maskfusion/Core/Segmentation/MaskRCNN/MaskRCNN.cpp 40行左右
操作:

void MaskRCNN::initialise()
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值