P.S. 该方法下载mxnet版本为2.0.0,如果想要使用gluoncv包,请下载mxnet2.0.0以下版本,编译过程有区别,参考需谨慎。
一、安装依赖包
sudo apt-get update
sudo apt-get install -y build-essential git ninja-build ccache libopenblas-dev libopencv-dev cmake
sudo apt install gfortran
错误1:在安装libopencv-dev时出现如下错误:连接失败 [IP:91.189.91.3]
首先大家可以尝试打开下载包出错的链接,查看网页是否存在,我就是打开发现这个网页不存在,就可以选择换国内源,需要修改/etc/apt/source.list
sudo nautilus
用root文件打开文件夹,不然source.list文件是没有权限更改的,可以先对source.list文件做备份。
用文件管理器将其打开,将以下国内源覆盖其中的软件源
deb http://mirrors.163.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ focal-backports main restricted universe multiverse
这里的“focal”是ubuntu20.04的版本代号,如果你不是ubuntu20.04需要查询你的版本代号,在终端通过如下命令查看:
lsb_release -a
然后更新一下子!!
sudo apt-get update
二、下载mxnet源码
git clone --recursive https://github.com/apache/incubator-mxnet mxnet
错误2:fatal 无法访问下载连接
修改代理即可
git config --global --unset http.proxy
git config --global --unset https.proxy
这下就可以下载了
但是网传的这个源代码下载镜像网站在我这不好使
git clone --recursive https://github.com.cnpmjs.org/apache/incubator-mxnet mxnet ###达咩达咩
啊哈,你以为这样就可以下载到源码了吗,哎嘿,骗你的,有请下一个错误!
错误3:无法递进子模块路径/无法克隆.....
这种情况一般发生在3rdparty文件夹里面,可以手动去源码的下载网站下载缺失的文件并放进去。
三、编译
cp config/linux_gpu.cmake config.cmake
复制文件 这里安装的是mxnet gpu版本,所以用linux_gpu.cmake
mkdir build
cd build
cmake ..
cmake --build . #编译最后一步,这一步很关键,可以允许warning ,如果报错就完蛋惹
创建build文件夹,编译文件会放进这里。之后想要重新编译可以删除该文件夹。
错误4:cmake ..之后编译文件无法正确生成。
编译操作是切换到build文件夹中进行,如果前面的源码下载有问题,编译文件无法正确生成,如果出现编译错误,就删除build,检查源码并重新编译。以下为编译文件生成成功
错误5:OSError :undefined symbol :cudaGraphExecUpdate
这个错误我并不明白是怎么回事,想了想之后重新编译就成功了,报警告,但是没有错误
四、python与mxnet绑定
cd ~/mxnet
cd python
python install -e .
绑定操作先回退至mxnet文件夹,再进入python文件夹中 进行
五、测试
进入python3环境中测试
import mxnet as mx
a=mx.nd.ones((2,3),mx.gpu(0))
print((a*2))
有正确输出就是安装好啦
![](https://img-blog.csdnimg.cn/5fd5df2862a84e5989880bc9d235a4eb.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5beo55m95bCP55m9,size_20,color_FFFFFF,t_70,g_se,x_16)