由于目前没有简单的方法来分析TensorFlow操作(Can I measure the execution time of individual operations with TensorFlow?),任何人都可以帮助我理解使用分段操作(例如segment_sum
)与在预分段上使用多个操作相比的好处张量? segment_sum
比使用dynamic_partition
或gather
后跟多个reduce_sum
更有效吗? segment_sum
可以同等并行吗?
答案 0 :(得分:0)
我已经更新了您链接的SO问题以及我们最近发布的有关CPU推理分析工具的一些信息: https://github.com/tensorflow/tensorflow/tree/master/tensorflow/tools/benchmark
不幸的是,整体问题很难回答,因为它取决于:
您是否专注于培训或推理。
如果你正在使用GPU,那么是什么类型和数量。
您是否正在分发。
您的数据是什么样的,以及瓶颈在哪里。
我通常最终要做的是构建代表我正在考虑的操作类型的小子图,然后计算他们对我将要提供的数据类型的处理时间我知道这不会立即有用,因为实验可能非常耗时,但这是了解特定环境下最佳解决方案的最佳方法。