func classify()

in TextClassificationOnMobile/iOS/TextClassificationStep3/TextClassificationStep3/ViewController.swift [109:152]


    func classify(sequence: [Int32]){
            // Model Path is the location of the model in the bundle
            let modelPath = Bundle.main.path(forResource: "model", ofType: "tflite")
            var interpreter: Interpreter
            do{
                interpreter = try Interpreter(modelPath: modelPath!)
            } catch _{
                print("Error loading model!")
                return
            }
            let tSequence = Array(sequence)
            let myData = Data(copyingBufferOf: tSequence.map { Int32($0) })
            let outputTensor: Tensor
            do {
                // Allocate memory for the model's input `Tensor`s.
                try interpreter.allocateTensors()

                // Copy the RGB data to the input `Tensor`.
                try interpreter.copy(myData, toInputAt: 0)

                // Run inference by invoking the `Interpreter`.
                try interpreter.invoke()

                // Get the output `Tensor` to process the inference results.
                outputTensor = try interpreter.output(at: 0)
                // Turn the output tensor into an array. This will have 2 values
                // Value at index 0 is the probability of negative sentiment
                // Value at index 1 is the probability of positive sentiment
                let resultsArray = outputTensor.data
                let results: [Float32] = [Float32](unsafeData: resultsArray) ?? []
                //let negativeSpamValue = results[0]
                let positiveSpamValue = results[1]
                var outputString = ""
                if(positiveSpamValue>0.8){
                    outputString = "Message not sent. Spam detected with probability: " + String(positiveSpamValue)
                } else {
                    outputString = "Message sent! Low Spam probability of " + String(positiveSpamValue)
                }
                txtOutput.text = outputString

            } catch let error {
                print("Failed to invoke the interpreter with error: \(error.localizedDescription)")
            }
        }