BEVFormer环境配置,报错:OSError: is not a checkpoint file 或 Exception: Error: Invalid box type: None

前言

这个系列是记录我个人在学习过程中,遇到的一些问题,并记录我成功的方法,真实有效。

BEVFormer本身的安装文档非常不利好于新人,所以在此记录了我遇到的坑与解决办法,帮助和我一样初学入门BEV的朋友们。

使用平台

i7-12700k

4070ti

ubuntu20.04

conda虚拟环境中,python=3.8

遇到的问题

使用官方的安装文档,运行如下测试软件代码时,会报错:OSError: is not a checkpoint file

或 Exception: Error: Invalid box type: None。

这里会有多种形式的报错,但是我在此处遇到了上述两种。

运行此处的代码时,如果你是个人学生党,使用自己的电脑,只有一张显卡,请将结尾的8改为1。

以下是解决办法(错误)

1.报错1:OSError: is not a checkpoint file

根据官方文档的代码,最后的这部分

./path/to/ckpts.path

是指这里补充填写我们的checkpoint file路径地址,根据其官方文档的路径介绍,应当是:

./ckpts/r101_dcn_fcos3d_pretrain.path

完成上述修改之后,你将获得如下完整代码

./tools/dist_test.sh ./projects/configs/bevformer/bevformer_small.py ./ckpts/r101_dcn_fcos3d_pretrain.path

然后你会遇到第二个问题

2.报错2:Exception: Error: Invalid box type: None

出现这个报错说明我们的路径已经可以被识别到了,但是本身的chekpoint文件出现了问题

根据li zhiqi大佬自己的回答https://github.com/fundamentalvision/BEVFormer/issues/45

这里需要更改我们根据官方文档下载的chekpoint文件,具体文件可以前往上述网址查看。

./tools/dist_test.sh ./projects/configs/bevformer/bevformer_small.py ./ckpts/bevformer_r101_dcn_24ep.path

 更换了chekpoint文件之后问题得以解决。可顺利运行。

这里我们没有使用官方代码中的bevformer_base.py,参考如下文章:BEVFormer环境配置,报错:RuntimeError: Unable to find a valid cuDNN algorithm to run convolution-CSDN博客

真正的解决办法(补档)

上面的代码虽然不报错了,但是你后续训练会发现怎么都训练的不对。

重新理解这部分,最后的 ./path/to/***.path 应当是我们自己训练后的 path,上面下载的两个 r101 的 path 都只是初始值,训练前用的导入的基础数据,在 bevformer_base.py 文件中使用。

所以这里使用官方文档步骤下载的,最开始的 r101 的 path 是完全没有问题的。

这里已经需要测试了,所以肯定得是我们自己训练完成之后的 path。

正确的测试代码应为:只有一张显卡所以结尾为 1

./tools/dist_test.sh ./projects/configs/bevformer/bevformer.py work_dirs/bevformer/latest.pth 1
  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值