1

我正在将 TensorFlow Lite 模型加载到我的 Android 应用程序中,但该应用程序不断崩溃(没有打印出任何错误):

tflite = new Interpreter(loadModelFile(activity));

根据 github 上 tensorflow repo 上的一些问题,我的理解是,这是由于tflite模型不好;实际上,如果我从存储库加载演示模型,它工作正常。

如何检查.tflite模型的正确性?.pb我从一个从 repo转换而来的 tensorflow 模型文件创建了它,toco它既没有给我错误也没有给我积极的反馈。tensorflow 模型来自于 keras 模型的转换。

4

1 回答 1

0

您可以按如下方式使用它,[假设您的模型是 assets 文件夹中的文件]

try{
    tflite = new Interpreter(loadModelFile());
} catch (Exception ex){
    ex.printStackTrace();
}


private MappedByteBuffer loadModelFile() throws IOException {
    AssetFileDescriptor fileDescriptor = this.getAssets().openFd("modelname.tflite");
    FileInputStream inputStream = new FileInputStream(fileDescriptor.getFileDescriptor());
    FileChannel fileChannel = inputStream.getChannel();
    long startOffset = fileDescriptor.getStartOffset();
    long declaredLength = fileDescriptor.getDeclaredLength();
    return fileChannel.map(FileChannel.MapMode.READ_ONLY, startOffset, declaredLength);
}
于 2020-04-20T05:12:51.823 回答