【问题标题】:Add an extra channel to specific dimension in numpy在 numpy 中向特定维度添加额外的通道
【发布时间】:2021-05-16 12:27:36
【问题描述】:

我有一个形状数组

masks = encoded.reshape(n, h, w)
masks = np.expand_dims(masks, axis=3)
maskData = to_categorical(masks)
print(maskData.shape)

(16, 456, 684, 8)

我想在第 4 维中添加一个额外的通道,使其达到第 9 维,并用零填充

n,h,w,c = maskData.shape
maskData.reshape(n,h,w, 9)

似乎崩溃了。

【问题讨论】:

    标签: python numpy


    【解决方案1】:

    我可能会创建一个新的所需大小的空 numpy 数组,然后用原始数据填充它

    n,h,w,c = maskData.shape
    wanted_size = 9
    new_mask_data = np.zeros([n,h,w,wanted_size])
    new_mask_data[:,:,:,:c] = maskData
    

    【讨论】:

    • 也许我误解了你的问题?但是您有一个具有特定形状的多维数组,并且您想要一个新数组在前三个维度中具有相同的维度,而在第四维度中是 9 而不是 8?
    • 这是另一个线程,它通过与我的stackoverflow.com/questions/13537772/…987654321@ 接近的解决方案解决了这个问题
    猜你喜欢
    • 2019-11-19
    • 2023-03-07
    • 2016-11-07
    • 2019-04-16
    • 2013-07-23
    • 2013-07-08
    • 2012-01-19
    • 2014-10-16
    相关资源
    最近更新 更多