问题标签 [tensorflow-lite]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1363 浏览

python - 加载图然后用它来构建 tflite?

我对 tensorflow 很陌生,我正在尝试将我的 .pb(proto buffer) 文件转换为 lite 版本。但我面临一些问题。导入时间,sys,警告,glob,随机,cv2,base64,json,csv,os

此函数为我加载了一个图表,现​​在我想将此图表转换为我使用以下脚本的 tflite。

错误信息:

0 投票
2 回答
28026 浏览

python - 如何在脚本中加载 tflite 模型?

我已经使用bazel.pb将文件转换为文件。现在我想在我的python脚本中加载这个模型只是为了测试天气这是否给了我正确的输出?tflitetflite

0 投票
1 回答
932 浏览

tensorflow - 如何仅使用所需的运算符来减小 TensorFlow Lite 二进制大小

TensorFlow Lite 二进制大小约为 900KB,对我来说仍然很大。我想知道如何仅使用支持模型所需的运算符来减小大小?

0 投票
2 回答
121 浏览

tensorflow - tensorflow lite 不支持 tf.less - 如何解决它

我使用 tensorflow 训练我的模型,随后将其转换为 tensorflow lite 模型,但运行时显示 ,tf.less不受支持tf.greaterthan。我应该如何解决这个问题?

0 投票
1 回答
1493 浏览

android - How to perform transfer learning on .tflite models

Currently, I'm trying to make an Android food recognition application. I manage to build an application to process the image and run on the "mobilenet_quant_v1_224.tflite" pretrained model. Everything works fine and now I want to add call of my own to the model to predict.

I do know that TFLITE is still in its preliminary stage, maybe some manage to break the barrier. If so, please help. Any reply/advise/approach would be helpful because I've no idea how to proceed.

Even if there's aren't any way to go around with it, please suggest me a way to achieve the aim of this application.

Link to the trained model : http://download.tensorflow.org/models/mobilenet_v1_2018_02_22/mobilenet_v1_1.0_224_quant.tgz

Really hope to get some help.

Again Thanks in Advance.

0 投票
2 回答
689 浏览

android - TFLite:无法在自定义数据集上使用 MobilenetV2 获得推理

我已经按照这个链接并通过微调我的自定义数据集成功地为 MoiblenetV2_1.4_224 创建了冻结图。然后,我按照tensorflow-for-poets:tflite使用以下命令使用 toco 创建 tflite 图。

lite 图已成功创建,但在推理期间,在运行 tflite Interpretor 时出现以下错误。因此,我没有得到任何推论。

0 投票
0 回答
770 浏览

python - Python TensorFlow Lite 解释器崩溃

我看到 tensorflow.contrib.lite.Interpreter 最近在 python API 中公开。但是,当我使用 5/22 (4dbaa65) 的 repo 头在 Ubuntu 16.04 和 python 3.5 中按照标准 Tensorflow 安装说明从源代码构建和安装 tensorflow 轮时,当我尝试运行它时出现分段错误:

我用错了吗?

0 投票
0 回答
1977 浏览

tensorflow - 错误 MappedByteBuffer 在将模型转换为 tf-lite 时不是有效的平面缓冲区模型

我正在尝试将 deeplab-v3+ 模型转换为 TF-Lite,我从mobilenetv2_coco_voc_trainaug下载了带有 MobileNet-v2 的预训练模态。

使用以下命令覆盖模型:

它已成功覆盖到 tflite 模型,然后我放入 android 资产文件夹并加载到 android 应用程序,我在 gradle 中设置如下:

使用以下函数加载模型:

当调用tflite = new Interpreter(loadModelFile(activity));问题发生时,异常显示“ MappedByteBuffer 不是有效的 flatbuffer 模型”任何人都可以帮助找出我做错了什么过程?toco工具有bug吗?

0 投票
2 回答
13811 浏览

python - 如何将 TensorFlow 模型导出为 .tflite 文件?

背景资料:

我编写了一个 TensorFlow 模型,与 TensorFlow 提供的预制虹膜分类模型非常相似。差异相对较小:

  • 我正在对足球练习进行分类,而不是虹膜种类。
  • 我有 10 个功能和一个标签,而不是 4 个功能和一个标签。
  • 我有 5 种不同的练习,而不是 3 种鸢尾花。
  • 我的 trainData 包含大约 3500 行,而不仅仅是 120。
  • 我的 testData 包含大约 330 行,而不仅仅是 30。
  • 我正在使用 n_classes=6,而不是 3 的 DNN 分类器。

我现在想将模型导出为.tflite文件。但是根据TensorFlow Developer Guide,我需要先将模型导出到tf.GraphDef文件中,然后将其冻结,然后才能进行转换。但是, TensorFlow 提供的从自定义模型创建文件的教程.pb似乎只针对图像分类模型进行了优化。

问题:

那么如何将虹膜分类示例模型之类的模型转换为.tflite文件呢?有没有更简单、更直接的方法来做到这一点,而不必将其导出到.pb文件中,然后将其冻结等等?基于虹膜分类代码的示例或指向更明确教程的链接将非常有用!


其他信息:

  • 操作系统:macOS 10.13.4 High Sierra
  • TensorFlow 版本:1.8.0
  • Python版本:3.6.4
  • 使用 PyCharm 社区 2018.1.3

代码:

可以通过输入以下命令来克隆虹膜分类代码:

git clone https://github.com/tensorflow/models

但如果你不想下载整个包,这里是:

这是名为的分类器文件premade_estimator.py

这是名为的数据文件iris_data.py

**更新**

好的,所以我在此页面上找到了一段看似非常有用的代码:

这个小家伙直接把一个简单的模型转换成一个TensorFlow Lite Model。现在我所要做的就是找到一种方法来适应虹膜分类模型。有什么建议么?

0 投票
0 回答
236 浏览

tensorflow - Tensorflow:嵌入式 DSP 的定点量化

为我的新手问题道歉。

从这些文档中,我了解了使用 8 位数字节省内存和提高性能对准确性影响非常小的优势:

https://www.tensorflow.org/performance/quantization

其他博客提到这些量化模型可以卸载到 DSP,我有低成本的 DSP,它可以在一个时钟内以非常低的功耗进行 168 次乘法和 9 位输入的加法,我想用它来推断一些我训练的模型。我不想使用任何现有的框架,因为它们无论如何都不适合/工作在目标上。我只想训练模型,保存它,然后自己读取权重,同时我将手动对网络的流/图进行硬编码,作为概念的证明。

当我将其视为仅压缩时,对层 + 8 位权重使用 min/max 是有意义的,这可能导致非对称范围,并且 0 不在 8 位范围的中间。解压成 32 位实数值,计算就很容易了。

但仍然在多个博客中提到,这种方法可以直接在 DSP 上使用,并使用 8 位数字进行计算。我仍然无法理解如何实施。在过去,我曾经有定点数学,我假装某处是小数点,然后在乘法后移动结果。但是我认为当使用最小/最大/非对称方法来训练/存储模型时,这是无法做到的。我是否遗漏了一些东西,因为我无法理解如何在 DSP 中使用简单的整数乘法器在低级别实现这一点?