Openpcdet 安装过程
Openpcdet 安装过程
硬件配置3060+5800h
需要安装的工具
Anaconda3 |
---|
cuda_11.1.1_455.32.00_linux.run(安装cuda) |
cudnn-11.2-linux-x64-v8.1.1.33.tgz(安装cudann) |
安装cuda 和cudann请参考这篇博客
https://blog.csdn.net/w1520039381/article/details/120726135#t5
一、建立Oenpcdet的环境:准备工作
安装pytorch
torch | 1.9.1 |
---|---|
torchaudio | 0.9.1 |
torchvision | 0.10.1 |
cudatoolkit | 11.1 |
1.1建立名为Openpcdet的新环境
conda create -n Openpcdet python=3.8
1.2环境建好后激活
conda activate Openpcdet
1.3安装pytorch
1.3.1 在线安装
conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 cudatoolkit=11.1 -c pytorch -c conda-forge
注意:安装pytorch1.90或者1.90以上清华源是没有的需要自行添加来源,加入-c pytorch是官方源可能导致下载变慢
例如pytorch1.9.1
pip3 install torch==1.9.1+cu111 torchvision==0.10.1+cu111 torchaudio==0.9.1 -f https://download.pytorch.org/whl/torch_stable.html
conda install cudatoolkit=11.1 #以清华源为例,下载的时候会报错,因为cudatoolkit=11.1的版本在清华源上是没有的。尝试用北外的源下载11.1版本的cudatoolkit。
conda install cudatoolkit=11.1 -c https://mirrors.bfsu.edu.cn/anaconda/cloud/conda-forge
1.3.2离线安装
个人认为离线安装比较方便
首先要确认你的cuda 版本和要安装的python版本
pytorch离线下载网址
选择你的离线包
三个文件pip安装
注意(pytorch与torchvision、python、torchaudio、cudatoolkit的对应关系)
cudatoolkit | torch1.5 | torch1.6 | torch1.7 | torch1.8 | torch1.9 | torch1.10 | torch1.11 |
---|---|---|---|---|---|---|---|
9.2 | 1 | 1 | 1 | ||||
10.1 | 1 | 1 | 1 | 1 | |||
10.2 | 1 | 1 | 1 | 1 | 1 | 1 | |
11.0 | 1 | ||||||
11.1 | 1 | 1 | 1 | ||||
11.3 | 1 | 1 | 1 | 1 |
PyTorch与torchvision、python 对应关系
torch与torchaudio、python对应关系
1.4测试pytorch是否可用
python
import torch as t
device = t.device('cuda' if t.cuda.is_available() else 'cpu')
print(device)
如果不是cuda请检查pytorch是否安装为cpu版本(检查很重要!!!!)
1.5安装spconv
pip install spconv-cu111 #我的cuda是11.1,根据cuda版本来选择spconv版本
注意:不添加清华园会导致下载失败
亲 使用pip install spconv-cu111 -i https://pypi.tuna.tsinghua.edu.cn/simple
1.5.1更新cmake版本工作
查看版本
cmake --version
没有的话
pip install Cmake
1.5.2验证spconv
import spconv.pytorch as spconv
二、下载安装Openpcdet
2.1安装
我保存的位置是在我创建的环境中的
(Open3d) huangmang@huangmang-Lenovo-ThinkBook-16p-Gen-2:~/anaconda3/envs/Open3d$
#1.选择你要保存的路径
#2.cd 进去
#3.安装所需的包git clone https://github.com/open-mmlab/OpenPCDet.git
cd OpenPCDet
pip install -r requirements.txt
安装需要的包后
cd OpenPCDet
sudo python setup.py develop
是不是以为大功告成?
不会的接下来是解决报错的过程
2.2安装报错问题
2.2.1[subprocess.CalledProcessError: Command ‘[‘ninja‘, ‘-v‘]‘ returned non-zero exit status 1]
解决办法:
将anaconda环境下的 lib/python3.8/site-packages/torch/utils/cpp_extension.py文件
将**[‘ninja’,’-v’]改成[‘ninja’,’- -version’]** 注意是两条杠
如果你是python3.9也在相应路径去找
2.2.2fatal error: cuda_runtime.h: No such file or directory
验证nvcc -V
如果没有,可能是cuda路径设置有问题
查看你的~/.bashrc 文件
sudo gedit ~/.bashrc
看是否有以下路径(我的是cuda11.1)
export PATH=$PATH:/usr/local/cuda-11.1.0/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.1/lib64
或者没有就添加以下路径:
export CUDA_HOME=/usr/local/cuda-11.1
export LD_LIBRARY_PATH=${CUDA_HOME}/lib64
export PATH=${CUDA_HOME}/bin:${PATH}
然后添加软连接
sudo ln -s /usr/local/cuda-11.1 /usr/local/cuda
如果还不行,并且locate cuda_runtime.h 能找到正确位置
**2.2.3没有mayavi或着Open3d****mayavi安装失败,卡在Building wheel for mayavi (setup.py)**使用pip安装mayavi的依赖库vtk的时候,如果没有指定vtk的版本号,就自动安装了 最新版本,最新的版本好像和mayavi不兼容。注意:vtk版本maya版本python版本不一致都会导致mayavi安装失败**安装open3d**直接安装open3d也会失败后面添加网址则成功pip install open3d -i https://pypi.tuna.tsinghua.edu.cn/simple安装完后Openpcdet后测试```python
# 命令行输入
python
import pcdet
# 如果可以import说明安装成功
三、使用KITTI数据集进行演示
3.1下载数据集
klitti官网:
http://www.cvlibs.net/datasets/kitti/eval_object.php?obj_benchmark=3d
kitti官网下载数据集速度很慢这里我贴出我的云盘供下载
https://pan.baidu.com/s/1YxUnfZoWNEn_nGCq012RXQ
提取码:g5n5
文件内容如下
data_object_calib
data_object_image_2
data_object_label_2
data_object_velodyne
data_load
devkit_object
使用说明
1、这里每个文件的内容被分成多个压缩包主要是因为百度云对上传文件的大小有限制,另外一方面压缩后的文件确实比原始文件小很多。以雷达数据(data_object_velodyne)为例,解压后的实际大小为26.7G,实际上传的文件大小只有15.77G。
2、对于不同内容的压缩包,只需要解压对应的xxx.zip文件。
3、若出现解压后文件被损坏,可能是下载的时候数据被破坏了,或者使用的解压软件不对,我这里使用的是Bandizip软件,大家可以参考。
3.2 demo演示
在openpcdet文件夹下进入 tools
python demo.py --cfg_file cfgs/kitti_models/pv_rcnn.yaml --ckpt pv_rcnn_8369.pth --data_path data/kitti/training/velodyne/000008.bin
其中:
–cfg_file: .yaml配置文件
–ckpt:为训练好的.path 模型文件
–data_path:为检测的数据.bin文件
报错问题1
File "demo.py", line 103, in <module>main()File "demo.py", line 83, in mainmodel.load_params_from_file(filename=args.ckpt, logger=logger, to_cpu=True)File "/home/xie/OpenPCDet/pcdet/models/detectors/detector3d_template.py", line 325, in load_params_from_fileraise FileNotFoundError
FileNotFoundError
原因是缺少pv_rcnn_8369.pth预训练模型文件
pv_rcnn_8369.pth模型下载链接:https://pan.baidu.com/s/1MmybKnxtgMXO321056TerQ 提取码:fvm5
报错问题2
找不到bin文件
我们把下载好的velodyne点云文件放到/home/huangmang/anaconda3/envs/Open3d/OpenPCDet/data文件夹下
官方提供路径:–data_path data/kitti/training/velodyne/000008.b
经测试使用相对文件路径会报错要使用绝对路径,将上面的–data_path data/kitti/training/velodyne/000008.bin改为下面的路径
-data_path /home/huangmang/anaconda3/envs/Open3d/OpenPCDet/data/kitti/training/velodyne/000050.bin
耗费四天终于成功了!!!
3.3训练准备
OpenPCDet
├── data
│ ├── kitti
│ │ │── ImageSets
│ │ │── training
│ │ │ ├──calib & velodyne & label_2 & image_2 & (optional: planes)
│ │ │── testing
│ │ │ ├──calib & velodyne & image_2
├── pcdet
├── tools
运行以下命令生成真实框和五个字典信息
python -m pcdet.datasets.kitti.kitti_dataset create_kitti_infos tools/cfgs/dataset_configs/kitti_dataset.yaml
四、一些命令
conda指令
conda create -n myenv python=3 # 创建一个名为myenv的环境并指定python版本为3
conda remove -n myenv --all # 删除环境及下属所有包activate myenv # 切换到myenv环境
deactivate myenv # 推出环境myenv
activate # 进入默认的base环境conda env list # 列出所有环境
conda list # 列出当前环境的所有包# 以pandas为例,安装,卸载,更新
conda search pandas # 查找可安装的包
conda install pandas # 安装包
conda remove pandas # 卸载包
conda update pandas # 更新包#cuda,cudnn 在conda环境里
conda install cudatoolkit=11.1
conda install cudnn=8.1.0 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge# 删除环境
conda env remove --name 环境名
删除cuda 和cudann
#删除cuda
cd /usr/local/cuda-11.0/bin/
sudo ./cuda-uninstaller
sudo rm -rf /usr/local/cuda-11.0# 删除cudann
sudo rm -rf /usr/local/cuda/include/cudnn.h
sudo rm -rf /usr/local/cuda/lib64/libcudnn*
sudo rm -rf /usr/include/cudnn.h
sudo rm -rf /usr/lib/x86_64-linux-gnu/libcudnn*
2、gcc降级
Ubuntu20.04自带的gcc版本为9.7.0,需要添加gcc7才可安装cuda10.2,输入命令安装gcc7
sudo apt-get install gcc-7 g++-7
查看gcc版本,可以看到目前系统中存在7和9两个版本
使用update-alternatives进行版本切换,输入以下命令:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 100
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 50
此时输入sudo update-alternatives --config gcc命令查看gcc的默认版本,可以看到当前默认gcc版本为7,即切换成功。
参考文章
https://blog.csdn.net/weixin_42423743/article/details/111173137
https://blog.csdn.net/weixin_43678195/article/details/117352908
https://blog.csdn.net/u013086672/article/details/103910266
https://blog.csdn.net/sini2018/article/details/120820407
https://blog.csdn.net/uzwuzw/article/details/116091495
https://blog.csdn.net/jin15203846657/article/details/122735375
Openpcdet 安装过程相关推荐
- vue.js安装过程(npm安装)
一.开发环境 vue推荐开发环境: Node.js: JavaScript运行环境(runtime),不同系统直接运行各种编程语言 npm: Nodejs下的包管理器. webpack: 它主要的用途 ...
- as安装过程中gradle_柯赛分享:楼顶大字安装过程中需要用到哪些工具?
经过前面一系列标识行业常识和制作工艺相关知识的分享,我们知道楼顶大字是标识行业下属的一个重要分支产品类别,也明白了楼顶大字主要制作材料是金属的,尺寸和自重都比较大,运输安装过程相对复杂,安装施工的难度 ...
- MySQL的安装过程
近期对MySQL做了一些研究. 曾经主要接触的是SQL SERVER.所以,今天对该安装过程做了一些总结以及使用过程中的一些心得.并分享给大家. 记得前面.分享过一篇关于数据库的几种连接方式.而 ...
- Debian 6.0 安装过程 及中文乱码
2019独角兽企业重金招聘Python工程师标准>>> Debian 6.0 安装过程 Debian 6.0 安装过程 转(一个别人自录的安装过程录相) http://v.youku ...
- Linux CENTOS7 Linux流量监控工具-iftop 安装过程以及示例!
Iftop安装过程 1,用wget方式下载软件包: wget http://www.ex-parrot.com/pdw/iftop/download/iftop-0.17.tar.gz 1,解压文件 ...
- qt webassembly 安装过程记录及注意事项
一 安装emsdk 按照Download and install - Emscripten 3.1.6-git (dev) documentation 和Qt 官网介绍Qt for WebAssemb ...
- 国内网络环境优化qiime2安装过程-QIIME 2安装慢或无法下载的解决方案
文章目录 Fast install qiime2 in China region Note: 安装q2-studio 猜你喜欢 写在后面 原文:为qiime2国内社区贡献点力量:国内网络环境优化qii ...
- 安装计算机过程中的注意事项,西门子step7安装过程中的注意事项
有关西门子step7安装过程中的注意有哪些,注意西门子自动化软件的安装顺序,先安装STEP7,再安装上位机组态软件WinCC和人机界面的组态软件WinCC flexible等. 西门子step7软件安 ...
- ubuntu vasp 安裝_VASP安装过程(64位)
安装intel(内含ifort.icc.icpc等) (1)首先检测是否已安装g++,命令:which g++.若无,采用命令sudo apt-get install g++安装. (2)进入vasp ...
最新文章
- python读取一个文件夹/子文件夹下的所有文件名字
- 分析 AIX 和 Linux 性能工具nmon
- #x开头的是什么编码呢。浏览器可以解释它。如中国等同与中文中国?
- tftp ubuntu安装
- MySQL事务的读脏
- linux 脚本socket通信,Linux实例:用socket通讯远程执行命令
- 计算机视觉与深度学习 | 基于DNN神经网络实现人的年龄及性别预测(代码类)
- 简历上写CV开源项目,有用吗?
- LeetCode 413. 等差数列划分(DP)
- 计算DataTable某列的值(SUM)
- Struts与MVC分层理解
- arcgis java api,Java中调用ArcGIS Server REST API
- cab文件打包的ActiveX控件(转)
- ctf工具-杂项-foremost
- IT软件资产管理流程梳理介绍
- 1’s Complement和2’s Complement的区别
- 耐克官网一直显示无法连接服务器,nikeapp无法连接服务器是什么原因 nikeapp怎么抢鞋子...
- 毕业设计游戏类网站设计静态页面基于html,div+css+jquery(含源码)
- 怎么清理ug10注册表_最专业的软件卸载利器:不仅可卸载顽固软件,还能清理软件残留和注册表垃圾...
- 【GlobalMapper精品教程】040:tif转jpg:解决ArcGIS中JPEG压缩仅支持8位或16位无符号数据的问题