最近更新于 2022-05-25 18:56

测试环境

Android 11 – Termux 0.118 – Ubuntu 20.04 arm64

Ubuntu 20.04 x86_64

依赖

sudo apt install -y ccache cmake build-essential git libatlas-base-dev graphviz python3 python3-pip

OpenCV:https://blog.iyatt.com/?p=1243

获取源码

目前最新稳定版 1.9.0 – 2022.1.21

git clone --recursive  https://github.com/apache/incubator-mxnet.git --branch=1.9.0

可选扩展

GPU (NVIDIA)加速:https://blog.iyatt.com/?p=2224

编译

cd incubator-mxnet && mkdir build && cd build

# 无 GPU 支持
设置 -DUSE_CUDA=OFF -DUSE_CUDNN=OFF,删掉 -DCMAKE_CUDA_COMPILER

# GPU 支持
cmake -DUSE_CUDA=ON -DUSE_CUDNN=ON -DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc -DUSE_CPP_PACKAGE=ON -DBUILD_CPP_EXAMPLES=OFF -DUSE_BLAS=atlas -DCMAKE_BUILD_TYPE=release ..

make -j$(nproc)

sudo make install  # C

cd ../python

python3 -m pip install .  # Python - Python 是调用 C 库,安装 Python 版必须先安装 C 版

可能遇到的错误

我在编译时遇到了找不到 python 的错误,Python3 是确定已经安装的,在 Linux 中目前调用 Python3 要明指明 3,而 python 代表的是 Python2(未安装)。因此我的解决方案是为 Python3 创建一个名为 python 的软链接。

sudo ln -s `which python3` /usr/bin/python

然后再次执行 make 编译

作者 IYATT-yx