Виправлення: Ваш процесор підтримує інструкції, що цей бінарний файл TensorFlow не був скомпільований для використання AVX2

Розширені векторні розширення ( AVX, також відомий як Sandy Bridge New Extensions ) - це розширення до архітектури наборів інструкцій x86 для мікропроцесорів від Intel та AMD, запропонованих Intel в березні 2008 р. від AMD з доставкою процесора Bulldozer у третьому кварталі 2011 року. AVX пропонує нові функції, нові інструкції та нову схему кодування.

Попередження показано в cmd

Це попередження надрукується спільною бібліотекою TensorFlow. Як вказується в повідомленні, спільна бібліотека не містить тих інструкцій, якими міг би користуватися ваш процесор.

Що викликає це попередження?

Після TensorFlow 1.6 бінарні файли тепер використовують інструкції AVX, які більше не можуть працювати на старих процесорах. Таким чином, старі процесори не зможуть запустити AVX, тоді як для більш нових, користувачеві необхідно побудувати тензорфлоу з джерела для свого процесора. Нижче наведена вся інформація, яку вам потрібно знати про це особливе попередження. Також метод про позбавлення від цього попередження для подальшого використання.

Що робить AVX?

Зокрема, AVX представив FMA (Fused multiply-add); що є операцією множення-додавання з плаваючою комою, і ця вся операція робиться в один крок. Це допомагає пришвидшити багато операцій без проблем. Це робить обчислення алгебри більш швидким і простим у використанні, також крапковий продукт, множення матриці, згортання тощо. І це все найбільш використовувані та основні операції для кожного машинного навчання. Процесори, що підтримують AVX і FMA, будуть набагато швидшими, ніж старіші. Але в попередженні зазначається, що ваш процесор підтримує AVX, тому це хороший момент.

Технологія Intel AVX

Чому він не використовується за замовчуванням?

Це тому, що розподіл за замовчуванням TensorFlow побудований без розширень CPU. За розширеннями процесора він констатує AVX, AVX2, FMA тощо. Інструкції, які викликають цю проблему, не доступні за замовчуванням для наявних збірок за замовчуванням. Причини, через які вони не ввімкнуті, - це зробити це більш сумісним із якомога більшою кількістю процесорів. Для порівняння цих розширень вони набагато повільніші в процесорі, а не в GPU. ЦП використовується для маломасштабного машинного навчання, тоді як використання GPU очікується, коли він використовується для середнього або масштабного машинного навчання.

Виправлення попередження!

Ці застереження - це просто прості повідомлення. Мета цих попереджень - інформувати вас про вбудований TensorFlow з джерела. Коли ви будуєте TensorFlow з джерела, він може бути швидшим на машині. Тож усі ці попередження говорять вам про те, як створити TensorFlow з джерела.

Якщо на комп'ютері у вас є графічний процесор, ви можете ігнорувати ці попередження від підтримки AVX. Тому що найдорожчі будуть відправлені на пристрій GPU. І якщо ви хочете більше не бачити цю помилку, ви можете просто проігнорувати її, додавши цю:

імпортуйте модуль ОС у свій основний програмний код, а також встановіть об’єкт відображення для нього

 # Для відключення імпорту попередження os os.environ ['TF_CPP_MIN_LOG_LEVEL'] = '2' 

Але якщо ви перебуваєте на Unix, то використовуйте команду експорту в bash shell

 експортувати TF_CPP_MIN_LOG_LEVEL = 2 

Але якщо у вас немає GPU, і ви хочете максимально використовувати ваш процесор, вам слід створити TensorFlow з джерела, оптимізованого для вашого процесора з включеними AVX, AVX2 та FMA тут.

Цікаві Статті