好吧,這裏給出的數據; 形狀有三個numpy陣列: (i,4,2),(i,4,3),(i,4,2) i在它們之間共享,但是是可變的。 dtype是float32的一切。 目標是按特定順序交織它們。讓我們看一下數據索引0對於這些陣列:Numpy交織異形陣列
[[-208. -16.]
[-192. -16.]
[-192. 0.]
[-208. 0.]]
[[ 1. 1. 1.]
[ 1. 1. 1.]
[ 1. 1. 1.]
[ 1. 1. 1.]]
[[ 0.49609375 0.984375 ]
[ 0.25390625 0.984375 ]
[ 0.25390625 0.015625 ]
[ 0.49609375 0.015625 ]]
在這種情況下,concatened目標陣列會是這個樣子:
[-208, -16, 1, 1, 1, 0.496, 0.984, -192, -16, 1, 1, 1, ...]
然後繼續與索引1
我不知道如何實現這一點,因爲連接函數只是告訴我形狀不匹配。目標數組的形狀並不重要,只是它的內存視圖必須按照給定順序才能上傳到GPU着色器。
編輯:我可以用幾個python for循環來實現,但是性能影響會成爲這個程序中的一個問題。
這個工作。你的示例形狀稍微偏離了一點,但它確實有效。 謝謝! – Berserker
@Berserker Yeah'm = 4'對於你的情況,但是這樣會產生巨大的數組,這對於樣本運行來說太多的數據,所以縮短了它:) – Divakar
我更多地提到「b」的形狀在第三軸不是3。 – Berserker