我正在将TensorFlow Lite模型加载到我的Android应用程序中,但应用程序不断崩溃(没有打印出任何错误):
tflite = new Interpreter(loadModelFile(activity));
据我所知,从github上的tensorflow repo的一些问题来看,这是由于一个糟糕的tflite
模型;实际上,如果我从存储库加载一个演示模型,它可以正常工作。
如何检查.tflite
模型的正确性?我是从repo中用.pb
转换的张量流模型文件toco
创建的,这既没有错误也没有给出正反馈。张量流模型来自keras模型的转换。
答案 0 :(得分: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);
}