好的,这里给定的数据;形状有三个 numpy 数组:(i, 4, 2), (i, 4, 3), (i, 4, 2) i 在它们之间是共享的,但是是可变的。dtype 是 float32 的一切。目标是以特定顺序将它们交织在一起。让我们看看这些数组的索引 0 处的数据:
[[-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 ]]
在这种情况下,连接的目标数组看起来像这样:
[-208, -16, 1, 1, 1, 0.496, 0.984, -192, -16, 1, 1, 1, ...]
然后继续索引 1。
我不知道如何实现这一点,因为连接函数只是不断告诉我形状不匹配。目标数组的形状并不重要,只是它的内存视图必须按照给定的顺序上传到 gpu 着色器。
编辑:我可以用一些 python for 循环来实现这一点,但性能影响将是这个程序中的一个问题。