Поправете: Вашият CPU поддържа инструкции, че този двоичен файл TensorFlow не е компилиран за използване на AVX2

Разширените векторни разширения ( AVX, известен още като Sandy Bridge New Extensions ) са разширения към архитектурата на набор от инструкции x86 за микропроцесори от Intel и AMD, предложени от Intel през март 2008 г. и за първи път подкрепени от Intel с доставката на процесори Sandy Bridge през Q1 2011 и по-късно от AMD с доставка на процесора Bulldozer през Q3 2011 г. AVX предоставя нови функции, нови инструкции и нова схема за кодиране.

Предупреждението е показано в cmd

Това предупредително съобщение се отпечатва от споделената библиотека на TensorFlow. Както показва съобщението, споделената библиотека не включва вида инструкции, които вашият процесор би могъл да използва.

Какво причинява това предупреждение?

След TensorFlow 1.6, бинарните файлове вече използват AVX инструкции, които може да не работят повече на по-стари процесори. Така по-старите процесори няма да могат да стартират AVX, докато за по-новите, потребителят трябва да изгради tensorflow от източник за своя процесор. По-долу е цялата информация, която трябва да знаете за това конкретно предупреждение. Също така метод за освобождаване от това предупреждение за бъдеща употреба.

Какво прави AVX?

По-специално AVX въведе FMA (Fused multiply-add); което е операция с многократно добавяне с плаваща запетая и цялата тази операция се извършва в една стъпка. Това помага да се ускорят много операции без проблем. Това прави изчисляването на алгебрата по-бързо и лесно за използване, също така точков продукт, умножаване на матрица, преобръщане и т.н. И това са всички най-използвани и основни операции за всяко обучение за машинно обучение. Процесорите, които поддържат AVX и FMA, ще бъдат далеч по-бързи от по-старите. Но предупреждението гласи, че вашият процесор поддържа AVX, така че това е добра точка.

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

Защо не се използва по подразбиране?

Това е така, защото дистрибуцията по подразбиране TensorFlow е изградена без разширенията на процесора. Чрез разширенията на процесора той заявява AVX, AVX2, FMA и др. Инструкциите, които задействат този проблем, не са активирани по подразбиране за наличните по подразбиране компилации. Причините да не са активирани е да направят това по-съвместимо с възможно най-много процесори. Освен това, за да сравним тези разширения, те са много по-бавни в процесора, а не в графичния процесор. Процесорът се използва за дребно машинно обучение, докато се очаква GPU, когато се използва за средно или мащабно машинно обучение.

Поправяне на предупреждението!

Тези предупреждения са просто прости съобщения. Целта на тези предупреждения е да ви информира за изградения TensorFlow от източника. Когато изградите TensorFlow от източника, той може да бъде по-бърз на машината. Така че всички тези предупреждения ви казват е изграждането на TensorFlow от източника.

Ако имате графичен процесор на вашето устройство, можете да пренебрегнете тези предупреждения от поддръжката на AVX. Защото най-скъпите ще бъдат изпращани на графично устройство. И ако искате да не виждате повече тази грешка, можете просто да я игнорирате, като добавите това:

импортирайте OS модула в основния си програмен код и също задайте обекта за картографиране за него

 # За деактивиране на импортирането на предупреждение os os.environ ['TF_CPP_MIN_LOG_LEVEL'] = '2' 

Но ако сте на Unix, използвайте командата Export в bash shell

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

Но ако нямате графичен процесор и искате да използвате вашия CPU възможно най-много, трябва да изградите TensorFlow от източника, оптимизиран за вашия процесор с включени AVX, AVX2 и FMA тук.

Интересни Статии