The MetalFX team has presented a very nice (classical) method for video upscaling. What is the potential of using MPS to achieve machine learning upscaling?

MPSGraph supports most common neural-network machine learning layers and operations so you should be able to create an upscaling network from the basic components, but MPSGraph doesn't have prebuilt graphs or networks so you would need to investigate and research the network architecture yourself, train it (using MPSGraph or other training frameworks) and deploy on MPSGraph.

One benefit of using MPSGraph is that you can pretty easily incorporate other Metal kernels (for example MPS image processing kernels or your own kernels) and encode them to the same Metal CommandQueue (or MPSCommandBuffer) to achieve low-latency, often zero-copy execution between the pre/post-processing kernels and the MPSGraph segment(s).

Tagged with: