【问题解决】ImportError: generic_type: cannot initialize type “ExternalAllocator“

news2025/3/17 4:08:15

一、问题描述

我的环境是Ubuntu20.04,Cuda版本是11.4,在复现OpenPCDet的时候遇到了下面问题:

Traceback (most recent call last):
  File "train.py", line 7, in <module>
    from test import repeat_eval_ckpt
  File "/mnt/2206b677-3750-478c-b7c0-489c4f8ede41/cjy/OpenPCDet/tools/test.py", line 14, in <module>
    from eval_utils import eval_utils
  File "/mnt/2206b677-3750-478c-b7c0-489c4f8ede41/cjy/OpenPCDet/tools/eval_utils/eval_utils.py", line 8, in <module>
    from pcdet.models import load_data_to_gpu
  File "/mnt/2206b677-3750-478c-b7c0-489c4f8ede41/cjy/OpenPCDet/tools/../pcdet/models/__init__.py", line 6, in <module>
    from .detectors import build_detector
  File "/mnt/2206b677-3750-478c-b7c0-489c4f8ede41/cjy/OpenPCDet/tools/../pcdet/models/detectors/__init__.py", line 1, in <module>
    from .detector3d_template import Detector3DTemplate
  File "/mnt/2206b677-3750-478c-b7c0-489c4f8ede41/cjy/OpenPCDet/tools/../pcdet/models/detectors/detector3d_template.py", line 8, in <module>
    from .. import backbones_2d, backbones_3d, dense_heads, roi_heads
  File "/mnt/2206b677-3750-478c-b7c0-489c4f8ede41/cjy/OpenPCDet/tools/../pcdet/models/backbones_3d/__init__.py", line 2, in <module>
    from .spconv_backbone import VoxelBackBone8x, VoxelResBackBone8x
  File "/mnt/2206b677-3750-478c-b7c0-489c4f8ede41/cjy/OpenPCDet/tools/../pcdet/models/backbones_3d/spconv_backbone.py", line 6, in <module>
    import spconv.pytorch as spconv
  File "/home/user/anaconda3/envs/openmmlab/lib/python3.8/site-packages/spconv/pytorch/__init__.py", line 7, in <module>
    from spconv.pytorch.core import SparseConvTensor
  File "/home/user/anaconda3/envs/openmmlab/lib/python3.8/site-packages/spconv/pytorch/core.py", line 21, in <module>
    from spconv.tools import CUDAKernelTimer
  File "/home/user/anaconda3/envs/openmmlab/lib/python3.8/site-packages/spconv/tools.py", line 16, in <module>
    from spconv.cppconstants import CPU_ONLY_BUILD
  File "/home/user/anaconda3/envs/openmmlab/lib/python3.8/site-packages/spconv/cppconstants.py", line 15, in <module>
    import spconv.core_cc as _ext
ImportError: generic_type: cannot initialize type "ExternalAllocator": an object with that name is already defined

其中,最关键的是ImportError: generic_type: cannot initialize type "ExternalAllocator": an object with that name is already defined

二、问题解决

pip uninstall spconv-cu114

如果不知道自己安装的哪个版本,可以通过:

pip list | grep spconv

获得:

然后安装:

pip install spconv-cu102

不过还可能遇到AttributeError: module 'spconv' has no attribute 'SparseModule'

Traceback (most recent call last):
  File "train.py", line 7, in <module>
    from test import repeat_eval_ckpt
  File "/mnt/2206b677-3750-478c-b7c0-489c4f8ede41/cjy/OpenPCDet/tools/test.py", line 14, in <module>
    from eval_utils import eval_utils
  File "/mnt/2206b677-3750-478c-b7c0-489c4f8ede41/cjy/OpenPCDet/tools/eval_utils/eval_utils.py", line 8, in <module>
    from pcdet.models import load_data_to_gpu
  File "/mnt/2206b677-3750-478c-b7c0-489c4f8ede41/cjy/OpenPCDet/tools/../pcdet/models/__init__.py", line 6, in <module>
    from .detectors import build_detector
  File "/mnt/2206b677-3750-478c-b7c0-489c4f8ede41/cjy/OpenPCDet/tools/../pcdet/models/detectors/__init__.py", line 1, in <module>
    from .detector3d_template import Detector3DTemplate
  File "/mnt/2206b677-3750-478c-b7c0-489c4f8ede41/cjy/OpenPCDet/tools/../pcdet/models/detectors/detector3d_template.py", line 8, in <module>
    from .. import backbones_2d, backbones_3d, dense_heads, roi_heads
  File "/mnt/2206b677-3750-478c-b7c0-489c4f8ede41/cjy/OpenPCDet/tools/../pcdet/models/backbones_3d/__init__.py", line 2, in <module>
    from .spconv_backbone import VoxelBackBone8x, VoxelResBackBone8x
  File "/mnt/2206b677-3750-478c-b7c0-489c4f8ede41/cjy/OpenPCDet/tools/../pcdet/models/backbones_3d/spconv_backbone.py", line 31, in <module>
    class SparseBasicBlock(spconv.SparseModule):
