BUG:mxnet.base.MXNetError: Error in operator conv_1_conv2d:

mxnet.base.MXNetError: Error in operator conv_1_conv2d: [11:05:25] src/operator/nn/convolution.cc:152: Check failed: dshp.ndim() == 4U (1 vs. 4) : Input data should be 4D in batch-num_filter-y-x
 

1. 出现这种bug,一般情况下是因为输入有问题,维度不符合预设

2. 检查输入路径是否为空

3. 检查输入的是什么东西,可能是None也会报这个错

4. 检查img.shape,过大或者过小似乎也会触发这个错误:类似insightface里的问题, 针对shape的问题需要进行图片的预处理,代码如下:

im_scale为计算得到的缩放比例。 scales参数设定非常重要,进行缩放的时候应该是尽可能考虑缩小尺寸而不是放大尺寸,因为放大尺寸太大的时候会使得input变得很模糊从而导致人脸检测器无法正常识别。所以scales可以相对设的小一点【512,990】也不错

 def get_input(self, face_img): #changed by jin
    ##added by jin
    scales = [1024, 1980]
    im_shape = face_img.shape
    target_size = scales[0]
    max_size = scales[1]
    im_size_min = np.min(im_shape[0:2])
    im_size_max = np.max(im_shape[0:2])
    #im_scale = 1.0
    #if im_size_min>target_size or im_size_max>max_size:
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值