记录跑通CenterNet的demo.py

第一次跑模型的代码,就需要首先跑通作者原来的代码,再修改成自己的数据集进行训练。

所以!第一步!根据作者的Readme跑代码的时候,就遇到了下面的报错。查了百度也没有找到问题!
在这里插入图片描述

报错:

torch.jit.frontend.NotSupportedError: slicing multiple dimensions at the same time isn't supported yet
proposals (Tensor): boxes to be encoded
# perform some unpacking to make it JIT-fusion friendly
wx = weights[0]
wy = weights[1]
ww = weights[2]
wh = weights[3]

proposals_x1 = proposals[:, 0].unsqueeze(1)
~~~~~~~~~ <--- HERE
proposals_y1 = proposals[:, 1].unsqueeze(1)
proposals_x2 = proposals[:, 2].unsqueeze(1)
proposals_y2 = proposals[:, 3].unsqueeze(1)

reference_boxes_x1 = reference_boxes[:, 0].unsqueeze(1)
reference_boxes_y1 = reference_boxes[:, 1].unsqueeze(1)
reference_boxes_x2 = reference_boxes[:, 2].unsqueeze(1)
reference_boxes_y2 = reference_boxes[:, 3].unsqueeze(1)

终于在git的issues中找到了答案!
解决方案就是:在终端中输入 pip install torchvision==0.2.2 就解决了!

这个解决了之后又遇到了另一个报错::
cannot connect to X server localhost:10.0(“X Server没有连接”)
在这里插入图片描述

这是由于linux终端没有图形界面,demo调用了cv2.imwrite(),因此需要修改 src/lib/detectors/cdet.py

def show_results(self, debugger, image, results):
    debugger.add_img(image, img_id='ctdet')
    for j in range(1, self.num_classes + 1):
      for bbox in results[j]:
        if bbox[4] > self.opt.vis_thresh:
          debugger.add_coco_bbox(bbox[:4], j - 1, bbox[4], img_id='ctdet')
    # debugger.show_all_imgs(pause=self.pause)
    debugger.save_all_imgs(path='/home/jhsu/sujh/ljj/CenterNet/output', genID=True)

debugger.show_all_imgs(pause=self.pause) 注释掉,
换成debugger.save_all_imgs(path='/home/jhsu/sujh/ljj/CenterNet/output', genID=True)

就可以了!可以多跑几张图试一试!

首先试着跑一张图,终端输入:

python demo.py ctdet --demo ../images/24274813513_0cfd2ce6d0_k.jpg  --load_model ../models/ctdet_coco_dla_2x.pth

终端显示结果如下面所示:
在这里插入图片描述
在这里插入图片描述
此处参考博客

然后想试着跑所有demo中的images,在终端输入:

python demo.py ctdet --demo ../images/24274813513_0cfd2ce6d0_k.jpg  --load_model ../models/ctdet_coco_dla_2x.pth

运行结果就如下所示:
在这里插入图片描述
在这里插入图片描述

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值