我想将(50000,32,32)掩码应用于数据加载器(50000,32,32,3)

时间:2019-12-26 04:04:09

标签: deep-learning pytorch

我用Torch.Size([50000,32,32])制作了回弹面罩形状
我应该如何将其应用于具有(50000、32、32、3)的原始数据集形状

我正在尝试更改原始数据加载器的数据集

  

原始数据集(50000,32,32,3)x遮罩(50000,32,32)

但是由于形状差异,我不知道如何申请

1 个答案:

答案 0 :(得分:0)

逐元素乘法仅可用于可广播(具有兼容形状的张量)。这意味着两个张量的秩(维数)应该相等,并且每个维应该相等,或者它们中的一个(或两个)都可以是1。因此,您所需要的只是添加空的维数来代替遮罩的通道。您的遮罩将具有(50000,32,32,1)的形状,并且您可以乘以:

result = dataset * mask[:, :, :, None]

np.expand_dims()实现:

result = dataset * np.expand_dims(mask, axis=3)