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

皈依舞
TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超3個(gè)贊
您可以結(jié)合 numpy 的 reshape 和 transpose 來(lái)完成這項(xiàng)工作。我不完全確定三個(gè)“16”中的哪一個(gè)屬于 32x16 重復(fù)網(wǎng)格,但假設(shè)它是第一個(gè):
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)
添加回答
舉報(bào)
0/150
提交
取消