traveller59 / spconv

Spatial Sparse Convolution Library

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

import spconv.core_cc as _ext ImportError: arg(): could not convert default argument 'workspace: tv::Tensor' in method '<class 'spconv.core_cc.csrc.sparse.convops.gemmops.GemmTunerSimple'>.run_with_tuned_result' into a Python object (type not registered yet?

niranyingluofen opened this issue · comments

Hi SpConv author, thanks for your excellent work!
My spconv version is spconv-cu113 2.3.6. My cuda version is cu11.3
When I test my model but there is always an import error after installing spconv :
Traceback (most recent call last):
File "tools/create_data.py", line 13, in
from det3d.datasets.utils.create_gt_database import create_groundtruth_database
File "/media/wxr/work/lidar_detection/CenterPoint/CenterPoint/Det3D/det3d/datasets/init.py", line 4, in
from .kitti import KittiDataset
File "/media/wxr/work/lidar_detection/CenterPoint/CenterPoint/Det3D/det3d/datasets/kitti/init.py", line 1, in
from .kitti import KittiDataset
File "/media/wxr/work/lidar_detection/CenterPoint/CenterPoint/Det3D/det3d/datasets/kitti/kitti.py", line 7, in
from det3d.core import box_np_ops
File "/media/wxr/work/lidar_detection/CenterPoint/CenterPoint/Det3D/det3d/core/init.py", line 4, in
from .anchor import *
File "/media/wxr/work/lidar_detection/CenterPoint/CenterPoint/Det3D/det3d/core/anchor/init.py", line 1, in
from .anchor_generator import (
File "/media/wxr/work/lidar_detection/CenterPoint/CenterPoint/Det3D/det3d/core/anchor/anchor_generator.py", line 2, in
from det3d.core.bbox import box_np_ops
File "/media/wxr/work/lidar_detection/CenterPoint/CenterPoint/Det3D/det3d/core/bbox/init.py", line 42, in
from . import box_coders, box_np_ops, box_torch_ops, geometry, region_similarity
File "/media/wxr/work/lidar_detection/CenterPoint/CenterPoint/Det3D/det3d/core/bbox/box_coders.py", line 5, in
from . import box_np_ops, box_torch_ops
File "/media/wxr/work/lidar_detection/CenterPoint/CenterPoint/Det3D/det3d/core/bbox/box_np_ops.py", line 9, in
from spconv.utils import rbbox_intersection, rbbox_iou
File "/home/wxr/anaconda3/envs/mmdetection/lib/python3.8/site-packages/spconv/utils/init.py", line 18, in
from spconv.cppconstants import CPU_ONLY_BUILD
File "/home/wxr/anaconda3/envs/mmdetection/lib/python3.8/site-packages/spconv/cppconstants.py", line 15, in
import spconv.core_cc as _ext
ImportError: arg(): could not convert default argument 'workspace: tv::Tensor' in method '<class 'spconv.core_cc.csrc.sparse.convops.gemmops.GemmTunerSimple'>.run_with_tuned_result' into a Python object (type not registered yet?)

I have another question:
Traceback (most recent call last):
File "tools/test.py", line 12, in
from mmdet3d.apis import single_gpu_test
File "/media/wxr/work/work/SST_maybe_ok/SST/mmdet3d/apis/init.py", line 1, in
from .inference import (convert_SyncBN, inference_detector,
File "/media/wxr/work/work/SST_maybe_ok/SST/mmdet3d/apis/inference.py", line 10, in
from mmdet3d.core import (Box3DMode, DepthInstance3DBoxes,
File "/media/wxr/work/work/SST_maybe_ok/SST/mmdet3d/core/init.py", line 2, in
from .bbox import * # noqa: F401, F403
File "/media/wxr/work/work/SST_maybe_ok/SST/mmdet3d/core/bbox/init.py", line 4, in
from .iou_calculators import (AxisAlignedBboxOverlaps3D, BboxOverlaps3D,
File "/media/wxr/work/work/SST_maybe_ok/SST/mmdet3d/core/bbox/iou_calculators/init.py", line 1, in
from .iou3d_calculator import (AxisAlignedBboxOverlaps3D, BboxOverlaps3D,
File "/media/wxr/work/work/SST_maybe_ok/SST/mmdet3d/core/bbox/iou_calculators/iou3d_calculator.py", line 5, in
from ..structures import get_box_type
File "/media/wxr/work/work/SST_maybe_ok/SST/mmdet3d/core/bbox/structures/init.py", line 1, in
from .base_box3d import BaseInstance3DBoxes
File "/media/wxr/work/work/SST_maybe_ok/SST/mmdet3d/core/bbox/structures/base_box3d.py", line 5, in
from mmdet3d.ops.iou3d import iou3d_cuda
File "/media/wxr/work/work/SST_maybe_ok/SST/mmdet3d/ops/init.py", line 21, in
from .sparse_block import (SparseBasicBlock, SparseBottleneck,
File "/media/wxr/work/work/SST_maybe_ok/SST/mmdet3d/ops/sparse_block.py", line 7, in
from spconv.pytorch import SparseModule, SparseSequential
File "/home/wxr/anaconda3/envs/mmdetection/lib/python3.8/site-packages/spconv/pytorch/init.py", line 7, in
from spconv.pytorch.core import SparseConvTensor
File "/home/wxr/anaconda3/envs/mmdetection/lib/python3.8/site-packages/spconv/pytorch/core.py", line 21, in
from spconv.tools import CUDAKernelTimer
File "/home/wxr/anaconda3/envs/mmdetection/lib/python3.8/site-packages/spconv/tools.py", line 16, in
from spconv.cppconstants import CPU_ONLY_BUILD
File "/home/wxr/anaconda3/envs/mmdetection/lib/python3.8/site-packages/spconv/cppconstants.py", line 15, in
import spconv.core_cc as _ext
ImportError: generic_type: cannot initialize type "ExternalAllocator": an object with that name is already defined

嗨,SpConv作者,感谢您的出色工作!我的spconv版本是spconv-cu113 2.3.6。我的 cuda 版本是 cu11.3 当我测试我的模型时,但安装 spconv 后总是出现导入错误: 回溯(最近一次调用):文件“tools/create_data.py”,第 13 行,从 det3d.datasets.utils.create_gt_database 导入 create_groundtruth_database 文件“/media/wxr/work/lidar_detection/CenterPoint/CenterPoint/Det3D/det3d/datasets/init.py”,第 4 行,从 .kitti 导入 KittiDataset文件“/media/wxr/work/lidar_detection/CenterPoint/CenterPoint/Det3D/det3d/datasets/kitti/init.py”,第 1 行,从 .kitti 导入 KittiDataset 文件“/media/wxr/work/lidar_detection/CenterPoint/CenterPoint/Det3D/det3d/datasets/kitti/kitti.py”,第 7 行,从 det3d.core 导入 box_np_ops 文件“/media/wxr/work/lidar_detection/CenterPoint/CenterPoint/Det3D/det3d/core/init.py”, 第 4 行,从 .anchor 导入 * 文件“/media/wxr/work/lidar_detection/CenterPoint/CenterPoint/Det3D/det3d/core/anchor/init.py”,第 1 行,从 .anchor_generator 导入(文件“/media/wxr/work/lidar_detection/CenterPoint/CenterPoint/Det3D/det3d/core/anchor/anchor_generator.py”,第 2 行,从 det3d.core.bbox 导入box_np_ops文件“/media/wxr/work/lidar_detection/CenterPoint/CenterPoint/Det3D/det3d/core/bbox/init.py”,第 42 行,从 。import box_coders, box_np_ops, box_torch_ops, geometry, region_similarity File “/media/wxr/work/lidar_detection/CenterPoint/CenterPoint/Det3D/det3d/core/bbox/box_coders.py”, 第 5 行, in from .import box_np_ops,box_torch_ops文件“/media/wxr/work/lidar_detection/CenterPoint/CenterPoint/Det3D/det3d/core/bbox/box_np_ops.py”,第 9 行,来自 spconv.utils 导入rbbox_intersection,rbbox_iou文件“/home/wxr/anaconda3/envs/mmdetection/lib/python3.8/site-packages/spconv/utils/init.py”,第 18 行,来自 spconv.cppconstants 导入CPU_ONLY_BUILD导入spconv.core_cc中的文件“/home/wxr/anaconda3/envs/mmdetection/lib/python3.8/site-packages/spconv/cppconstants.py”,第 15 行,_ext ImportError:arg():无法将方法“<类”spconv.core_cc.csrc.sparse.convops.gemmops.GemmTunerSimple“>.run_with_tuned_result”中的默认参数“workspace: tv::Tensor”转换为 Python 对象(类型尚未注册?
I have the same problem, how did you solve it?thanks!

I have another question: Traceback (most recent call last): File "tools/test.py", line 12, in from mmdet3d.apis import single_gpu_test File "/media/wxr/work/work/SST_maybe_ok/SST/mmdet3d/apis/init.py", line 1, in from .inference import (convert_SyncBN, inference_detector, File "/media/wxr/work/work/SST_maybe_ok/SST/mmdet3d/apis/inference.py", line 10, in from mmdet3d.core import (Box3DMode, DepthInstance3DBoxes, File "/media/wxr/work/work/SST_maybe_ok/SST/mmdet3d/core/init.py", line 2, in from .bbox import * # noqa: F401, F403 File "/media/wxr/work/work/SST_maybe_ok/SST/mmdet3d/core/bbox/init.py", line 4, in from .iou_calculators import (AxisAlignedBboxOverlaps3D, BboxOverlaps3D, File "/media/wxr/work/work/SST_maybe_ok/SST/mmdet3d/core/bbox/iou_calculators/init.py", line 1, in from .iou3d_calculator import (AxisAlignedBboxOverlaps3D, BboxOverlaps3D, File "/media/wxr/work/work/SST_maybe_ok/SST/mmdet3d/core/bbox/iou_calculators/iou3d_calculator.py", line 5, in from ..structures import get_box_type File "/media/wxr/work/work/SST_maybe_ok/SST/mmdet3d/core/bbox/structures/init.py", line 1, in from .base_box3d import BaseInstance3DBoxes File "/media/wxr/work/work/SST_maybe_ok/SST/mmdet3d/core/bbox/structures/base_box3d.py", line 5, in from mmdet3d.ops.iou3d import iou3d_cuda File "/media/wxr/work/work/SST_maybe_ok/SST/mmdet3d/ops/init.py", line 21, in from .sparse_block import (SparseBasicBlock, SparseBottleneck, File "/media/wxr/work/work/SST_maybe_ok/SST/mmdet3d/ops/sparse_block.py", line 7, in from spconv.pytorch import SparseModule, SparseSequential File "/home/wxr/anaconda3/envs/mmdetection/lib/python3.8/site-packages/spconv/pytorch/init.py", line 7, in from spconv.pytorch.core import SparseConvTensor File "/home/wxr/anaconda3/envs/mmdetection/lib/python3.8/site-packages/spconv/pytorch/core.py", line 21, in from spconv.tools import CUDAKernelTimer File "/home/wxr/anaconda3/envs/mmdetection/lib/python3.8/site-packages/spconv/tools.py", line 16, in from spconv.cppconstants import CPU_ONLY_BUILD File "/home/wxr/anaconda3/envs/mmdetection/lib/python3.8/site-packages/spconv/cppconstants.py", line 15, in import spconv.core_cc as _ext ImportError: generic_type: cannot initialize type "ExternalAllocator": an object with that name is already defined

Have you solved the problem? I had the same problem

Perhaps everyone can try this. My environment is ubuntu20.04 and cuda is 11.4. Although I tried many methods but found them ineffective, I successfully solved the above problem through pip install spconv-cu102. I hope it is helpful to everyone.😄