spconv1.2.1安装指南

spconv1.2.1安装指南,第1张

由于spconv团队更新了2.x版本,spconv1.2.1很难安装了,下面给出我个人成功安装的方法,在此谢谢Dudo这个老哥。

先从spconv下载包

git clone -b v1.2.1 https://github.com/traveller59/spconv.git

这里注意第三方包有三个是空的,我们要删除,我用到了pybind11,所以我另外下载了这个这个包替换掉空文件。
然后运行下面这个代码,

python setup.py bdist_wheel 

接着进入dist文件夹

 cd ./dist

里面有一个spconv-1.2.1-cp37-cp37m-linux_x86_64.whl的文件
我们最后用这个代码安装

pip to install spconv-1.2.1-cp37-cp37m-linux_x86_64.whl

这就完了,这是由于Cylinder3d需要用到,以后或许会出cylinder3d的学习笔记,冲。

/home/zdj/anaconda3/envs/pytorch/lib/python3.7/site-packages/setuptools/installer.py:30: SetuptoolsDeprecationWarning: setuptools.installer is deprecated. Requirements should be satisfied by a PEP 517 installer.
  SetuptoolsDeprecationWarning,
running bdist_wheel
running build
running build_py
running build_ext
Release
|||||CMAKE ARGS||||| ['-DCMAKE_PREFIX_PATH=/home/zdj/anaconda3/envs/pytorch/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/zdj/spconv/build/lib.linux-x86_64-3.7/spconv', '-DCMAKE_BUILD_TYPE=Release']
-- Caffe2: CUDA detected: 11.1
-- Caffe2: CUDA nvcc is: /usr/local/cuda-11.1/bin/nvcc
-- Caffe2: CUDA toolkit directory: /usr/local/cuda-11.1
-- Caffe2: Header version is: 11.1
-- Found cuDNN: v?  (include: /usr/local/cuda-11.1/include, library: /usr/local/cuda-11.1/lib64/libcudnn.so)
CMake Error at /home/zdj/anaconda3/envs/pytorch/lib/python3.7/site-packages/torch/share/cmake/Caffe2/public/cuda.cmake:174 (message):
  PyTorch requires cuDNN 7 and above.
Call Stack (most recent call first):
  /home/zdj/anaconda3/envs/pytorch/lib/python3.7/site-packages/torch/share/cmake/Caffe2/Caffe2Config.cmake:88 (include)
  /home/zdj/anaconda3/envs/pytorch/lib/python3.7/site-packages/torch/share/cmake/Torch/TorchConfig.cmake:40 (find_package)
  CMakeLists.txt:22 (find_package)


-- Configuring incomplete, errors occurred!
See also "/home/zdj/spconv/build/temp.linux-x86_64-3.7/CMakeFiles/CMakeOutput.log".
See also "/home/zdj/spconv/build/temp.linux-x86_64-3.7/CMakeFiles/CMakeError.log".
Traceback (most recent call last):
  File "setup.py", line 108, in 
    zip_safe=False,
  File "/home/zdj/anaconda3/envs/pytorch/lib/python3.7/site-packages/setuptools/__init__.py", line 87, in setup
    return distutils.core.setup(**attrs)
  File "/home/zdj/anaconda3/envs/pytorch/lib/python3.7/site-packages/setuptools/_distutils/core.py", line 148, in setup
    return run_commands(dist)
  File "/home/zdj/anaconda3/envs/pytorch/lib/python3.7/site-packages/setuptools/_distutils/core.py", line 163, in run_commands
    dist.run_commands()
  File "/home/zdj/anaconda3/envs/pytorch/lib/python3.7/site-packages/setuptools/_distutils/dist.py", line 967, in run_commands
    self.run_command(cmd)
  File "/home/zdj/anaconda3/envs/pytorch/lib/python3.7/site-packages/setuptools/dist.py", line 1214, in run_command
    super().run_command(command)
  File "/home/zdj/anaconda3/envs/pytorch/lib/python3.7/site-packages/setuptools/_distutils/dist.py", line 986, in run_command
    cmd_obj.run()
  File "/home/zdj/anaconda3/envs/pytorch/lib/python3.7/site-packages/wheel/bdist_wheel.py", line 299, in run
    self.run_command('build')
  File "/home/zdj/anaconda3/envs/pytorch/lib/python3.7/site-packages/setuptools/_distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "/home/zdj/anaconda3/envs/pytorch/lib/python3.7/site-packages/setuptools/dist.py", line 1214, in run_command
    super().run_command(command)
  File "/home/zdj/anaconda3/envs/pytorch/lib/python3.7/site-packages/setuptools/_distutils/dist.py", line 986, in run_command
    cmd_obj.run()
  File "/home/zdj/anaconda3/envs/pytorch/lib/python3.7/site-packages/setuptools/_distutils/command/build.py", line 135, in run
    self.run_command(cmd_name)
  File "/home/zdj/anaconda3/envs/pytorch/lib/python3.7/site-packages/setuptools/_distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "/home/zdj/anaconda3/envs/pytorch/lib/python3.7/site-packages/setuptools/dist.py", line 1214, in run_command
    super().run_command(command)
  File "/home/zdj/anaconda3/envs/pytorch/lib/python3.7/site-packages/setuptools/_distutils/dist.py", line 986, in run_command
    cmd_obj.run()
  File "setup.py", line 48, in run
    self.build_extension(ext)
  File "setup.py", line 91, in build_extension
    subprocess.check_call(['cmake', ext.sourcedir] + cmake_args, cwd=self.build_temp, env=env)
  File "/home/zdj/anaconda3/envs/pytorch/lib/python3.7/subprocess.py", line 363, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['cmake', '/home/zdj/spconv', '-DCMAKE_PREFIX_PATH=/home/zdj/anaconda3/envs/pytorch/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/zdj/spconv/build/lib.linux-x86_64-3.7/spconv', '-DCMAKE_BUILD_TYPE=Release']' returned non-zero exit status 1.

