Ubuntu18.04复现OpenPCDet

文章目录

  • 一、准备工作
    • 1.1 安装MobaXterm
    • 1.2 更换阿里源
    • 1.3 安装版本说明
  • 二、安装Cuda和cudnn
    • 2.1 安装cuda
    • 2.2安装cudnn
  • 三、搭建虚拟环境
    • 3.1 新建虚拟环境
    • 3.2 安装pytorch
    • 3.3 安装spconv
    • 3.4 安装open3d
    • 3.5 安装mayavi
  • 四、OpenPCDet
    • 4.1 OpenPCDet下载
    • 4.2 运行demo.py

一、准备工作

1.1 安装MobaXterm

  • 下载完成后,解压安装点击exe文件
    Ubuntu18.04复现OpenPCDet_第1张图片
  • 点击会话
    Ubuntu18.04复现OpenPCDet_第2张图片
  • 选择SSH登录,然后输入服务器的IP地址和用户名。
    Ubuntu18.04复现OpenPCDet_第3张图片

1.2 更换阿里源

  • 输入nvidia-smi 查看显卡驱动。(或者输入nvidia-smi -a 显示更详细的信息)
    如下图所示,可以支持的最大cuda版本是11.6
    Ubuntu18.04复现OpenPCDet_第4张图片
  • 输入nvcc -V 查看更详细的cuda信息
    如下图所示,当前的版本是cuda9.1 有点老了,接下来我们卸载旧的cuda ,安装新的 cuda。
    Ubuntu18.04复现OpenPCDet_第5张图片
  • 更换apt 国内阿里源

参考: ubuntu更换apt阿里源

cd /etc/apt/
# 备份 sources.list文件
sudo cp sources.list sources.list.bak
# 编辑sources.list
sudo vi sources.list

然后把如下内容粘贴到sources.list文件中

deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
 
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
 
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
 
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
 
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
# 更新
sudo apt update

1.3 安装版本说明

  • ubuntu
  • cuda10.2
  • cudnn 7.6.5
  • python 3.8
  • openpcdet 0.5.2
  • torch==1.9.0+cu102
  • torchvision==0.10.0+cu102
  • spconv-cu102

其他安装包版本说明如下

