Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vmalyi/886a3bc44accfce3d202d231c742521d to your computer and use it in GitHub Desktop.
Save vmalyi/886a3bc44accfce3d202d231c742521d to your computer and use it in GitHub Desktop.
Run or Walk (Part 4): Import Keras Neural Network to iOS app with Core ML
import Foundation
import CoreML
enum ClassifierError : Error {
case RuntimeError(String)
}
class Classifier: NSObject {
let model = accel_x_model()
private func predict(_ input: MLMultiArray) -> MLMultiArray {
guard let modelPrediction = try? model.prediction(input: input) else {
fatalError("Unable to make prediction")
}
return modelPrediction.output
}
public func makePrediction(_ onInputData: MLMultiArray) throws -> Int {
let modelPrediction: MLMultiArray?
modelPrediction = self.predict(onInputData)
guard let predictedClassWalk = modelPrediction?[0],
let predictedClassRun = modelPrediction?[1]
else {
throw ClassifierError.RuntimeError("Predicted values are invalid")
}
return Double(truncating: predictedClassWalk) > Double(truncating: predictedClassRun) ? 0 : 1
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment