ubuntu18.04安装spconv踩坑实录

目录

spconv1.2安装步骤

spconv1.0安装步骤

参考

使用 second.pytorch做3D目标检测的可视化,需要安装spconv,然后就开始了漫长的踩坑路。。。这里记录下来,方便自己以后查阅。

spconv1.2安装步骤

补充:后面我又用pytorch1.3.1安装spconv1.2版本,原因是不想使用系统路径下的cuda而转用个人用户下的cuda(如何装可以参考我的博客)。详细步骤参考下面1.0版本

步骤一:首先需要在CMakeList.txt中添加以下cuda路径,添加在第五行,添加完如下图所示。(或者在setup.py的cmake_args中添加'-DCMAKE_CUDA_COMPILER=/home/gye/cuda100/bin/nvcc')

set(CMAKE_CUDA_COMPILER "/home/gye/cuda100/bin/nvcc")

步骤二:将下面路径文件中usr相关的依赖项全部改成自己路径下的,然后重新运行应该就可以了。如果报错error: ‘RegisterOperators’ is not a member of ‘torch’,将对应文件所在行的中的torch::RegisterOperators改为torch::jit::RegisterOperators即可。

vim ~/anaconda3/envs/PCdet/lib/python3.6/site-packages/torch/share/cmake/Caffe2/Caffe2Targets.cmake

 

spconv1.0安装步骤

服务器环境

操作系统版本:Ubuntu 18.04
GPU名称:TITAN V
CUDA版本:10.0.130
Pytorch:1.1
Python:3.7
gcc版本:7.5.0(g++4.8.5,c++14需要g++5.2以上。就是这个坑,我第三天才爬出来。。。)

  1. 如果需要用conda新创建一个虚拟环境,可以直接按照下面操作一步一步来。然鹅我一直用的虚拟环境中安装了好多包,不想再整一个新的,就直接在原来的上面操作了,就跳过了第一步。
    conda create --name spconv-1.0 python=3.6 pytorch=1.1 cudatoolkit=9.2 cudatoolkit-dev=9.2 \
    cmake --channel pytorch --channel=conda-forge
    conda activate spconv-1.0
    conda install cudnn
    conda install boost

     

  2. 克隆代码,因为我的pytorch是1.1,翻看issues发现1.1要下载如上仓库中的代码,如issues187中提到的。
    git clone https://github.com/traveller59/spconv spconv_8da6f96 --recursive

     

  3. 这一步没啥好说的,依次执行即可。此步骤结束可先尝试步骤5.1,若报错再尝试步骤4。
    cd spconv_8da6f96
    git checkout 8da6f967fb9a054d8870c3515b1b44eca2103634

     

  4. 步骤4可选,需根据实际情况。若步骤5.1执行后报错“The CUDA compiler "/usr/bin/nvcc" is not able to compile a simple test program.”那就尝试步骤4,首先下载patch文件到服务器(传送门下载,提取码vpba),然后进入patch文件所在文件夹,执行以下命令,再执行步骤5.2,运行之后应该正确显示如下图。

    git am <PATH_TO_EXTRACTED_FILE>/0001-Allow-to-specifiy-CUDA_ROOT-directory-and-pick-corre.patch

    说明:如果出现下图所示的问题,只需要依次执行下面两条命令即可,例如

    git config user.email "LR@example.com"
    git config user.email "LR"

     

  5. <PATH_TO_YOUR_CONDA_INSTALLATION>是服务器上安装cuda的路径,可使用命令which nvcc查看cuda路径,比如我的是/usr/local/cuda-10.0

    #####5.1######
    python setup.py bdist_wheel
    
    #####5.2######
    CUDA_ROOT=<PATH_TO_YOUR_CONDA_INSTALLATION> python setup.py bdist_wheel

    然后问题又来了,仍然报错The CUDA compiler  is not able to compile a simple test program.而且log下面还有Error running link command: No such file or directory,叫人头秃。后来查看spconv_8da6f96/build/temp.linux-x86_64-3.7/CMakeFiles/目录下的CMakeError.log发现,原因一直都是

    如这位博主所说,-std=c++14需要g++5.2以上,然后进行了下面的一系列操作,改用高版本的g++。

    ###查看服务器上的g++版本###
    ls /usr/bin/g++* -l
    

    因为服务器上有高版本的g++,重新设置一下软链接就可以了。如果你的电脑上没有高版本,那就需要装一下。

    cd /usr/bin
    
    ###消除现有的软链接###
    sudo rm /usr/bin/g++
    
    ###设置新的软链接###
    sudo ln -s g++-7 g++
    
    ###查看g++版本###
    g++ -v

    PS:下面这部分只是单纯做一下记录,如果你成功运行了命令5.2,无需理会,直接执行步骤6。现在回来再执行5.2的命令发现一个很奇怪的问题,找不到torch包,如下

    又执行一遍,问题又不一样了,变成

    然后把5.2的命令中/usr/local/cuda-10.0换成/usr/local/cuda,执行,又是找不到torch包。重复执行一遍却成功了。莫名其妙的,这种感觉很不爽。暂时先往下进行

  6. 依次执行即可。安装完进python解释器导入spconv包import spconv进行测试。不报错,表示安装成功,但是云里雾里,这种感觉很不好。。。先暂时进行到这里,后面用second.pytorch,有问题再回来找

    cd dist/
    pip install *

     

参考

gcc、g++版本切换,设置软链接参考这里

g++: 错误:unrecognized command line option ‘-std=c++14’参考这里

cuda版本切换、查看参考这里

 

  • 3
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 16
    评论
安装opencv的过程可能会遇到一些问题,下面是一些在Ubuntu 18.04上安装opencv时可能会遇到的常见问题及解决方法的指南。 1. 缺少依赖项:在安装opencv之前,确保已经安装了必需的依赖项。这包括cmake、build-essential、libgtk2.0-dev、pkg-config和python3-dev等。可以使用以下命令安装它们: ``` sudo apt-get install cmake build-essential libgtk2.0-dev pkg-config python3-dev ``` 2. 版本冲突:如果你的系统中已经安装了ROS-melodic,并且ROS-melodic中已经自带了opencv-3.2.0版本,你可能需要手动编译和安装opencv-3.2.0来覆盖ROS-melodic中的版本。首先下载opencv-3.2.0和opencv_contrib-3.2.0的源代码,并切换到opencv-3.2.0/build目录。然后使用make和make install命令进行编译和安装: ``` cd ~/Downloads/opencv_install/opencv-3.2.0/build/ make sudo make install ``` 3. 其他问题:在安装过程中可能会遇到其他问题,例如编译错误或链接错误。这些问题通常可以通过在安装过程中查找错误消息并搜索解决方案来解决。可以查看相关的安装教程、论坛或社区提供的文档以获取更多帮助。 总结起来,安装opencv的过程可能会因为缺少依赖项或版本冲突而出现问题。确保安装了必需的依赖项,并根据需要手动编译和安装适当的版本来解决版本冲突。在遇到其他问题时,可以查找相关的资源以获取更多帮助和解决方案。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Ubuntu18.04安装opencv 3.2.0的解决方法](https://download.csdn.net/download/weixin_38637983/12842575)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [在ubuntu18.04安装opencv_contrib-3.2.0采教程](https://blog.csdn.net/hiram_zhang/article/details/103467737)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值