gpt4 book ai didi

java - 从 Java 中的 tflite 模型进行推理

转载 作者:行者123 更新时间:2023-12-02 09:55:08 24 4
gpt4 key购买 nike

我已导出 tflite 模型并在 this 上使用 Python 代码链接,我可以从这个模型中进行推断。然而,现在我正在尝试使用 Java 在 Android 应用程序中进行推理。我一直在关注官方文档here但我无法让它工作。有人可以指导我如何完成它吗?我所需要的只是执行以下步骤。

  1. 读取 tflite 模型。
  2. 生成形状为 [1,200,3] 的虚拟记录
  3. tflite 模型中进行推理并打印。

我一直在阅读 tflite 演示,但仍然无法解决它。要加载模型,我使用

Interpreter interpreter = new Interpreter(file_of_a_tensorflowlite_model)

从官方文档中得到以下错误:

error: no suitable constructor found for Interpreter(String)
constructor Interpreter.Interpreter(File) is not applicable
(argument mismatch; String cannot be converted to File)

我无法解决这个问题。我该如何完成这个简单的任务?

最佳答案

您可以将 TFLite 模型粘贴到应用程序的 Assets 文件夹中。然后,使用此代码加载其 MappedByteBuffer

 

private MappedByteBuffer loadModelFile() throws IOException {
        String MODEL_ASSETS_PATH = "recog_model.tflite";
        AssetFileDescriptor assetFileDescriptor = context.getAssets().openFd(MODEL_ASSETS_PATH) ;
        FileInputStream fileInputStream = new FileInputStream( assetFileDescriptor.getFileDescriptor() ) ;
        FileChannel fileChannel = fileInputStream.getChannel() ;
        long startoffset = assetFileDescriptor.getStartOffset() ;
        long declaredLength = assetFileDescriptor.getDeclaredLength() ;
        return fileChannel.map( FileChannel.MapMode.READ_ONLY , startoffset , declaredLength ) ;
}

然后在构造函数中调用它。

Interpreter interpreter = new Interpreter( loadModelFile() )

关于java - 从 Java 中的 tflite 模型进行推理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56061579/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com