我有一個形狀為 (16, 32, 16, 16) 的平鋪 numpy 數組,即每個平鋪都是 16x16 像素,網格為 32 個平鋪寬,16 個高。從這里我想將其重塑為 256 高 x 512 寬的 2D 圖像,但我無法找到正確的分割、切片和重塑咒語來達到我想要的效果。
1 回答

皈依舞
TA貢獻1851條經驗 獲得超3個贊
您可以結合 numpy 的 reshape 和 transpose 來完成這項工作。我不完全確定三個“16”中的哪一個屬于 32x16 重復網格,但假設它是第一個:
import numpy as np
data = np.random.random((16, 32, 16, 16))
# put number of repetitions next to respective dimension
transposed_data = np.transpose(data, (0, 2, 1, 3))
# concatenate repeated dimensions via reshape
reshaped_data = transposed_data.reshape((16 * 16, 32 * 16))
print(reshaped_data.shape)
添加回答
舉報
0/150
提交
取消