0

我已经使用 tensorflow 在 jupyter notebook 上完成了一个简单的线性回归模型的训练,并且我能够像这样保存和恢复保存的变量:

抓取数据

现在我正在尝试在 android 应用程序上使用该模型。

按照此处的教程,我可以进入导入 tensorflow 库的阶段,如下所示:

Android JNILibs

现在我想给模型一个输入数据并获得一个输出值。(请参阅下面的应用程序流程)但是,他们在他们的应用程序中使用了一个 .pb 文件(不知道这是什么)。在 4 个文件中:

保存的文件

我从保存模型中得到的,我没有让我目瞪口呆的 .pb 文件。

应用程序的作用:使用用户输入的高度值通过预训练的 TensorFlow 模型预测 SoC。因此,使用线性回归方程:y = Wx + b

y - SoC

W - 重量

x - 高度

b - 偏差

所有变量都是浮点值。

安卓应用流程:

  1. 用户在文本框中输入高度值,然后按“预测”按钮。

  2. 应用程序使用已保存模型的重量、偏差和高度值来预测 SoC。

  3. 应用程序在文本视图中显示预测的 SoC。

所以我的问题是:如何使用 android studios 2.3.1 在 Android 应用程序中导入和使用我的模型?

这是我的 ipynb 和 csv 数据文件

4

1 回答 1

2

我可能误解了这个问题,但是:

鉴于模型是预训练的,权重和偏差不会改变,您可以简单地使用 Jupyter notebook 中计算的 W 和 b 值,并将它们硬编码为一个简单的表达式

<soc> = -56.0719*<height> + 98.3029

无需为此导入张量流模型。

更新 为确保问题得到解答,*.pb 文件来自冻结带有图形的检查点文件 - 请参阅链接教程中的第二个代码面板以了解如何执行此操作。

关于冻结是指这里

于 2017-07-04T09:21:34.460 回答