这个报错是因为安装找不到cudnn的原因,我们进去这个anaconda3/envs/pytorch/lib/python3.7/site-packages/torch/share/cmake/Caffe2/public/cuda.cmake:174 (message):文件中把如下代码注释掉

# ---[ Extract versions
if(CAFFE2_USE_CUDNN)
  # Get cuDNN version
  if(EXISTS ${CUDNN_INCLUDE_PATH}/cudnn_version.h)
    file(READ ${CUDNN_INCLUDE_PATH}/cudnn_version.h CUDNN_HEADER_CONTENTS)
  else()
    file(READ ${CUDNN_INCLUDE_PATH}/cudnn.h CUDNN_HEADER_CONTENTS)
  endif()
  string(REGEX MATCH "define CUDNN_MAJOR * +([0-9]+)"
               CUDNN_VERSION_MAJOR "${CUDNN_HEADER_CONTENTS}")
  string(REGEX REPLACE "define CUDNN_MAJOR * +([0-9]+)" "\1"
               CUDNN_VERSION_MAJOR "${CUDNN_VERSION_MAJOR}")
  string(REGEX MATCH "define CUDNN_MINOR * +([0-9]+)"
               CUDNN_VERSION_MINOR "${CUDNN_HEADER_CONTENTS}")
  string(REGEX REPLACE "define CUDNN_MINOR * +([0-9]+)" "\1"
               CUDNN_VERSION_MINOR "${CUDNN_VERSION_MINOR}")
  string(REGEX MATCH "define CUDNN_PATCHLEVEL * +([0-9]+)"
               CUDNN_VERSION_PATCH "${CUDNN_HEADER_CONTENTS}")
  string(REGEX REPLACE "define CUDNN_PATCHLEVEL * +([0-9]+)" "\1"
               CUDNN_VERSION_PATCH "${CUDNN_VERSION_PATCH}")
  # Assemble cuDNN version
  if(NOT CUDNN_VERSION_MAJOR)
    set(CUDNN_VERSION "?")
  else()
    set(CUDNN_VERSION
        "${CUDNN_VERSION_MAJOR}.${CUDNN_VERSION_MINOR}.${CUDNN_VERSION_PATCH}")
  endif()
  message(STATUS "Found cuDNN: v${CUDNN_VERSION}  (include: ${CUDNN_INCLUDE_PATH}, library: ${CUDNN_LIBRARY_PATH})")
  if(CUDNN_VERSION VERSION_LESS "7.0.0")
    message(FATAL_ERROR "PyTorch requires cuDNN 7 and above.")
  endif()
endif()

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/796536.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-06
下一篇 2022-05-06

发表评论

登录后才能评论

评论列表(0条)

保存