【发布时间】:2019-06-19 06:23:26
【问题描述】:
此问题与在 TFLite 转换期间作为不需要的属性出现的 Cast-reordering 相关。我们有一个 pb 文件,其中 reshape 运算符发生在 Cast 操作之前。我们基本上想要一个在移动 GPU 中更快的重塑操作,首先执行,然后是在 CPU 中运行的 Cast 操作。但是由于未知的原因,执行流在中间从 GPU 跳到了 CPU,首先执行 Cast 运算符。这些 reshape 和 Cast 转换是按此顺序完成的,以便获得一些速度。将数据从移动 GPU 复制到移动 CPU,如果它是在较小的维度上完成的,而不是 4 维,被证明是决定模型运行时间的一个很好的因素。即使在 pb 级别,Cast 显示在 Reshape 运算符之后,on tf-lite 级别,职位正在发生变化。当在基准工具和 Netron 上分析图表时,引入了一个称为 Cast-reorder 的附加输入。什么是 Cast 重新排序,如何消除?
1) 在 Reshape 级别切断图形时,图形与预期一致,但没有 Cast 运算符。
【问题讨论】:
标签: android tensorflow protocol-buffers tensorflow-lite