AttributeError: module 'spconv' has no attribute 'SparseModule'

只要将pcdet/models/backbones_3d/spconv_backbone.py中

import spconv

修改为:

import spconv.pytorch as spconv

就可以正常运行了!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1694799.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Scala的简单学习一

一 相关知识 1.1 scala的安装 1.在idea中导入依赖&#xff0c;并在Idea下载scala插件 1.2 scala基础知识点 1.scala代码中一行语句的结束是以换行符为标准&#xff0c;可以不用写分号 2.class是一个普通的类&#xff0c;object相当于一个单例对象&#xff0c;object类中的…

git分支策略(github-flow VS git flow,如何选择)

一. 结论 Github flow&#xff1a;最简单 小型项目&#xff0c;持续部署&#xff0c;自动化测试程度高&#xff0c;发布流程简单 Git flow&#xff1a;复杂但最常用 大型项目&#xff0c;发布周期长&#xff0c;需要同时维护多个版本&#xff0c;发布流程复杂 表格提供了不…

36PE启动盘新秀:Ventoy(附各种PE的ISO下载)

PE启动盘新秀:Ventoy(附各种PE的ISO下载) 在我们以前的认知中,一个U盘只能制作包含一个系统的启动盘.比如,安装了微PE工具箱的U盘就不能安装其他什么PE工具箱了.这有时候让我们很无奈,只能买好多U盘,一个U盘一个PE系统. 这个问题的本质是什么?事实上,笔者认为,就是单个的ISO文…

Andoird使用Room实现持久化及使用Room进行增删查改

文章目录 Room概述Room的使用一、在gradle.build中添加依赖库kotlinJava 创建实体类创建抽象Dao层接口创建DataBase层使用创建的查看数据库 总结&#xff1a; 这篇文章会告诉你如何在Android中通过kotlin或者Java来实现数据持久化 Room概述 处理大量结构化数据的应用可极大地受…

2024年【N1叉车司机】考试题及N1叉车司机找解析

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 N1叉车司机考试题参考答案及N1叉车司机考试试题解析是安全生产模拟考试一点通题库老师及N1叉车司机操作证已考过的学员汇总&#xff0c;相对有效帮助N1叉车司机找解析学员顺利通过考试。 1、【多选题】《特种设备使用…

FreeRTOS 源码概述

FreeRTOS 目录结构 使用 STM32CubeMX 创建的 FreeRTOS 工程中&#xff0c;FreeRTOS 相关的源码如下: 主要涉及2个目录&#xff1a; Core Inc 目录下的 FreeRTOSConfig.h 是配置文件 Src 目录下的 freertos.c 是 STM32CubeMX 创建的默认任务 Middlewares\Third_Party…

深入解析编程逻辑中的关键字与逻辑运算

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、认识关键字及其重要性 二、逻辑运算的关键字 1. and、or 和 not 的运用 2. 逻辑运算的…

42-3 应急响应之服务排查

一、服务排查 服务是后台运行的进程,可在计算机启动时自动启动,也可暂停和重新启动,且不显示用户界面。它们特别适用于长时间运行的功能,以避免影响其他用户在同一台计算机上的工作。在应急响应中,服务常被恶意软件用作驻留方法。 二、Windows服务排查 打开【运行】对话框…

【独家揭秘!玩转ChatGPT?一文带你解锁秘籍!】

&#x1f680;【独家揭秘&#xff01;玩转ChatGPT&#xff1f;一文带你解锁秘籍&#xff01;】&#x1f680; &#x1f449; 【直达ChatGPT体验站】 ChatGPT&#xff0c;全称“Chat Generative Pre-trained Transformer”&#xff0c;是人工智能研究实验室OpenAI于2022年底推出…

9.2 Go语言入门(包和导入)

