在Windows上安装openPCDet遇到的一些问题总结

在Windows上安装openPCDet遇到的一些问题总结

注意:需要在cpp文件中所做的更改一定要先改完再执行setup.py进行编译

数据格式错误
在OpenPCDet-master\pcdet\ops\iou3d_nms\src里面的iou3d_nms.cpp和iou3d_nms_kernel.cu这两个文件
将unsigned long long 改为uint64_t,
将memset(remv_cpu, 0, col_blocks * sizeof(unsigned long long)); 改为memset(&remv_cpu[0], 0, col_blocks * sizeof(unsigned long long));

记得添加stdint.h头文件,要不然解析不了uint64_t,因为在windows下编译识别不了

ESP直接用1e-8替换
unsigned long long remv_cpu[col_blocks]改为 std::vector remv_cpu(col_blocks)

iou3d_nms_kernel.obj : error LNK2005: “int __cdecl check_rect_cross(struct Point const &,struct Point const &,struct Point const &,struct Point const &)” (?check_rect_cross@@YAHAEBUPoint@@000@Z) 已经在 iou3d_cpu.obj 中定义
iou3d_nms_kernel.cu中check_rect_cross命名冲突,改个名字,我改成了check_rect_cross_cuda

缺少sys/mman.h头文件,这个头文件是macos/linux独有的,在windows下没有,调用这个头文件的包是SharedArray,也是只能在linux/macos安装,但是现在的版本openPCDet基本不调用SharedArray中的方法,我们可以安装一个sharedarray for windows,链接:https://github.com/imaginary-friend94/Shared-Array-for-Windows,安装的时候记得改一下setup.py里面的名称,名称要把winsharedarray 改成SharedArray, Extension(‘SharedArray’, 和 name = ‘SharedArray’, 版本也改一下,在cpp文件里面defmethod也改一下对应方法名称,主要是让系统认为我们安装了这个依赖。

C:\cb\pytorch_1000000000000\work\aten\src\ATen\native\cuda\IndexKernel.cu:92: block: [0,0,0], thread: [0,0,0] Assertion index >= -sizes[i] && index < sizes[i] && "index out of bounds" failed.:还有一些File “d:\openpcdet-master\pcdet\ops\iou3d_nms\iou3d_nms_utils.py”, line 98, in nms_gpu
num_out = iou3d_nms_cuda.nms_gpu(boxes, keep, thresh)
RuntimeError: expected scalar type Int but found Long错误,可以
在OpenPCDet-master\pcdet\ops\iou3d_nms\iou3d_nms_utils.py中将nms_gpu和ms_normal_gpu方法中改成如下
boxes = boxes[order].contiguous()
keep = torch.LongTensor(boxes.size(0))
num_out = iou3d_nms_cuda.nms_gpu(boxes, keep.int(), thresh)
return order[keep[:num_out].long()].contiguous(), None
因为在iou3d_nms_cuda.nms_gpu(boxes, keep.int(), thresh)方法中函数需要int参数,但是到下一行又要转回long,具体为什么也不清楚

最后下载了kitti数据,使用pointlillar成功执行

测试命令:python demo2.py --cfg_file cfgs/kitti_models/pointpillar.yaml --ckpt pointpillar_7728.pth --data_path 000008.bin

效果:运行结果

目前为止就遇到了这些问题,如果可以的话尽量在linux下进行部署和学习,方便很多。

  • 6
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值