Android Tensorflow Lite解释器崩溃

问题描述 投票:1回答:1

我正在将TensorFlow Lite模型加载到我的Android应用程序中,但是该应用程序始终在以下位置崩溃(没有打印出任何错误):

tflite = new Interpreter(loadModelFile(activity));

[我的理解是,从github上的tensorflow回购中的一些问题来看,这是由于不良的tflite模型所致;确实,如果我改为从存储库加载演示模型,则可以正常工作。

如何检查.tflite模型的正确性?我是从张量流模型文件.pb中创建该文件的,该文件由仓库中的toco转换而成,既没有错误也没有积极的反馈。张量流模型来自于keras模型的转换。

android tensorflow tensorflow-lite
1个回答
0
投票

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

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);
}
© www.soinside.com 2019 - 2024. All rights reserved.