mmdetection3d的安装和使用

MMdetection3D安装步骤

  • 创建环境,并激活

    • conda create -n open-mmlab python=3.7 -y
      # 激活
      conda activate open-mmlab
      
  • 安装pytorch

    • conda install pytorch torchvision cudatoolkit=10.1 -c pytorch
      
    • pip install torch==1.5.0+cu101 torchvision==0.6.0+cu101 -f https://download.pytorch.org/whl/torch_stable.html
      # 此时的numpy版本是1.21.0,降低版本
      pip uninstall numpy
      pip install numpy==1.18.0
      
  • 安装MMCV

    • pip install mmcv-full==1.3.1
      
  • 安装MMDetection

    • pip install mmdet==2.11
      
  • 安装importlib-metadata

    • 
      

    mmdetecion3d要求版本<4.0.0,但是MMSegmentation版本附带版本是4.0+,所以单独安装。

    pip install importlib-metadata==3.9.0

    
    - 
    
  • 安装MMSegmentation

    • pip install mmsegmentation==0.14
      
  • 复制MMDetetion3D仓库,并编译

    • git clone https://github.com/open-mmlab/mmdetection3d.git
      cd mmdetection3d
      
    • pip install -v -e .  # or "python setup.py develop"
      
  • 如果重新安装MMDetetion3D时,则需要

    • pip uninstall mmdet3d
      rm -rf ./build
      find . -name "*.so" | xargs rm
      

验证

python demo/pcd_demo.py demo/data/kitti/kitti_000008.bin configs/second/hv_second_secfpn_6x8_80e_kitti-3d-car.py checkpoints/hv_second_secfpn_6x8_80e_kitti-3d-car_20200620_230238-393f000c.pth --device 0

已经训练好的模型地址:model_zoo

问题1:

g++ error cuda_runtime_api.h: No such file or directory

没有搜索到cuda。

解决:

查看~/.bashrc文件,更改cuda的路径。将原有的路径

# 原有路径
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda
#更改后路径
export CUDA_HOME=/usr/local/cuda

问题2:

/usr/include/c++/7/bits/basic_string.tcc:1067:16: error: cannot call member function ‘void std::basi

__p->_M_set_sharable();

解决:

查找所对应的文件/usr/include/c++/7/bits/basic_string.tcc,通过快捷键搜索到__p->_M_set_sharable()

将其更改为(*__p)._M_set_sharable(),间接引用改为直接引用。

# 原代码
__p->_M_set_sharable();
# 更改后的代码
(*__p)._M_set_sharable();

问题3:

ImportError: libGL.so.1: cannot open shared object file: No such file or directory

解决:

$ sudo apt update
$ sudo apt install libgl1-mesa-glx

问题4:

error: importlib-metadata 4.5.0 is installed but importlib-metadata<4 is required by {'ipykernel'}

更换版本:

问题5:

ImportError: /home/jiangcm/anaconda3/envs/open-mmlab/lib/python3.7/site-packages/mmcv/_ext.cpython-37m-x86_64-linux-gnu.so: undefined symbol: _Z13__THCudaCheck9cudaErrorPKci

安装slurm

单机安装教程:https://cndaqiang.github.io/2020/02/24/slurm/

数据生成

运行模型

代码:

cd xxx/mmdetection3d
# Train with multiple GPUs
./tools/dist_train.sh ${CONFIG_FILE} ${GPU_NUM} [optional arguments]
./tools/dist_train.sh configs/3dssd/3dssd_4x4_kitti-3d-car.py 4

问题1

TypeError: expected dtype object, got 'numpy.dtype[float64]'
pip install numpy==1.19.2
pip install pycocotools==2.0.0

问题2

ImportError: Cannot load backend 'TkAgg' which requires the 'tk' interactive framework, as 'headless' is currently running:

解决思路:

查找所有文件,在from matplotlib import pyplot as plt之前加入TKAgg

# 第一步
import matplotlib
matplotlib.use('TKAgg')
# 第二步
from matplotlib import pyplot as plt

问题3:

ImportError: /home/jiangcm/anaconda3/envs/open-mmlab/lib/python3.7/site-packages/mmcv/_ext.cpython-37m-x86_64-linux-gnu.so: undefined symbol: _Z13__THCudaCheck9cudaErrorPKci

pytorch/torchvision与mvcc-full发生冲突,升级pytorch版本。

你可能感兴趣的:(pytorch,目标检测,mmdetecion3d)