> 文章列表 > 配置ST3D环境

配置ST3D环境

配置ST3D环境

配置ST3D环境

  • 前言
  • 配置
    • 初始
    • python
    • pytorch和torchvision
    • cuda
    • spconv
    • cudnn
    • gcc
  • 总结

前言

由于requirements中有这么一句:spconv v1.0 (commit 8da6f96) or spconv v1.2
。事情就变得不一样了,其中配置的一些环境的版本对于当下来说简直是上古级别。所幸实验室内的同学给予了我一定的帮助,最终跌跌撞撞地完成了环境的配置。

配置

初始

为了不污染base的环境,先创建一个名为st3d的虚拟环境,之后激活使用。

conda create -n st3d python=3.7

激活

conda activate st3d

python

python=3.7
创建的时候已经安装

pytorch和torchvision

pytorch=1.5.1
torchvision=0.6
直接安装

cuda

cuda=10.1
从这里开始变得复杂了,cuda的安装需要到官网下载文件。
参考博客:Linux之cuda、cudnn安装及版本切换
重点:

  1. 需要配置.bshrc文件
export PATH="$PATH:/usr/local/cuda-10.1/bin"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda-10.1/lib64/"
export LIBRARY_PATH="$LIBRARY_PATH:/usr/local/cuda-10.1/lib64"  
source ~/.bashrc
  1. 系统中的cuda需要软连接到cuda-10.1
sudo ln -s /usr/local/cuda-10.1  /usr/local/cuda

spconv

参考博客:CIA-SSD
这篇博客中前面部分涉及spconv的安装,按照其过程安装即可。

cudnn

cudnn=8.0.2
参考教程:Linux系统CUDA10.2+CUDNN安装教程
安装的时候参考cudnn部分即可
这里关键的部分是验证cudnn的安装是否成功
大多数教程的验证:

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

由于版本太高还是太低来着,这种方法对于8.0.2并不适用
正确的验证方式:

cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

gcc

由于gcc版本过高,还是用不了。
没办法,连gcc都得再装。
gcc=6.3
安装教程:ubuntu 20.04LST跌跌撞撞安装编译gcc6.3.0
其中的4个问题:

  1. 问题1:error: dereferencing pointer to incomplete type ‘struct ucontext’
  2. 问题2:sanitizer_platform_limits_posix.cc:158:23: 致命错误:sys/ustat.h:没有那个文件或目录
  3. 问题3:‘sigaltstack handler_stack’类型不完全,无法被定义
  4. 问题4:sanitizer_common/sanitizer_internal_defs.h:254:72: error: size of array ‘assertion_failed__1142’ is negative

这四个问题真的会原原本本按照顺序遇到,好在教程中说得详细,解决方法也是正确的。

按照教程中安装以后,出现了个小小的问题:我用update-alternatives --config gcc查看所有gcc版本的时候,并没有看到gcc6.3.0这个版本,但是目前确实是这个版本,之后不知道怎么改回去,寄

总结

python,torch,torchvision,cuda,cudnn,spconv,gcc, 总体上就配了这些 ,前三还好,后四有点小麻烦。 至于numpy等,就简单多了,pip直接就能装(嫌慢的话,可以挂个镜像 https://pypi.douban.com/simple/ )