好吧,这里给出的数据; 形状有三个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