Ubuntu16.04编译安装GPU版本mxnet

本人的mxnet因为要用到面向DOTA数据集的RoI网络下的包(如下),只能先把包拷过来再编译安装;

cp ${RoI_ROOT}/fpn/operator_cxx/* ${MXNET_ROOT}/src/operator/contrib

如果不需要使用附加包,直接pip安装简单省事:

pip install mxnet//CPU版本
pip install mxnet-cuxx//GPU版本

确定需要编译安装,首先安装build依赖:

sudo apt-get update
sudo apt-get install -y build-essential git

安装openblas:

sudo apt-get install -y libopenblas-dev liblapack-dev

安装opencv:

sudo apt-get install -y libopencv-dev

下载mxnet源码:

git clone --recursive https://github.com/apache/incubator-mxnet
cd incubator-mxnet
git submodule update --init --recursive

注意下载这个新版本,老版本编译有问题。

编译mxnet:

make -j $(nproc) USE_OPENCV=1 USE_BLAS=openblas USE_CUDA=1 USE_CUDA_PATH=/usr/local/cuda USE_CUDNN=1

注意:你的/usr/local/下可能有好几个cuda版本,选择自己要用的那一个

 

!!!!!!

然后就出现了这个问题:

error: token ""__CUDACC_VER__ is no longer supported.  Use __CUDACC_VER_MAJOR__, __CUDACC_VER_MINOR__, and __CUDACC_VER_BUILD__ instead."" is not valid in preprocessor expressions
 #define __CUDACC_VER__ "__CUDACC_VER__ is no longer supported.  Use __CUDACC_VER_MAJOR__, __CUDACC_VER_MINOR__, and __CUDACC_VER_BUILD__ instead."

网上对这个问题的解法如下:

解法1:g++版本降级到4.8;

解法2:cuda路径问题,检查~/.bashrc,~/etc/profile,/etc/ld.so.conf.d/cuda.conf;

解法3:cuda和Eigen版本问题,因为__CUDACC_VER__ = 
     __CUDACC_VER_MAJOR__ * 10000 +
     __CUDACC_VER_MINOR__ * 100 +
     __CUDACC_VER_BUILD__

需要cuda版本降级到cuda8或者Eigen编译安装;

以上三个解法毫无卵用。

真正有用的解法是:

把你已经装好的cuda再装一遍,之前安装的不用卸载或者任何处理,cuda再安装一遍就行(driver不要选,这个不需要重新装)

cuda需要安装两遍才行,不知道这个问题是cuda10.1专有还是其他版本也有问题;安装一遍它自己假装装好了其实并没有装好。。。。。。

!!!!!!

 

将mxnet安装到python上:

cd python
sudo python setup.py install

注意:如果你是双版本python,sudo默认绑定的是主版本python,需要先which python确定要目标python路径,把上面命令替换成

cd python
sudo which python找到的路径下/python setup.py install

很久不写博了,安静地搞科研去了,但mxnet前前后后装了不下十遍,真的很气。。。。。。

 

参考:

https://github.com/dingjiansw101/RoITransformer_DOTA

https://www.jianshu.com/p/45ffeec98401

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值