CenterPoint的环境配置error大全【已全部解决】

注意,gcc版本为9.4

1.error:编译spconv出错

注意:git clone spconv --recursive不成功,第三方库没有clone下来,因此要在spconv的third_part里手动git clone pybind

  • 原因:pytorch版本不匹配
  • 解决方法:修改spconv-8da6f9/src/spconv/all.cc,line20如下

在这里插入图片描述

  • 原因:pytorch版本不匹配
  • 解决方法:修改spconv-8da6f9/src/spconv/all.cc,line20如下

2.error:cannot import name ‘spconv_utils’ from ‘spconv’

  • 原因:具体的不是很清楚,可能是因为去spconv源码中找spconv_utils了。但应该让他去install里面找

  • 解决方法:在环境变量中注释掉spconv的源码路径python环境变量

3.error:cannot import name ‘SparseConv3d’ from ‘spconv’

在这里插入图片描述
在这里插入图片描述

  • 原因:找不到SparseConv3d,
    SubMConv3d这两个模块,但看了下源码中是有这两个模块的,所以应该只是这两个模块没有编译成功【但之前编译过程中并没有报错】。由于spconv是源码编译,还用到了pybind工具,因此猜测可能是pybind的版本问题。
  • 解决方法:要在spconv的third_part里手动git clone pybind并chekck
    out到某个版本【版本号:085a29436a8c472caaaf7157aa644b571079bcaa】,然后再重新编译spconv即可。

4.error:det3d cannot import name ‘deform_conv_cuda’

  • 原因:det3d下没有编译这些cuda源码。
  • 解决方法:由于centerpoint目录下有det3d,因此问了作者是否需要自行编译安装det3d,作者回复说只要在centerpoint下运行bash setup.py即可,里面写好了去项目的det3d目录下编译这几个cuda文件。

5.error:det3d 中的deform_conv未编译成功,“AT_CHECK”

在这里插入图片描述

  • 原因:torch版本较高,deform_conv_cuda.cpp和deform_pool_cuda.cpp中的AT_CHECK与最新版本的torch不匹配。
  • 解决方法:用vim将这两个文件中的"AT_CHECK" 都替换成"TORCH_CHECK "。

在这里插入图片描述

6.error:no apex

在这里插入图片描述
在这里插入图片描述
虽然conda list可以看到已安装apex,但在centerpoint 中的import apex时no apex,所以实际上没装成功。centerpoint 可能设置了在import失败时不抛出error,而只是打印no apex,导致也不好定位error。只能自己进入python环境尝试import,发现错误如下:
在这里插入图片描述

  • 原因:pytorch版本过高,pytorch1.9后就会出现cannot import name ‘container_abcs‘
    from ‘torch._six‘错误,当前环境版本为1.10.0
  • 解决方法:降级为1.8或者修改apex的源码如下,然后重新编译安装:
if TORCH_MAJOR == 1 and TORCH_MINOR < 8:
    from torch._six import container_abcs
else:
    import collections.abc as container_abcs

最终终于跑起来了

在这里插入图片描述

评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值