pvrcnn

问题一

/opt/anaconda3/envs/pcdet/bin/python3.7: No module named pytest tests/CMakeFiles/pytest.dir/build.make:73: recipe for target 'tests/CMakeFiles/pytest' failed make[3]: *** [tests/CMakeFiles/pytest] Error 1 CMakeFiles/Makefile2:352: recipe for target 'tests/CMakeFiles/pytest.dir/all' failed make[2]: *** [tests/CMakeFiles/pytest.dir/all] Error 2 CMakeFiles/Makefile2:415: recipe for target 'tests/CMakeFiles/check.dir/rule' failed make[1]: *** [tests/CMakeFiles/check.dir/rule] Error 2 Makefile:261: recipe for target 'check' failed make: *** [check] Error 2

你的错误日志显示你的Python环境中缺少 pytest模块,这是导致构建失败的直接原因。你可以通过以下命令来安装 pytest

 

bashCopy code

pip install pytest

然后,你还需要注意其他几点可能的错误:

  1. 如果你在一个Python虚拟环境中工作,并且在开始工作之前已经激活了这个环境,那么你应该确保 pytest 是在这个虚拟环境中安装的。你可以用 which python 查看你当前正在使用哪个Python解释器。

  2. 如果你正在尝试构建一个C++项目,并且这个项目的一部分是Python扩展,那么 Makefile 所使用的Python解释器应该和你安装 pytest 的Python解释器是同一个。

  3. 确保Python解释器的路径正确。在你的错误信息中,Python解释器的路径是 /opt/anaconda3/envs/pcdet/bin/python3.7。你可以通过在命令行运行这个路径来确保它可以正确的启动Python解释器。

进行上述操作之后,你应该可以解决问题并成功的运行 make check 命令了

