我们可以在Linux上运行tensorflow lite吗?或仅适用于android和ios

时间:2018-12-20 07:29:15

标签: linux tensorflow-lite

嗨,是否有可能在linux平台上运行tensorflow lite?如果是,那么我们如何在Java / C ++ / python中编写代码以在Linux平台上加载和运行模型?我熟悉bazel,并使用tensorflow lite成功制作了Android和ios应用程序。

5 个答案:

答案 0 :(得分:3)

我认为其他答案都是错误的。

看,我将告诉您我的经验...我已经使用Django多年了,并且我一直在使用普通的tensorflow,但是在模型中拥有4个或5个或更多模型存在问题同一项目。 我不知道您是否知道Gunicorn + Nginx。这会产生工作量,因此,如果您有4个机器学习模型,则它乘以每个工作量,如果有3个工作量,则RAM中将预加载12个模型。这根本没有效率,因为如果RAM溢出,您的项目将崩溃,或者实际上服务响应会变慢。

这就是Tensorflow lite的用武之地。从tensorflow模型切换到tensorflow lite可以改善效率,并使事情变得更加高效。时间荒唐地减少了。 此外,可以配置Django和Gunicorn,以便同时预加载和编译模型。因此,每当API用完时,它只会生成预测,这有助于您使每个API调用的时间缩短一秒钟。 目前,我有一个生产中的项目,其中有14个模型和9个工人,您可以从RAM上了解其规模。 除了进行数千次额外的计算之外,在机器学习之外,API调用也不会花费超过2秒的时间。 现在,如果我使用正常的张量流,则至少需要4到5秒钟。

总而言之,如果您可以使用tensorflow lite,那么我每天都在Windows,MacOS和Linux中使用它,根本就不需要使用Docker。只是一个python文件而已。如果您有任何疑问,可以没有任何问题地问我。

答案 1 :(得分:2)

我同意Nouvellie。可能并且值得花时间实施。我在Ubuntu 18.04 32处理器服务器上开发了一个模型,并将该模型导出到tflite。该模型在我的ubuntu服务器上运行了178秒。在具有4GB内存的树莓派pi4上,tflite实现运行了85秒,不到服务器时间的一半。当我在服务器上安装tflite时,运行时间下降到22秒,性能提高了8倍,现在比rpi4快4倍。

要安装python,我不必构建软件包,但可以在这里使用其中一个预构建的解释器:

https://www.tensorflow.org/lite/guide/python

我有带Python 3.7.7的Ubuntu 18.04。因此,我使用Linux python 3.7软件包运行了pip安装:

pip3安装 https://dl.google.com/coral/python/tflite_runtime-2.1.0.post1-cp37-cp37m-linux_x86_64.whl

然后使用以下命令导入软件包:

从tflite_runtime.interpreter导入解释器

以前的帖子显示了如何使用tflite。

答案 2 :(得分:1)

来自Tensorflow lite

  

TensorFlow Lite是TensorFlow的用于移动和嵌入式设备的轻量级解决方案。

Tensorflow lite是用于嵌入式设备的tensorflow的分支。对于PC,只需使用原始的tensorflow。

来自github tensorflow

  

TensorFlow是一个开源软件库

  

TensorFlow提供稳定的Python API和C API,并且没有API向后兼容性保证,例如C ++,Go,Java,JavaScript和Swift。

  

我们在Linux,Mac和Windows上支持CPU和GPU软件包。

>>> import tensorflow as tf
>>> tf.enable_eager_execution()
>>> tf.add(1, 2)
3
>>> hello = tf.constant('Hello, TensorFlow!')
>>> hello.numpy()
'Hello, TensorFlow!'

答案 3 :(得分:1)

可以运行(但运行速度比原始tf慢)

示例

dataclasses

答案 4 :(得分:0)

是的,您可以编译Tensorflow Lite以在Linux平台上运行,甚至可以使用Docker容器。观看演示:https://sconedocs.github.io/tensorflowlite/