Go语言入门&#xff08;包和导入&#xff09; 目录一、包和导入1. 包&#xff08;Package&#xff09;1.1 包的定义1.2 包的作用1.3 main 包1.4 非 main 包 2. 导入&#xff08;Import&#xff09;2.1 导入标准库2.2 导入第三方包2.3 导入本地包2.4 导入别名2.5 导入并调用初始…

第四课 communcation服务-can配置第二弹

Davinci配置目标: 介绍DBC基本属性,并且配置出一个DBC。 将DBC导入到vector的davinci工具,生成我们想要的代码。 Davinci配置步骤: 1. 编辑DBC文件 DBC文件是一种非常重要的工具,所谓DBC就是Database CAN,CAN网络的数据库文件,定义了CAN网络的节点、消息、信号的所有…

查看远程桌面连接登录不上服务器,远程桌面连接登录不上服务器是什么情况?怎么解决?

在信息技术领域&#xff0c;远程桌面连接&#xff08;RDP&#xff09;是一种重要的远程管理工具&#xff0c;它允许管理员或用户从远程位置访问和控制服务器或计算机。然而&#xff0c;在实际操作中&#xff0c;远程桌面连接不上服务器的情况时有发生&#xff0c;这通常是由多种…

Redis 完整

Redis 什么是 redis ? 是一种基于键值对的 NoSql 型数据库。与 hashMap 不同的是&#xff0c;Redis 中的 value 支持 string&#xff08;字符串&#xff09;、hash&#xff08;哈希&#xff09;、 list&#xff08;列表&#xff09;、set&#xff08;集合&#xff09;、zset…

Kafka(十三)监控与告警

目录 Kafka监控与告警1 解决方案1.2 基础知识JMX监控指标代理查看KafkaJMX远程端口 1.3 真实案例Kafka Exporter:PromethusPromethus Alert ManagerGrafana 1.3 实际操作部署监控和告警系统1.2.1 部署Kafka Exporter1.2.2 部署Prometheus1.2.3 部署AlertManger1.2.4 添加告警规…

3D透视图转的时候模型闪动怎么解决?---模大狮模型网

在3D建模与渲染的世界中&#xff0c;透视图是我们观察和操作模型的重要窗口。然而&#xff0c;有时候在旋转透视图时&#xff0c;模型会出现闪动的现象&#xff0c;这不仅影响了我们的工作效率&#xff0c;还可能对最终的渲染效果产生负面影响。本文将探讨这一问题的成因&#…

【Text2SQL 经典模型】HydraNet

论文&#xff1a;Hybrid Ranking Network for Text-to-SQL ⭐⭐⭐ arXiv:2008.04759 HydraNet 也是利用 PLM 来生成 question 和 table schema 的 representation 并用于生成 SQL&#xff0c;并在 SQLova 和 X-SQL 做了改进&#xff0c;提升了在 WikiSQL 上的表现。 一、Intro…

WGCAT工单系统如何配置通知

WGCAT工单系统可以配置邮件通知 只要配置了邮件通知&#xff0c;那么一旦我们账号有新的工单需要处理&#xff0c;就会接受到邮件通知 除了邮件之外&#xff0c;还可以配置其他方式的通知&#xff0c;比如微信钉钉短信等方式&#xff0c;参考如下 https://www.wgstart.com/wgc…

Docker常用软件安装

文章目录 1.安装Tomcat1.docker hub查找镜像并复制拉取镜像命令2.拉取镜像到本地1.执行官网命令2.查看是否拉取成功 3.启动tomcat4.退出和重启1.由于是以交互方式启动的&#xff0c;所以不方便&#xff0c;直接ctrl c退出2.查看当前的容器3.使用docker start 命令启动容器&…

内外网文件传输安全可控的方式有哪些?这几款软件值得参考

在信息化时代&#xff0c;随着企业对网络安全和数据保护需求的日益增强&#xff0c;内外网隔离已成为一种常见的网络安全策略。内外网隔离旨在防止未经授权的访问和数据泄露&#xff0c;确保企业网络的安全稳定。然而&#xff0c;在实施内外网隔离的同时&#xff0c;如何实现文…

读书笔记-Java并发编程的艺术-第1章 并发编程的挑战

文章目录 1.1 上下文切换1.1.1 多线程一定快吗1.1.2 如何减少上下文切换 1.2 死锁1.3 资源限制的挑战 1.1 上下文切换 即时是单核处理器也支持多线程执行代码&#xff0c;CPU通过给每个线程分配CPU时间片来实现这个机制。时间片是CPU分配给多个线程的时间&#xff0c;因为时间…