问题标签 [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.
tensorflow - 无法将模型转换为 tensorflow 的 lite 格式
我有一个训练有素的 rnn,我尝试在移动设备上使用。问题是,当我使用 toco 将.pb
文件转换为.tflite
它时失败并显示以下错误消息:
现在,我知道这是因为 toco 期望我的模型只有一个输入,但是,在我发现到目前为止的示例中,人们使用 2 个输入没有问题。
它与我在模型中使用的操作有关吗?这是一个已知的限制还是一个错误?
这是我构建模型的方法。
ios - TensorFlow-Lite Swift 设置(bridge-header/includes/root 文件夹)
TensorFlow Lite 最近发布了。代码库带有一个演示 ios 应用程序。
我想创建/运行相同的应用程序,但使用 Swift。我已按照以下步骤操作:
这还不够。
1)我认为我现在缺少的是一些桥接头。
2)我也不确定这些特定的 Obj-C 包含如何快速显示:
3)打包好的ios app中必须要包含TensorFlow根目录(200+mb)吗?
tensorflow - tensorflow lite:为量化的graphdef转换错误
我按照教程(https://www.tensorflow.org/performance/quantization)生成量化的graphdef文件:
然后将量化后的graphdef转换为tflite文件:
它失败并出现以下错误:
运行 summarise_graph 工具
输入节点存在。
我错过了什么吗?将量化的graphdef文件转换为tflite文件的正确方法是什么?
谢谢!
tensorflow - 带有自定义模型的 Tensorflow lite 示例 - “input_product_scale < output_scale 不正确”
如何重现:
使用命令重新训练移动网络:
mean values
并std_values
没有真正有所作为 - 尝试了不同的组合。
然后我像这样转换了生成的 .pb 文件:
然后我在两个股票应用程序中都替换了:iOS 简单和 Android 相机示例应用程序 tflite 模型与生成的模型。这会导致相同的错误:
错误:
安卓:
IOS:
问题:
如何解决...错误?:)
在我添加赏金时进行编辑: 目标是解释如何重新训练模型并使其与 tensorflow lite 一起运行。我知道这是非常新的,但我在文档中左右运行错误。
tensorflow - TensorFlow Lite:张量字符串缓冲区格式是 ASCII 还是 UTF-8?
字符串是否以 ASCII 或 UTF-8 格式存储在 .tflite 张量缓冲区中?
tensorflow - tensorflow lite toco python APl:NameError:“名称'tempfile'未定义”
但我在 python3 中收到错误为“NameError: name 'tempfile' is not defined”和 python2 中的“NameError: global name 'tempfile' is not defined”
如何让它发挥作用?
android - TensorFlow-Lite 预训练模型在 Android 演示中不起作用
Tensorflow-Lite Android 演示使用它提供的原始模型:mobilenet_quant_v1_224.tflite。见:https ://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/lite
他们还在这里提供了其他预训练的 lite 模型:https ://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/lite/g3doc/models.md
但是,我从上面的链接下载了一些较小的模型,例如 mobilenet_v1_0.25_224.tflite,并在演示应用程序中将原始模型替换为此模型,只需更改MODEL_PATH = "mobilenet_v1_0.25_224.tflite";
. ImageClassifier.java
该应用程序崩溃:
12-11 12:52:34.222 17713-17729/? E/AndroidRuntime:致命异常:CameraBackground 进程:android.example.com.tflitecamerademo,PID:17713 java.lang.IllegalArgumentException:无法获取输入尺寸。第 0 个输入应该有 602112 字节,但找到了 150528 字节。在 org.tensorflow.lite.NativeInterpreterWrapper.getInputDims(Native Method) 在 org.tensorflow.lite.NativeInterpreterWrapper.run(NativeInterpreterWrapper.java:82) 在 org.tensorflow.lite.Interpreter.runForMultipleInputsOutputs(Interpreter.java:
原因似乎是模型所需的输入尺寸是图像尺寸的四倍。所以我修改DIM_BATCH_SIZE = 1
为DIM_BATCH_SIZE = 4
. 现在错误是:
致命异常:CameraBackground 进程:android.example.com.tflitecamerademo,PID:18241 java.lang.IllegalArgumentException:无法将 FLOAT32 类型的 TensorFlowLite 张量转换为 [[B 类型的 Java 对象(与 TensorFlowLite 类型 UINT8 兼容)在 org.tensorflow.lite.Tensor.copyTo(Tensor.java:36) 在 org.tensorflow.lite.Interpreter.runForMultipleInputsOutputs(Interpreter.java:122) 在 org.tensorflow.lite.Interpreter.run(Interpreter.java:93 ) 在 com.example.android.tflitecamerademo。ImageClassifier.classifyFrame(ImageClassifier.java:108) at com.example.android.tflitecamerademo.Camera2BasicFragment.classifyFrame(Camera2BasicFragment.java:663) at com.example.android.tflitecamerademo.Camera2BasicFragment.access$900(Camera2BasicFragment.java:69) com.example.android.tflitecamerademo.Camera2BasicFragment$5.run(Camera2BasicFragment.java:558) at android.os.Handler.handleCallback(Handler.java:751) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:154) 在 android.os.HandlerThread.run(HandlerThread.java:61)
我的问题是如何让简化的 MobileNet tflite 模型与 TF-lite Android Demo 一起使用。
(我实际上尝试了其他事情,例如使用提供的工具将 TF 冻结图转换为 TF-lite 模型,甚至使用与https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib中完全相同的示例代码/lite/toco/g3doc/cmdline_examples.md,但转换后的tflite模型在Android Demo中仍然无法使用。)
c++ - 如何在 Tensorflow Lite 中使用属性添加自定义运算符
我按照以下说明在 Tensorflow 中添加了自定义运算符: https ://www.tensorflow.org/extend/adding_an_op
现在我想将相同的运算符添加到 Tensorflow Lite。我按照此说明在 TF Lite 中添加自定义运算符,但它没有说明如何添加具有属性的自定义运算符。像这样:
我尝试像内置运算符一样将 TfLiteNode* 节点转换为自定义参数结构,如 TfLiteLocalResponseNormParams,但问题是 TfLiteNode* 节点等于 NULL。
tensorflow - 如何将 TensorFlow Lite 模型量化为 16 位
以下代码片段创建一个 8 位量化的 TF Lite 模型,并替换QUANTIZED_UINT8
为FLOAT
创建一个 32 位模型。是否有任何标志可以创建 16 位量化模型?我搜索了 TF Lite 文档,但在可能的标志列表中找不到任何文档。有谁知道如何做到这一点?