3090上安装spconv步骤:
这一步要在安装完cmake和pytorch之后进行。
- GitHub下载代码:
git clone https://github.com/traveller59/spconv.git --recursive
- 安装依赖:
sudo apt-get install libboost-all-dev -o APT::Get::Fix-Missing=true
- 安装:
cd spconv
python setup.py bdist_wheel
cd ./dist
ls
#ls之后会显示你的whl文件的名称,复制下来用pip install安装
#换成自己的whl文件名字
pip install spconv-1.2.1-cp36-cp36m-linux_x86_64.whl
#之后会有英文提示,安装成功
#检测安装是否成功
#命令行输入
python
#如果可以import说明安装成功
- 可能会出现如下错误:
可能会出现如下错误:
/home/sdb1/zyan/lulu/lib/python3.7/site-packages/setuptools/distutils_patch.py:26: UserWarning: Distutils was imported before Setuptools. This usage is discouraged and may exhibit undesirable behaviors or errors. Please use Setuptools' objects directly or at least import Setuptools first.
"Distutils was imported before Setuptools. This usage is discouraged "
running bdist_wheel
running build
running build_py
running build_ext
Release
|||||CMAKE ARGS||||| ['-DCMAKE_PREFIX_PATH=/home/sdb1/zyan/lulu/lib/python3.7/site-packages/torch', '-DPYBIND11_PYTHON_VERSION=3.7', '-DSPCONV_BuildTests=OFF', '-DPYTORCH_VERSION=10600', '-DCMAKE_CUDA_FLAGS="--expt-relaxed-constexpr" -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__', '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/home/sdb1/zyan/lulu/spconv-1.2/build/lib.linux-x86_64-3.7/spconv', '-DCMAKE_BUILD_TYPE=Release']
-- The CUDA compiler identification is unknown
CMake Error at CMakeLists.txt:6 (project):
No CMAKE_CUDA_COMPILER could be found.
Tell CMake where to find the compiler by setting either the environment
variable "CUDACXX" or the CMake cache entry CMAKE_CUDA_COMPILER to the full
path to the compiler, or to the compiler name if it is in the PATH.
-- Configuring incomplete, errors occurred!
See also "/home/sdb1/zyan/lulu/spconv-1.2/build/temp.linux-x86_64-3.7/CMakeFiles/CMakeOutput.log".
See also "/home/sdb1/zyan/lulu/spconv-1.2/build/temp.linux-x86_64-3.7/CMakeFiles/CMakeError.log".
Traceback (most recent call last):
File "setup.py", line 109, in <module>
zip_safe=False,
File "/home/sdb1/zyan/lulu/lib/python3.7/site-packages/setuptools/__init__.py", line 165, in setup
return distutils.core.setup(**attrs)
File "/home/zyz/anaconda3/lib/python3.7/distutils/core.py", line 148, in setup
dist.run_commands()
File "/home/zyz/anaconda3/lib/python3.7/distutils/dist.py", line 966, in run_commands
self.run_command(cmd)
File "/home/zyz/anaconda3/lib/python3.7/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/home/sdb1/zyan/lulu/lib/python3.7/site-packages/wheel/bdist_wheel.py", line 223, in run
self.run_command('build')
File "/home/zyz/anaconda3/lib/python3.7/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/home/zyz/anaconda3/lib/python3.7/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/home/zyz/anaconda3/lib/python3.7/distutils/command/build.py", line 135, in run
self.run_command(cmd_name)
File "/home/zyz/anaconda3/lib/python3.7/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/home/zyz/anaconda3/lib/python3.7/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "setup.py", line 49, in run
self.build_extension(ext)
File "setup.py", line 92, in build_extension
subprocess.check_call(['cmake', ext.sourcedir] + cmake_args, cwd=self.build_temp, env=env)
File "/home/zyz/anaconda3/lib/python3.7/subprocess.py", line 363, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['cmake', '/home/sdb1/zyan/lulu/spconv-1.2', '-DCMAKE_PREFIX_PATH=/home/sdb1/zyan/lulu/lib/python3.7/site-packages/torch', '-DPYBIND11_PYTHON_VERSION=3.7', '-DSPCONV_BuildTests=OFF', '-DPYTORCH_VERSION=10600', '-DCMAKE_CUDA_FLAGS="--expt-relaxed-constexpr" -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__', '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/home/sdb1/zyan/lulu/spconv-1.2/build/lib.linux-x86_64-3.7/spconv', '-DCMAKE_BUILD_TYPE=Release']' returned non-zero exit status 1.
- 解决办法:
5.1. 安装cuDNN(下载与你cuda对应版本),从Nvidia官网上下载cudnn for linux的文件
5.2. 解压cudnn文件:
cd 下载(下载cudnn所在的文件夹)
tar -xvf cudnn-10.0-linux-x64-v7.3.1.20.tgz(换成你的文件名字)
5.3. 执行以下命令(cudnn的版本文件不在cudnn.h里,而在cudnn_version.h里,总之全部复制过去就好了):
sudo cp cuda/include/cudnn* /usr/local/cuda/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
sudo chmod a+r /usr/local/cuda/include/cudnn*
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
(路径是自己安装cuda的路径,根据自己的更改就好)
5.4. 重新安装:
cd spconv
python setup.py bdist_wheel
cd ./dist
ls
#ls之后会显示你的whl文件的名称,复制下来用pip install安装
#换成自己的whl文件名字
pip install spconv-1.2.1-cp36-cp36m-linux_x86_64.whl
#之后会有英文提示,安装成功
#检测安装是否成功
#命令行输入
python
#如果可以import说明安装成功
恭喜你,至此spconv库就安装完成!