1、/content/PCDet/pcdet/ops/roiaware_pool3d/roiaware_pool3d_cuda.cpython-36m-x86_64-linux-gnu.so: undefined symbol: _ZN2at19UndefinedTensorImpl10_singletonE
具体错误:
Traceback (most recent call last):
File "train.py", line 7, in <module>
from pcdet.datasets import build_dataloader
File "/content/PCDet/pcdet/datasets/init.py", line 6, in <module>
from .dataset import DatasetTemplate
File "/content/PCDet/pcdet/datasets/dataset.py", line 4, in <module>
from ..utils import box_utils, common_utils
File "/content/PCDet/pcdet/utils/box_utils.py", line 5, in <module>
from ..ops.roiaware_pool3d import roiaware_pool3d_utils
File "/content/PCDet/pcdet/ops/roiaware_pool3d/roiaware_pool3d_utils.py", line 4, in <module>
from . import roiaware_pool3d_cuda
ImportError: /content/PCDet/pcdet/ops/roiaware_pool3d/roiaware_pool3d_cuda.cpython-36m-x86_64-linux-gnu.so: undefined symbol: _ZN2at19UndefinedTensorImpl10_singletonE
解决思路:cuda、torch、torchvision版本不对应。
作者对这个问题的回答:
Please make sure to buid pcdet with CUDA 9.0. You could remove the build folder and try to rebuild pcdet with CUDA 9.0.
2、AttributeError: module 'torch.nn' has no attribute 'SyncBatchNorm'
具体错误:
Traceback (most recent call last):
File "train.py", line 9, in <module>
from train_utils.optimization import build_optimizer, build_scheduler
File "/content/PCDet/tools/train_utils/optimization/init.py", line 5, in <module>
from .fastai_optim import OptimWrapper
File "/content/PCDet/tools/train_utils/optimization/fastai_optim.py", line 10, in <module>
bn_types = (nn.BatchNorm1d, nn.BatchNorm2d, nn.BatchNorm3d, nn.SyncBatchNorm)
AttributeError: module 'torch.nn' has no attribute 'SyncBatchNorm'
解决思路:torch 版本 1.1.0才可以, 此错误是在 1.0.0中出现的。
3、"/usr/local/cuda/bin/nvcc" is not able to compile a simple test program
具体错误:
The CUDA compiler
"/usr/local/cuda/bin/nvcc"
is not able to compile a simple test program
解决思路:CUDA安装时得加上 g++和g--,版本要和CUDA匹配。CUDA 9.0 对应的版本为:gcc-5 g++-5。
4、其他的错误
PCDet 的作者还对其他问题做了答复,可以在:https://www.gitmemory.com/sshaoshuai 查阅。