基础环境python3.8+cuda11.1+ubuntu18.04
一.安装cmake3.13.2
wget https://cmake.org/files/v3.13/cmake-3.13.2-Linux-x86_64.tar.gz
sudo tar zxvf cmake-3.13.2-Linux-x86_64.tar.gz
sudo mv cmake-3.13.2-Linux-x86_64 /opt/cmake-3.13.2
sudo ln -s /opt/cmake-3.13.2/cmake-3.13.2-Linux-x86_64/bin/* /usr/bin/
若安装了cmake的可能要先卸载,别的版本的我没试过,另外使用sudo apt-get install安装不上的话可能需要更新一下:
sudo apt-get upgrade
sudo apt-get update
之后有显示版本信息说明安装成功了:
cmake --version
二.克隆pybind11
git clone https://github.com/pybind/pybind11
可能有时github的项目已经更新啥的,然后采用git clone下载下来的会出现版本不一样的问题,我一般都是下载zip文件然后解压。下载下来的pybind11工程名可能有很长的乱码后缀需要改成pybind11,把这个下级目录含有docus,include等文件的pybind11复制到spconv工程下的third_party下覆盖那个pybind11。
三.克隆spconv
git clone https://github.com/traveller59/spconv.git
git checkout -b v1.2 origin/v1.2.1
第二行命令不太清楚是干嘛用的看字面意思可能是切换什么版本吧,或者可以执行这条命令但是本人没有试过:
git clone -b v1.2.1 https://github.com/traveller59/spconv.git
之后在spconv下建立build目录:
mkdir build
最后在spconv目录下编译setup.py:
python setup.py bdist_wheel
编译不报错就能生成dist目录,在这个目录下有对应python3.8版本的spconv-1.2.1-cp38-cp38-linux_x86_64.whl文件:
四.其它问题
更多编译细节可以查看日志:spconv/build/temp.linux-x86_64-3.7/CMakeFiles/目录下的CMakeError.log.
编译setup.py时还可能报错:
1.Unable to locate package libboost-filesystem-dev.
执行:
sudo apt-get upgrade
sudo apt-get update
sudo apt-get install libboost-all-dev
或者使用aptitude
sudo apt-get install aptitude
sudo aptitude install libboost-all-dev
或者这两条命令安装的包应该少一点:
sudo apt-get install libboost-filesystem-dev
sudo apt-get install libboost-dev
2. :error: ‘cout’ is not a member of ‘std’.
.h文件使用gedit或者vim编辑器添加#include <iostream>
3.gcc,g++没安装需要安装7.5版本
spconv1.2的安装到此就结束了,新人第一次写博客,旨在为深度学习配环境而痛苦的同胞提供一份小小的帮助,也很感谢其他博主无私的分享,另外附上网盘链接:spconv-1.2.1-cp38-cp38-linux_x86_64.whl 提取码:1401