Jon*_*ark 3 eigen tensorflow tensorflow-lite
我从各种来源(主要来自官方文档)听说 Tensorflow Lite(针对 ARM)使用这三个库 - Ruy、Eigen、XNNPACK - 进行操作。
我知道它们以某种方式加速了 TF Lite 中的计算(主要是卷积),但我不确定每个库的用途是什么。我知道 Eigen 是一个 BLAS 库,但我不确定其他库是什么以及它们在 TF Lite 中如何相互关联。
有人愿意解释一下它们有哪些不同的用途以及它们如何在 TF Lite 中结合使用吗?(也许是调用堆栈?)
我一直在查看每个库的官方文档,但找不到 Ruy 和 XNNPACK 的更多详细信息。Ruy 说它提供了高效的矩阵乘法,但这不是 BLAS 库所做的吗?
小智 6
旧版本的 TensorFlow Lite 使用Eigen和Gemmlowp库来加速计算。然而,在 Arm 平台上,与 Arm 计算库相比,性能最差。
TensorFlow Lite 在 2.3 版本左右替换了 Eigen 和 Gemmlowp,并使用Ruy矩阵乘法库。他们的目的相似,但鲁伊表现更好。Arm 平台上默认使用 Ruy,但您仍然可以在不使用 Ruy 的情况下编译 TensorFlow Lite。
XNNPACK 的性能比 Ruy 还要好,但它只专注于浮点运算。
关于Ruy性能基准检查此线程https://github.com/google/ruy/issues/195,以及Pixel4上的基准https://docs.google.com/spreadsheets/d/1CB4gsI7pujNRAf5Iz5vuD783QQqO2zOu8up9IpTKdlU/edit#gid=510573209。
| 归档时间: |
|
| 查看次数: |
2075 次 |
| 最近记录: |