2017-02-02 4 views
3

Как я использую следующую команду после импорта tensorflow в Python 2.7: sess = tf.Session()Tensorflow Компиляция Ускорение CPU

Предупреждения/ошибки:

tensorflow/ядро ​​/ платформа/cpu_feature_guard.cc: 45 ] Библиотека TensorFlow не была скомпилирована для использования инструкций SSE4.2, но они доступны на вашем компьютере и могут ускорить вычисления ЦП.

2017-02-02 00: 41: 48,616602: W tensorflow/ядро ​​/ платформа/cpu_feature_guard.cc: 45] Библиотека TensorFlow не был составлен, чтобы использовать инструкции AVX, но они доступны на вашей машине и может ускорить вычисления ЦП.

2017-02-02 00: 41: 48,616614: W tensorflow/ядро ​​/ платформа/cpu_feature_guard.cc: 45] Библиотека TensorFlow не был скомпилирован для использования инструкции AVX2, но они доступны на вашей машине и может ускорить вычисления ЦП.

2017-02-02 00: 41: 48,616624: W tensorflow/ядро ​​/ платформа/cpu_feature_guard.cc: 45] Библиотека TensorFlow не был составлен, чтобы использовать инструкции FMA, но они доступны на вашей машине и может ускорить вычисления ЦП.

Пожалуйста, помогите мне исправить это, поэтому я могу использовать свою машину на оптимальной мощности.

+0

Hi, как вы все вокруг установка тензор поток? Используя метод 'pip' или вы построили его из источника? – Giridhur

+0

Должен строиться из источника с использованием -march = native flag –

+0

@Gridhur Я построил его из источника, используя некоторые указания, указанные на следующих сайтах: [link] (https://alliseesolutions.wordpress.com/2016/09/08/install -gpu-tensorflow-from-sources-w-ubuntu-16-04-and-cuda-8-0-rc /) – va4az

ответ

2

Эти предупреждения просто говорят, что если вы создадите TensorFlow из источника, он может работать быстрее на вашем компьютере. Нет никакого исправления, поскольку это не проблема, а предполагаемое поведение для предоставления этой информации пользователям.

Эти инструкции процессора по умолчанию не были включены для обеспечения более широкой совместимости с большинством машин.

Как Docs говорит:

TensorFlow проверяет при запуске, был ли он составлен с оптимизаций, доступных на процессоре. Если оптимизация не включена, TensorFlow выдаст предупреждения, например. AVX, AVX2 и FMA не включены.

Для получения дополнительной информации об этом см. Performance Guide.

+0

@ Адриано, я построил его из источника. – va4az

+0

@ va4az Когда вы настраивали TensorFlow, вам были предложены флаги, которые вы хотели бы включить, в настоящее время, если вы разрешите его по умолчанию, он позволяет поддерживать инструкции, поддерживаемые вашим процессором, и TensorFlow строит с ними. Или у вас нет этих доступных или вы не строили с ними. Использовать 'gcc -march = native -Q --help = target | grep enable' для получения доступных оптимизаций. См. [Этот вопрос] (http://stackoverflow.com/questions/41293077/how-to-compile-tensorflow-with-sse4-2-and-avx-instructions) для получения дополнительной информации о компиляции с этими инструкциями – Adriano

-1

Эти предупреждения, которые вы видите, сообщают вам, что скомпилированный код не использует эти инструкции, которые у вас есть, но не все CPU там. Когда составители компилируют коды для репозиториев, их необходимо скомпилировать таким образом, чтобы он поддерживал большинство процессоров там, что означает, что они сообщают компилятору использовать специфические для архитектуры инструкции.

Если вы хотите, чтобы пакет использовал все инструкции, которые у вас есть, вам необходимо скомпилировать его самостоятельно или, как его называют, установить из источника. Вы можете найти документацию о том, как это сделать here, и как только вам будет удобно компилировать tensorflow из источника, вам следует пойти и прочитать performance specific instructions.

Однако в конце дня для приложений realworld вам может понадобиться GPU.Это правда, что эти инструкции процессора дают вам немного повышения производительности, но это не сопоставимо с использованием графического процессора.

Смежные вопросы