问题标签 [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 模型是否已经量化?
转换后的tensorflow lite模型是否总是有量化的计算和输出?还是取决于张量流模型的输入和推理类型?
tensorflow - 我正在尝试对 tensorflow lite 模型进行量化的 mobilenet 模型,但遇到错误
首先,我从 Mobilenet 下载了一个量化模型。它包含在 Mobilenet_v1_1.0_224 中。然后我做了以下
以下是图表摘要
所以通过进行转换,我遇到了以下错误
140 个运算符,232 个数组(0 个量化) 2018-03-01 23:12:03.374916:I tensorflow/contrib/lite/toco/graph_transformations/graph_transformations.cc:39] 一般图形转换通过 1:63 个运算符,152 个数组( 1 个量化)2018-03-01 23:12:03.376325:I tensorflow/contrib/lite/toco/graph_transformations/graph_transformations.cc:39] 预量化图转换之前:63 个运算符,152 个数组(1 个量化)2018-03 -01 23:12:03.377492: F tensorflow/contrib/lite/toco/tooling_util.cc:1272] 数组 MobilenetV1/MobilenetV1/Conv2d_0/Relu6,它是 DepthwiseConv 算子的输入,产生输出数组 MobilenetV1/MobilenetV1/Conv2d_1_depthwise/ Relu6,缺少最小/最大数据,这是量化所必需的。要么针对非量化输出格式,
谢谢你的帮助
android - 在移动设备上运行循环神经网络(推理)的最快方法
我所拥有的:Tensorflow 中经过训练的循环神经网络。
我想要的:一个可以尽可能快地运行这个网络的移动应用程序(仅限推理模式,无需训练)。
我相信有多种方法可以实现我的目标,但我希望您提供反馈/更正和补充,因为我以前从未这样做过。
- 张量流精简版。Pro:直截了当,可在 Android 和 iOS 上使用。魂斗罗:可能不是最快的方法,对吧?
- 张量RT。Pro:非常快 + 我可以编写自定义 C 代码以使其更快。魂斗罗:用于 Nvidia 设备,所以在 Android 和 iOS 上运行并不容易,对吧?
- 自定义代码 + 库,如 openBLAS。Pro:可能非常快,并且有可能在 iOS 上的 Android 上链接到它(如果我没记错的话)。对比:循环神经网络有多大用处?它真的在 Android + iOS 上运行良好吗?
- 重新实现 Everything。我还可以用 C/C++ 重写整个计算,这对于循环神经网络来说应该不会太难。Pro:可能是最快的方法,因为我可以优化所有内容。反对:需要很长时间,如果网络发生变化,我也必须更新我的代码(尽管如果它真的是最快的,我愿意这样做)。另外,在 Android 上调用库 (C/C++) 的速度有多快?我是否受到 Java 接口的限制?
有关移动应用程序的一些详细信息。该应用程序将记录用户的声音,进行一些处理(如 Speech2Text)并输出文本。我不想找到“足够快”的解决方案,而是最快的选择,因为这将发生在非常大的声音文件上。所以几乎每一次速度改进都很重要。你有什么建议,我应该如何解决这个问题?
最后一个问题:如果我想雇人来帮助我,我应该寻找 Android/iOS-、Embedded- 或 Tensorflow- 类型的人吗?
tensorflow - 我可以将 tensorflow inception pb 模型转换为 tflite 模型吗?
我看到了转换tensorflow pb模型的指南,只给了mobilenet模型
所以我的问题是,我可以将 tensorflow inception pb 模型转换为 tflite 模型吗?
如果是,我在哪里可以获得检查点 (ckpt) 文件?我在https://github.com/tensorflow/models/tree/master/research/slim/nets中找不到它们的初始模型。
我错过了什么吗?
android - 如何将 tensorflow 模型文件转换为 tensorflow lite?graph.pb 到 graph.lite
(base) C:\tensorflow-master>bazel run --config=opt \ //tensorflow/contrib/lite/toco:toco -- \ --input_file=optimized_graph.pb \ --output_file=abc.tflite \ -- input_format=TENSORFLOW_GRAPHDEF \ --output_format=TFLITE \ --inference_type=FLOAT \ --input_shape=1,128,128,3 \ --input_array=input \ --output_array=final_result 警告:配置值未在任何 .rc 文件中定义:选择错误:未找到运行目标信息:经过时间:11.002 秒失败:构建未成功完成(加载了 0 个包)错误:构建失败。未运行目标
tensorflow - tensorflow lite 推理与常规推理给出不同的结果
我有一个模型,可以从图像中提取 512 个特征(-1,1 之间的数字)。我使用这里的说明将这个模型转换为 tflite 浮点格式 https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/lite
我使用原始模型和 tflite 模型对同一图像进行推理。
我得到了不同的向量结果,我期望得到非常相似的结果,因为我没有使用量化格式。据我了解,tf-lite 应该只提高推理性能时间而不影响特征计算。
我的问题这正常吗?其他人遇到过这个吗?我在任何地方都没有找到任何关于这个的话题。
用代码更新。
我有这个我训练过的网络(删除了许多项目,因为我无法共享完整的网络)placeholder = tf.placeholder(name='input', dtype=tf.float32,shape=[None, 128,128, 1])
bazel-bin/tensorflow/contrib/lite/toco/toco --input_file=/tmp/network_512.pb --input_format=TENSORFLOW_GRAPHDEF --output_format=TFLITE --output_file=/tmp/tffiles/network_512.tflite --inference_type=FLOAT --input_type=FLOAT --input_arrays=input --output_arrays=embeddings --input_shapes=1,128,128,1
我在 python 中使用 tensorflow 运行 network_512.pb,使用https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/lite/java/demo 中的代码运行 network_512.tflite,我在其中修改了代码以加载我的联网并运行它。
tensorflow - 使用 toco 将假量化 tensorflow 模型(.pb)转换为 tensorflow lite 模型(.tflite)失败
我尝试按照tensorflow 量化中的说明生成量化的 tensorflow lite 模型。
首先,我在训练过程中使用 tf.contrib.quantize.create_training_graph() 和 tf.contrib.quantize.create_eval_graph() 将假量化节点插入到图中,最后生成一个冻结的 pb 文件(model.pb)。
其次,我使用以下命令将我的假量化 tensorflow 模型转换为量化 tensorflow lite 模型。
隐蔽过程失败,日志如下:
有什么问题,我错在哪里?
android - Tensorflow Lite 示例:Wifi 摄像头支持?
我想在 iOS/Android 上使用带有 Wifi 摄像头的Tensorflow Lite 示例。目前支持吗?
注意:移动设备将充当 Wifi 热点,摄像机将通过RTSP进行直播。
如果不支持,我可以在 GitHub 上打开功能请求吗?
提前致谢。
编辑:我完全错了使用相机馈送的这个样本。它使用一个简单的图像。对于那个很抱歉。
tensorflow - Tensorflow Lite 导出看起来不添加权重并添加不受支持的操作
我想用检查点中保存的权重重新加载我的一些模型变量,然后将其导出到 tflite 文件。
没有查看代码,这个问题有点棘手,所以我用完整的代码制作了这个 Colab jupyter notebook 以更好地解释它(所有代码都在工作,你实际上可以复制一个新的协作并根据需要进行更改):
https://colab.research.google.com/drive/1wSor4CxEz36LgElVi4y_N8uiSt4-j9b2#scrollTo=XKBQzoW_wd4A
我让它工作但有两个问题:
- 导出的 .tflite 文件就像 3Ks,所以我不相信它是包含权重的整个模型。只有输入是128x128x3的图像,每一个权重超过3K。
- 当我最终在 Android 中导入模型时,出现此错误:“未找到名称‘VariableV2’的自定义操作/n 未找到名称‘ReorderAxes’的自定义操作/n 注册失败。”
也许最后一个错误是导致保存/恢复操作?当我保存图形定义时,它们看起来就在那里。
提前致谢。
tensorflow - 如何在制作 TensorFlow Lite 模型时设置 input_array 和 output_array 名称
操作系统平台和发行版:Linux Ubuntu 14.04 TensorFlow 版本:来自二进制的 tensorflow (1.4.0),CUDA/cuDNN 版本:cuda 8.0
我已经使用 tensorflow 训练了一个自定义模型,并且我正在尝试将其作为移动应用程序的 tensorflow lite 模型。我的模型定义如下:
其中 conv4_1 和 conv4_2 是输出层。
我冻结模型:
之后,我可以使用 tensorboard 来查看图表。当我读回来仔细检查时,我得到了与检查点模型相同的信息。
然后,我尝试将 frozen_model.pb 保存到 tensorflow lite 模型。虽然 tensorflow 1.4.0 没有 tensorflow lite 模块,但我从 github 和 bazel run toco 签出了 tensorflow,如下所示:
但是,我收到有关未找到输出数组的错误:
问题:
如何设置
--output_array=Squeeze,Squeeze_1
参数?我认为它与张量板中的输出节点相同freeze_graph()
,我确实找到了“Squeeze”和“Squeeze_1”节点如何设置
--input_shape=1,128,128,3 --input_array=image_height,image_width,input_image
参数?我检查并发现手机确实有固定大小的图像输入,但在我的模型中,输入图像的大小和完全卷积输入没有固定大小,例如:
那么,如何将其写为输入形状?