Swift 将大型[MLMultiArray]拆分为较小的块[[MLMultiArray]]?

Swift 将大型[MLMultiArray]拆分为较小的块[[MLMultiArray]]?,swift,multidimensional-array,coreml,Swift,Multidimensional Array,Coreml,我有一个长度为15360的大型MLMultiArray 样本: Float32 1 x 15360 [14.78125,-0.6308594,5.609375,13.57812,-1.871094,-19.65625,9.5625,8.640625,-2.728516,3.654297,-3.189453,-1.740234...] 有没有一种方法可以将这个巨大的阵列转换成120个小的MLMULTARRAY,每个阵列有128个元素,而不改变这个阵列的顺序,并且以最有效的方式 15360个元素

我有一个长度为15360的大型MLMultiArray

样本:

Float32 1 x 15360
[14.78125,-0.6308594,5.609375,13.57812,-1.871094,-19.65625,9.5625,8.640625,-2.728516,3.654297,-3.189453,-1.740234...]

有没有一种方法可以将这个巨大的阵列转换成120个小的MLMULTARRAY,每个阵列有128个元素,而不改变这个阵列的顺序,并且以最有效的方式

15360个元素的整个数组在此

let chunkSize=2中可用
让shape=yourLargeArray.shape
让ChunkedArray=试试?步幅(从:0到:shape.count,按:chunkSize)
.map{offset->MLMultiArray位于
设startIndex=shape.index(shape.startIndex,offsetBy:offset)
设endIndex=shape.index(startIndex,offsetBy:chunkSize,limitedBy:shape.endIndex)??shape.endIndex
返回多重数组(
形状:数组(形状[startIndex..
为什么需要这样做?(我这样问是因为你可能不需要这么做。)@MatthijsHollemans非常感谢你,我应该早点注意到这一点。我可以将MLMultiArray转换为Float或Double。如果我早一点做的话,这就不会成为问题了。所以一大早,当我从MLFeatureValueObservision收到MLMultiArray时,我就尝试将其转换为浮点值,并且成功了。谢谢你的大开眼界:谢谢你的回答@Adrian。我试过了,但我得到一个错误,说明如下。无法使用类型为“(from:Int,to:MLMultiArray,by:Int)”的参数列表调用“stride”,我在google中搜索以找到解决方案,其中一个问题告诉我使用Swift.stride。我也试过了,但我总是犯同样的错误。