问题标签 [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.
python - 量化如何以及何时在 TFLite 图中起作用?
我有一个 TF 模型,它经过量化训练、冻结、使用 TOCO 转换为 tflite,现在我有了 TFLite HTML 图形模型和 json。
我可以看到,对于图中的每个张量,每个张量都有量化属性(最小值、最大值、比例、零点),我试图确定这些属性中的每一个如何应用于每个张量。
例如,我了解量化数据的表示,并且我可以理解采用量化的权重/偏差,乘以比例并添加最小值会返回原始的权重/偏差(几乎)。
我不明白的是:
- 为什么有些张量具有量化属性(例如 Relu、Sigmoid)但没有内在参数(例如权重和偏差)?是因为它们是输出张量并且在数据输入到下一个操作之前应用了量化吗?
- 在通过模型的数据流期间在哪些点(如果有)应用量化?例如,假设有一个浮点图像张量通过了 conv2d 操作 - weights/bias/relu 的量化属性在哪里以及如何用于获取 conv2d 操作的输出?
本质上,如果我将 TFLite 模型数据解析为一个 numpy 数组,那么我需要了解关于通过网络的数据流(关于量化)的所有信息,以便从头开始重新创建模型进行推理.
我似乎找不到任何关于此的文档。任何帮助,将不胜感激。
android - TensorFlow toco - 从 *.pb 转换为 *.tflite 错误
当尝试使用 TensorFlow 的 toco 转换器将 *.pb 模型转换为 *.tflite(用于在 android 上运行)时,我得到以下信息
知道如何解决吗?
机器详情:OS Platform and Distribution - ubuntu x64, python version is 3.5.2, TensorFlow install from - pip, TensorFlow version - cpu version 1.8.0, Bazel version - 0.13.0, CUDA/cuDNN version - no cuda, GPU model和内存 - 没有 gpu,复制的确切命令 - 不需要
tensorflow - 使用 bazel 运行时找不到 Tensorflow toco pacakage
我正在尝试使用以下命令将 pb 文件转换为 tlite 文件:
bazel 运行 //tensorflow/contrib/lite/toco:toco --input_file=sample.pb --output_file=sample.tlite
我收到以下错误:错误:跳过//tensorflow/contrib/lite/toco:toco:在包路径上找不到构建文件。
我在 Python 文件夹下安装了 tensorflow 和 toco。Bazel run 命令的正确路径是什么?
android - TensorFlow - 使用 toco 将 *.pb 文件转换为 *.tflite 时出错
我使用以下示例创建 tensorflow 模型:http ://cv-tricks.com/tensorflow-tutorial/training-convolutional-neural-network-for-image-classification/ 您可以从此处下载代码:https:// github.com/sankit1/cv-tricks.com/tree/master/Tensorflow-tutorials/tutorial-2-image-classifier我还使用了http://cv-tricks.com/how 中的“2. Freezing the graph”部分-to/freeze-tensorflow-models/ 创建我的模型的 *.pb 文件。我尝试使用 toco 命令行工具转换 *.pb 文件,如https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/lite上的“将 TensorFlow SavedModel 转换为 TensorFlow Lite”中所述/toco/g3doc/cmdline_examples.md#savedmodel 并得到以下错误:
(venv) user@user-desktop:~/PycharmProjects/tensorflow_tutorial/tensorflow$ bazel run -c opt tensorflow/contrib/lite/toco:toco -- --savedmodel_directory=/home/user/PycharmProjects/tensorflow_tutorial/tutorial-2-图像分类器 --output_file=/home/user/PycharmProjects/tensorflow_tutorial/tutorial-2-image-classifier/dogs-cats-model.tflite 警告:/home/user/.cache/bazel/_bazel_user/e21a56d90e65395c94952f8aa3d0c4bc/external/protobuf_archive /WORKSPACE:1:/home/user/.cache/bazel/_bazel_user/e21a56d90e65395c94952f8aa3d0c4bc/external/protobuf_archive/WORKSPACE (@com_google_protobuf) 中的工作区名称与存储库定义 (@protobuf_archive) 中给出的名称不匹配;这将在未来版本中导致构建错误信息:已分析目标 //tensorflow/contrib/lite/toco:toco (0 个包已加载)。信息:找到 1 个目标... 警告:缓存/bazel/_bazel_user/e21a56d90e65395c94952f8aa3d0c4bc/execroot/org_tensorflow/bazel-out/k8-opt/bin/tensorflow/contrib/lite/toco/toco 信息:经过时间:0.271s,关键路径:0.00s 信息:0 个进程。信息:构建成功完成,总共 1 个操作信息:运行命令行:/home/user/.cache/bazel/_bazel_user/e21a56d90e65395c94952f8aa3d0c4bc/execroot/org_tensorflow/bazel-out/k8-opt/bin/tensorflow/contrib/lite/toco /toco '--savedmodel_directory=/home/user/PycharmProjects/tensorflow_tutorial/tutorial-2-image-classifier' '--output_file=/home/user/PycharmProjects/tensorflow_tutorial/tutorial-2-image-classifier/dogs-cats- model.tflite' 2018-05-07 01:33:13.776954: F tensorflow/contrib/lite/toco/toco_saved_model.cc:34]检查失败:tensorflow::MaybeSavedModelDirectory(model_path) 模型未以支持的 SavedModel 格式保存。
引发此错误的函数是 https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/lite/toco/toco_saved_model.cc 上的 MaybeSavedModelDirectory ,我 在https://github.com/ /github.com/tensorflow/tensorflow/blob/master/tensorflow/cc/saved_model/loader.cc 实际上它在模型目录中寻找 *.pb 或 *.pbtxt 文件,我在请求的位置得到了这个文件,所以为什么我得到这个错误?
机器详细信息:操作系统平台和分发 - ubuntu x64,TensorFlow 安装自 - pip,TensorFlow 版本 - cpu 版本 1.8.0,Bazel 版本 - 0.13.0,CUDA/cuDNN 版本 - 无 cuda,GPU 模型和内存 - 无 gpu,Exact命令重现 - 不需要,python 版本 - 3.5.2
android - tensorflow-lite and nnapi hw acceleration for embedded linux
TensorFlow-lite is for embedded linux system and Android NNAPI is for hw acceleration for Android system. I do like to find out solutions for embedded linux not android with Tensorflow-Lite hw acceleration.
ios - Tensorflow Lite .tflite 模型不适用于 iOS,但适用于 android
android 中的工作 .tflite 模型不适用于 iOS 应用程序
它给了NULL
uint8_t* out = interpreter->typed_tensor<uint8_t>(input);
我可以知道out = NULL的所有可能性是什么
我可以知道tensorflow-lite上提供的示例的输入原因是什么,输入= 88,我得到输入= 27
int input = interpreter->inputs()[0];
android - 使用 gradle 构建和运行 tensorflow lite demo
所以最近根据这个评论tensorflow lite 现在支持 mobilenet_ssd 进行对象检测。太好了.. 我设法用 bazel 构建和运行演示,但最初我想用 Android Studio 来做。不幸的是我做不到。
这是我得到的错误:
阅读评论,似乎我不是唯一对此感到困惑的人。有解决方案吗?或者目前没有针对此特定更新的 gradle 支持?
任何可以澄清这个问题的信息都非常感谢,因为我对人工智能世界还是新手。
android - Tensorflow Lite:没有名为 tf.contrib.lite 的模块
我尝试使用以下代码 (tf_lite_converter.py) 转换保存在 .pb 文件中的现有冻结图:
运行代码时
在我的 anaconda 环境中,它给了我错误:
我的目标是从我的 .pb-graph 中获得一个 tensorflowlite 模型,以便在 Android 应用程序中使用它。我已经尝试通过 bazel 使用 toco 构建 tflite,但可能(或很可能)我做错了什么,或者这不是解决问题的正确方法。
参考来自 Tensorflow-Developers 的视频: https ://youtu.be/FAMfy7izB6A?t=11m49s
android - java.lang.IllegalArgumentException:输出错误:输出目标 [1, 1917, 4] 的形状与张量 [1, 1917, 1, 4] 的形状不匹配
我已经用 tensorflow 训练了我自己的对象检测模型,并让它与适用于 android 的 Tensorflow mobile 一起工作。现在,自从 Tensorflow Lite 发布并在未来将取代移动设备后,我想开始使用它。Tensorflow 团队提供了一个用于对象检测的 TFLite 演示(您可以在此处找到它)。所以我试图让它与我的模型一起工作,但我在标题中得到了错误。这是日志猫:
注意:作为训练模型的检查点,我使用了 ssd_mobilenet_v1_coco_2017_11_17,我在代码中唯一更改的是这个(TFLiteObjectDetectionAPIModel.java):
因为我只有两个物体要检测。任何帮助或信息将不胜感激。