(py38) wzw@wzw-cu:~/OpenPCDet-0.5.2/tools$ conda list
# packages in environment at /home/wzw/anaconda3/envs/py38:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                 conda_forge    http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
_openmp_mutex             4.5                       2_gnu    http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
addict                    2.4.0                    pypi_0    pypi
aiohttp                   3.8.3                    pypi_0    pypi
aiosignal                 1.2.0                    pypi_0    pypi
anyio                     3.6.2                    pypi_0    pypi
apptools                  5.2.0                    pypi_0    pypi
argon2-cffi               21.3.0                   pypi_0    pypi
argon2-cffi-bindings      21.2.0                   pypi_0    pypi
asttokens                 2.0.8                    pypi_0    pypi
async-timeout             4.0.2                    pypi_0    pypi
attrs                     22.1.0                   pypi_0    pypi
babel                     2.10.3                   pypi_0    pypi
backcall                  0.2.0                    pypi_0    pypi
beautifulsoup4            4.11.1                   pypi_0    pypi
bleach                    5.0.1                    pypi_0    pypi
bzip2                     1.0.8                h7f98852_4    http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
ca-certificates           2022.9.24            ha878542_0    http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
ccimport                  0.4.1                    pypi_0    pypi
certifi                   2022.9.24                pypi_0    pypi
cffi                      1.15.1                   pypi_0    pypi
charset-normalizer        2.1.1                    pypi_0    pypi
configobj                 5.0.6                    pypi_0    pypi
contourpy                 1.0.5                    pypi_0    pypi
cumm-cu102                0.3.4                    pypi_0    pypi
cycler                    0.11.0                   pypi_0    pypi
debugpy                   1.6.3                    pypi_0    pypi
decorator                 5.1.1                    pypi_0    pypi
defusedxml                0.7.1                    pypi_0    pypi
deprecation               2.1.0                    pypi_0    pypi
easydict                  1.10                     pypi_0    pypi
entrypoints               0.4                      pypi_0    pypi
envisage                  6.1.0                    pypi_0    pypi
executing                 1.1.1                    pypi_0    pypi
fastjsonschema            2.16.2                   pypi_0    pypi
fire                      0.4.0                    pypi_0    pypi
fonttools                 4.38.0                   pypi_0    pypi
frozenlist                1.3.1                    pypi_0    pypi
idna                      3.4                      pypi_0    pypi
imageio                   2.22.2                   pypi_0    pypi
importlib-metadata        5.0.0                    pypi_0    pypi
importlib-resources       5.10.0                   pypi_0    pypi
ipykernel                 6.16.1                   pypi_0    pypi
ipython                   8.5.0                    pypi_0    pypi
ipython-genutils          0.2.0                    pypi_0    pypi
ipywidgets                8.0.2                    pypi_0    pypi
jedi                      0.18.1                   pypi_0    pypi
jinja2                    3.1.2                    pypi_0    pypi
joblib                    1.2.0                    pypi_0    pypi
json5                     0.9.10                   pypi_0    pypi
jsonschema                4.16.0                   pypi_0    pypi
jupyter-client            7.4.3                    pypi_0    pypi
jupyter-core              4.11.2                   pypi_0    pypi
jupyter-packaging         0.12.3                   pypi_0    pypi
jupyter-server            1.21.0                   pypi_0    pypi
jupyterlab                3.4.8                    pypi_0    pypi
jupyterlab-pygments       0.2.2                    pypi_0    pypi
jupyterlab-server         2.16.1                   pypi_0    pypi
jupyterlab-widgets        3.0.3                    pypi_0    pypi
kiwisolver                1.4.4                    pypi_0    pypi
lark                      1.1.3                    pypi_0    pypi
ld_impl_linux-64          2.39                 hc81fddc_0    http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
libffi                    3.4.2                h7f98852_5    http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
libgcc-ng                 12.2.0              h65d4601_18    http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
libgomp                   12.2.0              h65d4601_18    http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
libnsl                    2.0.0                h7f98852_0    http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
libsqlite                 3.39.4               h753d276_0    http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
libuuid                   2.32.1            h7f98852_1000    http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
libzlib                   1.2.13               h166bdaf_4    http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
llvmlite                  0.39.1                   pypi_0    pypi
markupsafe                2.1.1                    pypi_0    pypi
matplotlib                3.6.1                    pypi_0    pypi
matplotlib-inline         0.1.6                    pypi_0    pypi
mayavi                    4.8.1                    pypi_0    pypi
mistune                   2.0.4                    pypi_0    pypi
multidict                 6.0.2                    pypi_0    pypi
nbclassic                 0.4.5                    pypi_0    pypi
nbclient                  0.7.0                    pypi_0    pypi
nbconvert                 7.2.2                    pypi_0    pypi
nbformat                  5.7.0                    pypi_0    pypi
ncurses                   6.3                  h27087fc_1    http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
nest-asyncio              1.5.6                    pypi_0    pypi
networkx                  2.8.7                    pypi_0    pypi
ninja                     1.10.2.4                 pypi_0    pypi
notebook                  6.5.1                    pypi_0    pypi
notebook-shim             0.2.0                    pypi_0    pypi
numba                     0.56.3                   pypi_0    pypi
numpy                     1.23.4                   pypi_0    pypi
open3d                    0.15.2                   pypi_0    pypi
openssl                   3.0.5                h166bdaf_2    http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
packaging                 21.3                     pypi_0    pypi
pandas                    1.5.1                    pypi_0    pypi
pandocfilters             1.5.0                    pypi_0    pypi
parso                     0.8.3                    pypi_0    pypi
pccm                      0.4.2                    pypi_0    pypi
pcdet                     0.5.2+0                   dev_0    <develop>
pexpect                   4.8.0                    pypi_0    pypi
pickleshare               0.7.5                    pypi_0    pypi
pillow                    9.2.0                    pypi_0    pypi
pip                       22.3               pyhd8ed1ab_0    http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
pkgutil-resolve-name      1.3.10                   pypi_0    pypi
portalocker               2.6.0                    pypi_0    pypi
prometheus-client         0.15.0                   pypi_0    pypi
prompt-toolkit            3.0.31                   pypi_0    pypi
protobuf                  3.20.1                   pypi_0    pypi
psutil                    5.9.3                    pypi_0    pypi
ptyprocess                0.7.0                    pypi_0    pypi
pure-eval                 0.2.2                    pypi_0    pypi
pybind11                  2.10.0                   pypi_0    pypi
pycparser                 2.21                     pypi_0    pypi
pyface                    7.4.2                    pypi_0    pypi
pygments                  2.13.0                   pypi_0    pypi
pyparsing                 3.0.9                    pypi_0    pypi
pyquaternion              0.9.9                    pypi_0    pypi
pyrsistent                0.18.1                   pypi_0    pypi
python                    3.8.13          ha86cf86_0_cpython    http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
python-dateutil           2.8.2                    pypi_0    pypi
pytz                      2022.5                   pypi_0    pypi
pywavelets                1.4.1                    pypi_0    pypi
pyyaml                    6.0                      pypi_0    pypi
pyzmq                     24.0.1                   pypi_0    pypi
readline                  8.1.2                h0f457ee_0    http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
requests                  2.28.1                   pypi_0    pypi
scikit-image              0.19.3                   pypi_0    pypi
scikit-learn              1.1.2                    pypi_0    pypi
scipy                     1.9.3                    pypi_0    pypi
send2trash                1.8.0                    pypi_0    pypi
setuptools                65.5.0             pyhd8ed1ab_0    http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
sharedarray               3.2.2                    pypi_0    pypi
six                       1.16.0                   pypi_0    pypi
sniffio                   1.3.0                    pypi_0    pypi
soupsieve                 2.3.2.post1              pypi_0    pypi
spconv-cu102              2.2.3                    pypi_0    pypi
sqlite                    3.39.4               h4ff8645_0    http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
stack-data                0.5.1                    pypi_0    pypi
tensorboardx              2.5.1                    pypi_0    pypi
termcolor                 2.0.1                    pypi_0    pypi
terminado                 0.16.0                   pypi_0    pypi
threadpoolctl             3.1.0                    pypi_0    pypi
tifffile                  2022.10.10               pypi_0    pypi
tinycss2                  1.2.1                    pypi_0    pypi
tk                        8.6.12               h27826a3_0    http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
tomli                     2.0.1                    pypi_0    pypi
tomlkit                   0.11.5                   pypi_0    pypi
torch                     1.9.0+cu102              pypi_0    pypi
torchvision               0.10.0+cu102             pypi_0    pypi
tornado                   6.2                      pypi_0    pypi
tqdm                      4.64.1                   pypi_0    pypi
traitlets                 5.5.0                    pypi_0    pypi
traits                    6.4.1                    pypi_0    pypi
traitsui                  7.4.1                    pypi_0    pypi
typing-extensions         4.4.0                    pypi_0    pypi
urllib3                   1.26.12                  pypi_0    pypi
vtk                       9.2.2                    pypi_0    pypi
wcwidth                   0.2.5                    pypi_0    pypi
webencodings              0.5.1                    pypi_0    pypi
websocket-client          1.4.1                    pypi_0    pypi
wheel                     0.37.1             pyhd8ed1ab_0    http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
widgetsnbextension        4.0.3                    pypi_0    pypi
wslink                    1.9.0                    pypi_0    pypi
xz                        5.2.6                h166bdaf_0    http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
yarl                      1.8.1                    pypi_0    pypi
zipp                      3.9.0                    pypi_0    pypi

