如何使用MPS(MetalPerformanceShaders)制作Flatten过滤器?

kan*_*roo 6 image-processing flatten ios mnist metal

我正在努力在iOS上运行MNIST的CNN推理.Apple开始提供一个很好的代码示例. https://developer.apple.com/library/content/samplecode/MPSCNNHelloWorld/Introduction/Intro.html#//apple_ref/doc/uid/TP40017482-Intro-DontLinkElementID_2

但是,当我尝试使用MPS 实现更复杂的CNN模型(例如https://github.com/fchollet/keras/blob/master/examples/mnist_cnn.py)时,我发现没有"Flatten"类过滤.

我查看了MPS框架,找到了重塑或更改维度的功能,但我找不到合适的维度.(例如,MPSImageConversion似乎仅用于转换颜色,而不是用于维度.

如果有人知道Flatten的过滤器或如何将多维图像转换为1D图像,请告诉我.

kan*_*roo 0

不需要 Flatten 层,因为 MPS 可以处理多维数据作为输入。