Оптимизация Tensorflow Intel MKL с форматом данных NHWC

TensorFlow скомпилирован с оптимизацией Intel MKL, многие операции будут оптимизированы и будут поддерживать NCHW.

Может кто-нибудь объяснить, почему Intel MKL поддерживает формат NCHW больше, чем NHWC?

1 ответ

Формат NHWC по умолчанию TensorFlow - не самый эффективный формат данных для ЦП, и это приводит к некоторым дополнительным накладным расходам на преобразование. Однако поддержка Intel MKL поддерживает формат NCHW

MKLDNN будет выполнять большую часть вычислений, требующих большого объема вычислений, в пользовательской (заблокированной) структуре памяти, а преобразование из NCHW -> заблокировано занимает время, аналогичное NHWC -> заблокировано. Так что не должно быть никакой разницы для чистых ускорений MKLDNN. Разница заключается в некоторой математике на основе GEMM, которая по умолчанию работает с форматом NCHW, а это означает, что для некоторых вызовов matmul НЕ потребуется преобразование макета, если входной формат - NCHW.

Другие вопросы по тегам