Traceback (most recent call last):
  File "/opt/anaconda3/envs/lppcdet/lib/python3.9/runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/opt/anaconda3/envs/lppcdet/lib/python3.9/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/home/OpenPCDet/pcdet/datasets/kitti/kitti_dataset.py", line 479, in <module>
    create_kitti_infos(
  File "/home/OpenPCDet/pcdet/datasets/kitti/kitti_dataset.py", line 459, in create_kitti_infos
    kitti_infos_test = dataset.get_infos(num_workers=workers, has_label=False, count_inside_pts=False)
  File "/home/OpenPCDet/pcdet/datasets/kitti/kitti_dataset.py", line 222, in get_infos
    return list(infos)
  File "/opt/anaconda3/envs/lppcdet/lib/python3.9/concurrent/futures/_base.py", line 609, in result_iterator
    yield fs.pop().result()
  File "/opt/anaconda3/envs/lppcdet/lib/python3.9/concurrent/futures/_base.py", line 439, in result
    return self.__get_result()
  File "/opt/anaconda3/envs/lppcdet/lib/python3.9/concurrent/futures/_base.py", line 391, in __get_result
    raise self._exception
  File "/opt/anaconda3/envs/lppcdet/lib/python3.9/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/home/OpenPCDet/pcdet/datasets/kitti/kitti_dataset.py", line 159, in process_single_scene
    image_info = {'image_idx': sample_idx, 'image_shape': self.get_image_shape(sample_idx)}
  File "/home/OpenPCDet/pcdet/datasets/kitti/kitti_dataset.py", line 85, in get_image_shape
    assert img_file.exists()
AssertionError
 

AttributeError: module 'spconv' has no attribute 'SparseModule'
 

ModuleNotFoundError: No module named 'spconv.core_cc'
 

cuda10.2可以成功安装对应的pytorch

pip install torch==1.12.1+cu102 torchvision==0.13.1+cu102 torchaudio==0.12.1 --extra-index-url https://download.pytorch.org/whl/cu102

安装spconv

pip install spconv-cu102

安装完成后import spconv.pytorch as spconv看是否安装成功

ModuleNotFoundError: No module named 'cv2'

pip install opencv-python

ModuleNotFoundError: No module named 'av2'

pip install av2

问题二

 KORNIA与torch 版本

解决:pip install kornia==0.5.8

KORNIA 0.58对应torch 1.7
以上对应1.8
可以多下载几个多次安装,直到支持。

问题三:

【已解决】ModuleNotFoundError: No module named sklearn_modulenotfounderror: no module named 'sklearn-CSDN博客

问题四:创建和删除超链接

rm  /你想删除的超链接路径

ln -s /path/to/original /path/to/link

问题五:GPU训练

        单GPU训练

        CUDA_VISIBLE_DEVICES=0 python train.py --cfg_file cfgs/kitti_models/pv_rcnn.yaml
        多GPU训练

        CUDA_VISIBLE_DEVICES=4,5,6,7 python -m torch.distributed.launch --nproc_per_node=4         train.py --cfg_file cfgs/kitti_models/pv_rcnn.yaml --launcher pytorch

问题六:训练之前的数据处理

0、原版文件

git clone https://github.com/open-mmlab/OpenPCDet.git

1、安装

python setup.py develop

2、数据预处理

python -m pcdet.datasets.kitti.kitti_dataset create_kitti_infos tools/cfgs/dataset_configs/kitti_dataset.yaml

3、开始训练

python train.py --cfg_file ./cfgs/kitti_models/pv_rcnn.yaml  --batch_size 1 --epochs 50

问题七:AttributeError: module 'spconv' has no attribute 'SparseModule'

打开 OpenPCDet/pcdet/models/backbones_3d/spconv_backbone.py
更改如下

问题八:ModuleNotFoundError: No module named 'thop'

pip install --upgrade git+https://github.com/Lyken17/pytorch-OpCounter.git

问题九:AttributeError: module 'pcdet.ops.pointnet2.pointnet2_stack.pointnet2_modules' has no attribute 'build_local_aggregation_module'

在ops.pointnet2.pointnet2_stack.pointnet2_modules文件里面添加

def build_local_aggregation_module(input_channels, config):
    local_aggregation_name = config.get('NAME', 'StackSAModuleMSG')

    if local_aggregation_name == 'StackSAModuleMSG':
        mlps = config.MLPS
        for k in range(len(mlps)):
            mlps[k] = [input_channels] + mlps[k]
        cur_layer = StackSAModuleMSG(
            radii=config.POOL_RADIUS, nsamples=config.NSAMPLE, mlps=mlps, use_xyz=True, pool_method='max_pool',
        )
        num_c_out = sum([x[-1] for x in mlps])
    # elif local_aggregation_name == 'VectorPoolAggregationModuleMSG':
    #     cur_layer = VectorPoolAggregationModuleMSG(input_channels=input_channels, config=config)
    #     num_c_out = config.MSG_POST_MLPS[-1]
    else:
        raise NotImplementedError

    return cur_layer, num_c_out

问题十:报错


Traceback (most recent call last):
  File "/media/ubuntu/F/lp/F盘原版程序/SA-Det3D-main/OpenPCDet/tools/train.py", line 230, in <module>
    main()
  File "/media/ubuntu/F/lp/F盘原版程序/SA-Det3D-main/OpenPCDet/tools/train.py", line 175, in main
    train_model(
  File "/media/ubuntu/F/lp/F盘原版程序/SA-Det3D-main/OpenPCDet/tools/train_utils/train_utils.py", line 180, in train_model
    accumulated_iter = train_one_epoch(
  File "/media/ubuntu/F/lp/F盘原版程序/SA-Det3D-main/OpenPCDet/tools/train_utils/train_utils.py", line 33, in train_one_epoch
    batch = next(dataloader_iter)
  File "/home/ubuntu/anaconda3/envs/pcdet/lib/python3.9/site-packages/torch/utils/data/dataloader.py", line 517, in __next__
    data = self._next_data()
  File "/home/ubuntu/anaconda3/envs/pcdet/lib/python3.9/site-packages/torch/utils/data/dataloader.py", line 1182, in _next_data
    idx, data = self._get_data()
  File "/home/ubuntu/anaconda3/envs/pcdet/lib/python3.9/site-packages/torch/utils/data/dataloader.py", line 1138, in _get_data
    success, data = self._try_get_data()
  File "/home/ubuntu/anaconda3/envs/pcdet/lib/python3.9/site-packages/torch/utils/data/dataloader.py", line 986, in _try_get_data
    data = self._data_queue.get(timeout=timeout)
KeyboardInterrupt
epochs:   0%|          | 0/50 [00:00<?, ?it/s]
Traceback (most recent call last):
  File "/media/ubuntu/F/lp/F盘原版程序/SA-Det3D-main/OpenPCDet/tools/train.py", line 230, in <module>
    main()
  File "/media/ubuntu/F/lp/F盘原版程序/SA-Det3D-main/OpenPCDet/tools/train.py", line 175, in main
    train_model(
  File "/media/ubuntu/F/lp/F盘原版程序/SA-Det3D-main/OpenPCDet/tools/train_utils/train_utils.py", line 180, in train_model
    accumulated_iter = train_one_epoch(
  File "/media/ubuntu/F/lp/F盘原版程序/SA-Det3D-main/OpenPCDet/tools/train_utils/train_utils.py", line 16, in train_one_epoch
    dataloader_iter = iter(train_loader)
  File "/home/ubuntu/anaconda3/envs/pcdet/lib/python3.9/site-packages/torch/utils/data/dataloader.py", line 355, in __iter__
    return self._get_iterator()
  File "/home/ubuntu/anaconda3/envs/pcdet/lib/python3.9/site-packages/torch/utils/data/dataloader.py", line 301, in _get_iterator
    return _MultiProcessingDataLoaderIter(self)
  File "/home/ubuntu/anaconda3/envs/pcdet/lib/python3.9/site-packages/torch/utils/data/dataloader.py", line 914, in __init__
    w.start()
  File "/home/ubuntu/anaconda3/envs/pcdet/lib/python3.9/multiprocessing/process.py", line 121, in start
    self._popen = self._Popen(self)
  File "/home/ubuntu/anaconda3/envs/pcdet/lib/python3.9/multiprocessing/context.py", line 224, in _Popen
    return _default_context.get_context().Process._Popen(process_obj)
  File "/home/ubuntu/anaconda3/envs/pcdet/lib/python3.9/multiprocessing/context.py", line 277, in _Popen
    return Popen(process_obj)
  File "/home/ubuntu/anaconda3/envs/pcdet/lib/python3.9/multiprocessing/popen_fork.py", line 19, in __init__
    self._launch(process_obj)
  File "/home/ubuntu/anaconda3/envs/pcdet/lib/python3.9/multiprocessing/popen_fork.py", line 66, in _launch
    self.pid = os.fork()
KeyboardInterrupt
Error in atexit._run_exitfuncs:
Traceback (most recent call last):
  File "/home/ubuntu/anaconda3/envs/pcdet/lib/python3.9/multiprocessing/util.py", line 357, in _exit_function
    p.join()
  File "/home/ubuntu/anaconda3/envs/pcdet/lib/python3.9/multiprocessing/process.py", line 147, in join
    assert self._parent_pid == os.getpid(), 'can only join a child process'
AssertionError: can only join a child process
Error in atexit._run_exitfuncs:
Traceback (most recent call last):
  File "/home/ubuntu/anaconda3/envs/pcdet/lib/python3.9/multiprocessing/popen_fork.py", line 27, in poll
    pid, sts = os.waitpid(self.pid, flag)
  File "/home/ubuntu/anaconda3/envs/pcdet/lib/python3.9/site-packages/torch/utils/data/_utils/signal_handling.py", line 66, in handler
    _error_if_any_worker_fails()
RuntimeError: DataLoader worker (pid 19370) is killed by signal: Terminated. 

                                               Exception ignored in: <Finalize object, dead>
Traceback (most recent call last):
  File "/home/ubuntu/anaconda3/envs/pcdet/lib/python3.9/multiprocessing/util.py", line 224, in __call__
  File "/home/ubuntu/anaconda3/envs/pcdet/lib/python3.9/multiprocessing/queues.py", line 196, in _finalize_join
TypeError: 'NoneType' object is not callable

解决: parser.add_argument('--workers', type=int, default=4, help='number of workers for dataloader')这句话中的default=4改成default=0

就能解决

问题:安装TED时候报错

问题:  1、ModuleNotFoundError: No module named 'skimage'

               2、ModuleNotFoundError: No module named 'prefetch_generator'

解决:1、pip install scikit-image

               2、pip install prefetch_generator

问题:'BatchNorm2d' object has no attribute 'total_ops'

解决:换一个total_ops版本比如total_ops==1

问题:备份的代码总是调用源代码,这时候需要重新跑一下python setup.py develop就好了

  • 22
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值