【问题标题】:tensorflow bazel-bin optimized_graph don't loss volumetensorflow bazel-bin optimize_graph 不损失体积
【发布时间】:2018-06-25 16:33:58
【问题描述】:

我必须从 tensorflow 移植到 android。 培训后,我制作了“.pb”文件。 对于压缩,我必须运行

"bazel-bin/tensorflow/python/tools/optimize_for_inference --input=myfile.pb --output=optimized.pb --input_names=input --output_names=output"

但它不适用于具有 258mb 文件大小的“myfile”。在优化图形之后,“输出文件”仍然有 258mb 文件大小。

请告诉我解决方案。

感谢阅读。

【问题讨论】:

    标签: android tensorflow optimization porting


    【解决方案1】:

    推理优化只删除无用的节点,并尽可能将操作打包在一起。 你想要的是round_weights。这会稍微改变网络的权重,使网络更可压缩(当然,代价是精度略有变化)。

    "Optimizing for mobile" section of TF's website,您可以找到该工具的详细信息、如何使用它以及它的所有注意事项。

    在该链接中,您还可以找到为什么您的文件不压缩(以及为什么会,在四舍五入权重后)的解释:

    原始文件不能用标准算法很好地压缩, 因为即使是非常相似的数字的位模式也可能非常 不同的。 round_weights 变换保持权重参数 存储为浮点数,但将它们四舍五入为一组步长值。这个 意味着存储模型中有更多重复的字节模式, 因此压缩通常可以显着减小尺寸,在许多情况下 如果将它们存储为 8 位,则大小将接近。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-18
      • 1970-01-01
      • 1970-01-01
      • 2018-12-08
      • 2017-04-10
      相关资源
      最近更新 更多