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

所以我有我的最终形状特征,(1, 512, 90, 160)深度为 512(第 3 维)。我从 shape 的地面实况图像创建了一个二维二进制掩码(90, 160)。我正在尝试将此掩码应用于该功能以仅手动提取我的部分功能。然而,由于特征和掩码的形状不匹配,我得到了索引错误。

有了np.expand_dims(),我已经做成了面具的形状(1,1,90,160)。现在,我怎样才能堆叠面具以获得形状(1, 512, 90, 160)


小唯快跑啊
浏览 247回答 1
1回答

慕尼黑5688855

您有 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()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python