Tensorflow XLA 和 Tensorflow Lite / Android NNAPI 有什么区别?

Dav*_*rks 4 hexagon-dsp tensorflow tensorflow-xla tensorflow-lite

Tensorflow 推出了 XLA 编译器,它编译针对 LLVM 的后端 C++ 张量流。我对 XLA 的理解是,只要有 LLVM -> 设备支持,它就是支持通用加速设备的一步。

Tensorflow lite 最近发布,取代了 Tensorflow Mobile,似乎工作重点是针对嵌入式和移动设备,并且明显关注嵌入式 DSP 和 GPU 作为这些环境中常见的可选处理器。Tensorflow lite 似乎将操作移交给 Android NNAPI(神经网络 API),并支持 TensorFlow OP 的子集。

所以这就引出了一个问题:Google 将朝哪个方向支持非 CUDA 设备?XLA 是否还有超出我描述范围的用例?

小智 6

我在 XLA 上工作。XLA 编译器具有三个后端:CPU、GPU 和 TPU。CPU和GPU基于LLVM并且是开源的,TPU是闭源的。

我不知道 XLA 针对移动设备的计划是什么,所以我无法对此发表评论。

将 XLA 与 TF 模型结合使用(而不是直接执行模型)的一个好处是,XLA 为您融合了许多操作。例如,请参阅这篇文章。