首页 > 解决方案 > 在 numpy 中向特定维度添加额外的通道

问题描述

我有一系列形状

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)

似乎要崩溃了。

标签: pythonnumpy

解决方案


我可能会创建一个所需大小的新空 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

推荐阅读