【问题标题】:How to estimate the run time of a neural network on mobile phones?如何估计神经网络在手机上的运行时间?
【发布时间】:2021-11-18 14:29:10
【问题描述】:

我训练了一个大约有 26000 个参数的神经网络,我打算用它在手机上进行实时推理。我想知道是否有一种方法可以根据网络的大小和操作设备来估计神经网络的运行时间。

【问题讨论】:

  • edge devices 不是典型的路由器吗?
  • 我想我可能在这里使用了错误的术语。对此感到抱歉。
  • 请编辑问题以将其限制为具有足够详细信息的特定问题,以确定适当的答案。

标签: android ios keras deep-learning pytorch


【解决方案1】:

您需要估计运行模型所需的浮点运算 (FLOPS) 的数量。例如,将两个N x N 矩阵相乘算作2 N^3 FLOPS。 (PyTorch 中有software packages that help you do that)顺便说一下,1 次乘加算作 2 次 FLOPS。

然后,您需要了解您的目标 设备的功能。它每秒可以执行多少次浮点运算?这提供了代码运行速度的上限。你的代码会达到这个理论极限吗?这还不清楚,但这给了你一些东西。问题越简单(小张量),您就越有可能落后于这个限制。

如果您量化模型以进行部署,则需要相应地调整计算(使用相关整数运算的速度)。

【讨论】:

    猜你喜欢
    • 2018-02-05
    • 1970-01-01
    • 2018-08-29
    • 2020-10-21
    • 2014-10-31
    • 2018-03-26
    • 1970-01-01
    • 2020-10-19
    • 2021-12-27
    相关资源
    最近更新 更多