为了账号安全,请及时绑定邮箱和手机立即绑定

通过应用掩码提取部分卷积神经网络特征

通过应用掩码提取部分卷积神经网络特征

小唯快跑啊 2021-09-25 10:01:15
所以我有我的最终形状特征,(1, 512, 90, 160)深度为 512(第 3 维)。我从 shape 的地面实况图像创建了一个二维二进制掩码(90, 160)。我正在尝试将此掩码应用于该功能以仅手动提取我的部分功能。然而,由于特征和掩码的形状不匹配,我得到了索引错误。有了np.expand_dims(),我已经做成了面具的形状(1,1,90,160)。现在,我怎样才能堆叠面具以获得形状(1, 512, 90, 160)?
查看完整描述

1 回答

?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

您有 2 个选项:


创建 3d 蒙版-


final = np.ones((1,512,90,160))

final2 = np.copy(final)

mask = np.random.randint(1,10,size = (1,90,160)) > np.random.randint(1,10,size = (1,90,160))


masked = np.copy(final)

masked[:,0,:,:] = np.logical_and(masked[:,0,:,:],mask)

masked = np.logical_and.accumulate(masked,axis = 1)

np.putmask(final,masked == False, 0)

以上将创建一个 3d 蒙版,并用它来蒙版final。


另一种更简单的选择是乘法:


np.multiply(final,mask)

NP 处理尺寸,并为您提供屏蔽版本。


您可以通过以下方式验证:


(np.multiply(final2,mask) == final).all()


查看完整回答
反对 回复 2021-09-25
  • 1 回答
  • 0 关注
  • 241 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信