Fix: CPU dumneavoastră acceptă instrucțiuni conform cărora acest Bens TensorFlow nu a fost compilat pentru a utiliza AVX2

Advanced Vector Extensions ( AVX, cunoscut și sub denumirea de Sandy Bridge New Extensions ) sunt extensii la arhitectura setului de instrucțiuni x86 pentru microprocesoare de la Intel și AMD propuse de Intel în martie 2008 și susținute mai întâi de Intel cu procesorul Sandy Bridge care este livrat în primul trimestru 2011 și ulterior activat de AMD cu livrarea procesorului Bulldozer în Q3 2011. AVX oferă funcții noi, instrucțiuni noi și o nouă schemă de codare.

Avertismentul este afișat în cmd

Acest mesaj de avertizare este tipărit de biblioteca comună a TensorFlow. După cum indică mesajul, biblioteca comună nu include tipul de instrucțiuni pe care procesorul dvs. le-ar putea folosi.

Ce cauzează această avertizare?

După TensorFlow 1.6, binarele folosesc acum instrucțiuni AVX care s-ar putea să nu mai funcționeze pe procesoare mai vechi. Așadar, procesoarele mai vechi nu vor putea rula AVX, în timp ce pentru cele mai noi, utilizatorul trebuie să construiască tensiunea din sursă pentru CPU. Mai jos găsiți toate informațiile pe care trebuie să le cunoașteți despre acest avertisment. De asemenea, o metodă despre scăparea acestui avertisment pentru utilizare viitoare.

Ce face AVX?

În special, AVX a introdus FMA (Fused multi-add); care este operația de adăugare multiplă în virgulă flotantă și această operație se face într-o singură etapă. Acest lucru ajută la accelerarea multor operațiuni fără nicio problemă. Face utilizarea algebrei mai rapidă și mai ușoară, de asemenea, produsul punct, înmulțirea matricei, convoluția etc. Și acestea sunt toate operațiunile cele mai utilizate și de bază pentru fiecare instruire de învățare automată. CPU care acceptă AVX și FMA vor fi mult mai rapide decât cele mai vechi. Însă avertismentul spune că procesorul dvs. acceptă AVX, deci este un punct bun.

Intel AVX Technology

De ce nu este folosit implicit?

Aceasta deoarece distribuția implicită TensorFlow este construită fără extensiile procesorului. Prin extensii de procesor, acesta precizează AVX, AVX2, FMA, etc. Instrucțiunile care declanșează această problemă nu sunt activate în mod implicit pe build-urile implicite disponibile. Motivele pentru care nu sunt activate sunt să facă acest lucru mai compatibil cu cât mai multe procesoare. De asemenea, pentru a compara aceste extensii, acestea sunt mult mai lente în procesor decât în ​​GPU. CPU este utilizat pentru învățarea mașinii la scară mică, în timp ce utilizarea GPU este de așteptat atunci când este utilizată pentru o pregătire de învățare automată pe scară medie sau mare.

Fixarea avertismentului!

Aceste avertismente sunt doar mesaje simple. Scopul acestor avertismente este de a vă informa despre TensorFlow construit de la sursă. Când construiți TensorFlow din sursă, acesta poate fi mai rapid pe mașină. Deci toate aceste avertismente vă spun despre este acumularea TensorFlow de la sursă.

Dacă aveți un GPU pe mașina dvs., puteți ignora aceste avertismente din partea asistenței AVX. Deoarece cele mai scumpe vor fi expediate pe un dispozitiv GPU. Și dacă vrei să nu mai vezi această eroare, poți pur și simplu să o ignori adăugând:

importați modulul de operare din codul principal al programului dvs. și setați și obiectul de mapare pentru acesta

 # Pentru dezactivarea importului avertisment os os.environ ['TF_CPP_MIN_LOG_LEVEL'] = '2' 

Dar dacă sunteți pe un Unix, atunci utilizați comanda export în bash shell

 export TF_CPP_MIN_LOG_LEVEL = 2 

Dar dacă nu aveți GPU și doriți să folosiți procesorul cât mai mult posibil, ar trebui să creați TensorFlow din sursa optimizată pentru procesorul dvs. cu AVX, AVX2 și FMA activate aici.

Articole Interesante