【问题标题】:Tensorflow-Lite - Benchmark tool - Varying resultsTensorflow-Lite - 基准工具 - 不同的结果
【发布时间】:2018-09-23 03:48:44
【问题描述】:

我正在尝试将 TFLite Benchmark tool 与 mobilenet 模型一起使用,并在微秒内检查最终的 inference time 以比较不同的模型。我面临的问题是运行之间的结果不同。我还在与reducing variance between runs on Android 相关的文档中找到了此部分。它解释了如何在运行基准测试之前设置 CPU 亲和性以在运行之间获得一致的结果。目前使用 Redmi Note 4 和 One Plus 进行工作。

  1. 请有人解释一下我应该为我的实验设置什么 CPU affinity 值?

  2. 我可以在线或在 Android 手机上找到不同手机的亲和力掩码吗?

  3. 当我增加 --warmup_runs 参数的数量时,我得到的结果变化较小。是否有更多方法可以使我的结果更加一致?

  4. Android 手机上的后台进程是否会影响我的inference time?有没有办法阻止它们以减少结果差异?

【问题讨论】:

    标签: android performance tensorflow tensorflow-lite


    【解决方案1】:
    1. 正如文档所建议的那样,任何值都可以,只要您在实验中保持一致即可。要考虑的一件事是使用大内核还是小内核(如果您是 big.little 架构),通常两者都尝试是好的(它们具有不同的缓存大小等)

      李>
    2. 是的,您通常可以在线找到此信息。以http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0515b/CJHBGEBA.html 为例。您需要查看您的特定手机,查看它使用的特定 CPU,然后通过谷歌搜索更多信息。

    3. 我已经尝试过 --warmup_runs = 2000+ 并且通常它非常稳定。较小的模型有更多的变化。对于密集型型号(至少对于特定设备),您可能想查看设备是否过热等。我还没有在中端手机上看到过这种情况,但听说人们有时会将他们的设备放在凉爽的地方(风扇、冰箱)。

    4. 他们可能会,但这是不可避免的。您能做的最好的事情就是关闭所有应用程序并断开与互联网的连接。不过,我个人还没有看到它们引入太多差异。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-03
      • 2019-05-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多