二、安装Cuda和cudnn

2.1 安装cuda

其他版本的cuda下载链接参考 cuda下载官方通道

  • 下载cuda Toolkit 10.2
    【方法1】官网下载
    点击进入 cuda10.2官网下载地址
    然后选择按照下图进行操作。
    Ubuntu18.04复现OpenPCDet_第6张图片
    【方法2】百度网盘
    如果官网下载太慢,也可从我的百度网盘上获取下载好的cuda10.2。

链接:cuda_10.2.89_440.33.01_linux
提取码:wey2
–来自百度网盘超级会员V4的分享

  • 删除之前安装的cuda
cd /usr/local/
ls
# 删除cuda相关的文件
sudo rm -rf /usr/local/cuda*
# 删除cuda的配置文件以及其他相关依赖包
sudo apt purge cuda*
# 查看cuda相关的应用
sudo dpkg -l | grep cuda*
# 删除之前安装的cuda-toolkit
sudo dpkg -r nvidia-cuda-toolkit
# 输入如下命令,检查cuda是否卸载干净
nvcc -V
# 如果是“没有那个文件或目录”,说明卸载成功。

sudo apt purge 命令用于删除已安装的软件包(不保留配置文件),删除软件包,同时删除相应依赖软件包;
sudo dpkg -l 查看已经安装的应用
sudo dpkg -r 删除已经安装的应用

  • 安装cuda10.2
    然后把本地下载的cuda_10.2.89_440.33.01_linux.run 文件上传到服务器上。

