TensorFlow使用英特尔 MKL优化编译,许多操作将得到优化并支持 NCHW。
有人可以解释一下,为什么英特尔 MKL 比 NHWC 更支持 NCHW 格式?
TensorFlow使用英特尔 MKL优化编译,许多操作将得到优化并支持 NCHW。
有人可以解释一下,为什么英特尔 MKL 比 NHWC 更支持 NCHW 格式?
TensorFlow 默认的 NHWC 格式不是 CPU 最有效的数据布局,它会导致一些额外的转换开销。因此英特尔 MKL 支持 NCHW 格式
MKLDNN 将在自定义(阻塞)内存布局上运行其大部分计算量大的数学,并且从 NCHW --> 阻塞的转换需要与 NHWC --> 阻塞相似的时间。因此,纯 MKLDNN 原始加速度应该没有区别。不同之处在于某些基于 GEMM 的数学运算,默认情况下适用于 NCHW 格式,这意味着如果输入格式为 NCHW,某些 matmul 调用将不需要布局转换。