需要安装的工具
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
安装pytorch
torch | 1.9.1 |
---|---|
torchaudio | 0.9.1 |
torchvision | 0.10.1 |
cudatoolkit | 11.1 |
conda create -n Openpcdet python=3.8
conda activate Openpcdet
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离线下载网址
选择你的离线包
注意(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对应关系
python
import torch as t
device = t.device('cuda' if t.cuda.is_available() else 'cpu')
print(device)
如果不是cuda请检查pytorch是否安装为cpu版本(检查很重要!!!!)
pip install spconv-cu111 #我的cuda是11.1,根据cuda版本来选择spconv版本
注意:不添加清华园会导致下载失败
亲 使用pip install spconv-cu111 -i https://pypi.tuna.tsinghua.edu.cn/simple
查看版本
cmake --version
没有的话
pip install Cmake
import spconv.pytorch as spconv
我保存的位置是在我创建的环境中的
(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.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说明安装成功
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软件,大家可以参考。
在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 main
model.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_file
raise 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
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 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
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