如果使用MobaXterm,则直接将文件拖动即可完成上传。如下图所示:
Ubuntu18.04复现OpenPCDet_第7张图片

# 安装cuda10.2
sudo bash cuda_10.2.89_440.33.01_linux.run

选择continue
Ubuntu18.04复现OpenPCDet_第8张图片
输入accept
Ubuntu18.04复现OpenPCDet_第9张图片
选择install
Ubuntu18.04复现OpenPCDet_第10张图片
Ubuntu18.04复现OpenPCDet_第11张图片

  • 添加cuda环境变量

参考cuda环境变量的添加和cudnn安装

# 编辑环境变量
vi ./bashrc

添加环境变量如下:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.2/lib64
export PATH=$PATH:/usr/local/cuda-10.2/bin
export CUDA_HOME=/usr/local/cuda-10.2

在这里插入图片描述

# 让环境变量生效
source ~/.bashrc

2.2安装cudnn

  • 下载cudnn10.2

从百度网盘上下载cudnn10.2

百度网盘下载链接:cudnn-10.2-linux-x64-v7.6.5.32
提取码:mft8
–来自百度网盘超级会员V4的分享

下载完成后,上传cudnn-10.2-linux-x64-v7.6.5.32.tgz 到服务器

  • 安装cudnn10.2

参考cuda环境变量的添加和cudnn安装

# 解压
tar xvf cudnn-10.2-linux-x64-v7.6.5.32.tgz
# 复制cudnn中的一些文件到cuda下
sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
# 改变权限
sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
# 检查是否安装成功
nvcc -V

Ubuntu18.04复现OpenPCDet_第12张图片

三、搭建虚拟环境

3.1 新建虚拟环境

# 查看当前存在的虚拟环境
conda env list
# 新建名为py38的虚拟环境,python=3.8
conda create -n py38 python=3.8
# 进入py38
conda activate py38

3.2 安装pytorch

【方法1】:直接从官网上下载

pip install torch==1.9.0+cu102 torchvision==0.10.0+cu102 -f https://download.pytorch.org/whl/torch_stable.html

【方法2】:从百度网盘上下载

  • 链接:torch-1.9.0+cu102-cp38-cp38-linux_x86_64
    提取码:h40o
  • 链接:torchvision-0.10.0+cu102-cp38-cp38-linux_x86_64
    提取码:ag1q
pip install torch-1.9.0+cu102-cp38-cp38-linux_x86_64.whl
pip install torchvision-0.10.0+cu102-cp38-cp38-linux_x86_64.whl

3.3 安装spconv

pip install https://pypi.tuna.tsinghua.edu.cn/simple spconv-cu102

3.4 安装open3d

pip install https://pypi.tuna.tsinghua.edu.cn/simple open3d

3.5 安装mayavi

pip install https://pypi.tuna.tsinghua.edu.cn/simple mayavi

四、OpenPCDet

4.1 OpenPCDet下载

从下面的百度网盘上下载OpenPCDet, 并上传到服务器上。

百度网盘链接: OpenPCDet-0.5.2
提取码:d77r

# 解压
unzip OpenPCDet-0.5.2.zip
cd OpenPCDet-0.5.2
# 安装setup.py文件中包含的依赖
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -e .

pip install -e . [information] 安装setup.py 里面information字段声明的包含的依赖

如果出现如下报错

Ubuntu18.04复现OpenPCDet_第13张图片
则对服务器进行重启,输入sudo reboot
重新登录后,输入nvidia-smi
Ubuntu18.04复现OpenPCDet_第14张图片
然后按照提示,发现nvidia-modprobe还没有卸载
输入sudo apt purge nvidia-modprobe 将其卸载
然后再输入nvidia-sminvcc -V ,检查一下cuda是否配置成功
Ubuntu18.04复现OpenPCDet_第15张图片
最后重新再次输入pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -e .

4.2 运行demo.py

cd tools
python demo.py --cfg_file cfgs/kitti_models/pv_rcnn.yaml  --ckpt ../weights/pv_rcnn_8369.pth --data_path ../data/velodyne_points/data/0000000008.bin

芜湖!!!
Ubuntu18.04复现OpenPCDet_第16张图片

你可能感兴趣的:(#,代码实现——3D目标检测,3d目标检测,OpenPCDet,1024程序员节)