从 Hugging Face 等 开源社区下载的 大语言模型 你可以在我们的设备上 运行各种模型 包括 Whisper、Stable Diffusion 和 Mistral 只需完成几个步骤 即可在你的 App 中运行模型,比如在苹果官网上下载DeepLabV3.mlmodel




下载https://github.com/hollance/CoreMLHelpers
@nonobjc public func resized(to newSize: CGSize, scale: CGFloat = 1) -> UIImage {
let format = UIGraphicsImageRendererFormat.default()
format.scale = scale
let renderer = UIGraphicsImageRenderer(size: newSize, format: format)
let image = renderer.image { _ in
draw(in: CGRect(origin: .zero, size: newSize))
}
return image
}
let resizedImage = resized(to: CGSize(width: height, height: height), scale: 1)
// CoreMLHelpers -> UIImage+CVPixelBuffer.swift
guard let pixelBuffer = resizedImage.pixelBuffer(width: Int(width), height: Int(height)),
let outputPredictionImage = try? model.prediction(image: pixelBuffer),
// CoreMLHelpers -> MLMultiArray+Image
let outputImage = outputPredictionImage.semanticPredictions.image(min: 0, max: 1, axes: (0, 0, 1)),
let outputCIImage = CIImage(image: outputImage),
// CIImage extension helper method
let maskImage = outputCIImage.removeWhitePixels(),
let resizedCIImage = CIImage(image: resizedImage),
// (Optional) Blur image a bit if you want to avoid sharpness
let maskBlurImage = maskImage.applyBlurEffect() else { return nil }
// After we get a final background image we are going to use it as a mask for composing with the resized image.
guard let compositedImage = resizedCIImage.composite(with: maskBlurImage) else { return nil }
return UIImage(ciImage: compositedImage)
.resized(to: CGSize(width: size.width, height: size.height))
