TensorflowLite iOS Swift - PullRequest
       9

TensorflowLite iOS Swift

0 голосов
/ 24 апреля 2020

Мне нужно запустить тензор потока облегченной модели в iOS, от ввода он получает массив (1, 4500, 1), но я не понимаю, как отправить его на вход без преобразования его в данные. Если я распечатываю его интерпретатору, и ввод говорит мне, что именно мне нужно, но когда я запускаю код, он выводит ноль. Я нашел это в руководствах inte rnet:

let resultArray = (
          boundingBox: [Float](unsafeData: outputBoundingBox.data) ??
)

Но функция unsafedata Float сообщает мне, что она не существует. Вот мой код:

import UIKit
import TensorFlowLite
import SwiftyJSON

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        var opt1 = Interpreter.Options()
        opt1.threadCount = 2
        let model_path = Bundle.main.path(forResource: "model1", ofType: "tflite")
        let int1 = try? Interpreter(modelPath: model_path!, options: opt1)
        try? int1?.allocateTensors()

        let input = try? int1?.input(at: 0).shape

        if let filepath = Bundle.main.path(forResource: "numpytest", ofType: "txt") {
            do {
                let contents = try String(contentsOfFile: filepath)
                let data2 = Data(filepath.utf8)            
                try? int1!.copy(data2, toInputAt: 0)
                try? int1?.invoke()
                let salida = try? int1?.output(at: 0)
            } catch {
                // contents could not be loaded
            }
        } else {
            // example.txt not found!
        }
    }
}

Что я делаю не так, что мне нужно добавить?

У кого-нибудь есть советы или предложения?

Привет!

...