NUSTATYTI: Jūsų procesorius palaiko instrukcijas, kad šis „TensorFlow“ dvejetainis failas nebuvo sukompiliuotas naudoti AVX2



Išbandykite Mūsų Instrumentą, Kaip Pašalinti Problemas

Išplėstiniai vektoriniai plėtiniai ( AVX , taip pat žinomas kaip „Sandy Bridge“ nauji plėtiniai ) yra „Intel“ ir „AMD“ procesorių x86 instrukcijų rinkinio architektūros plėtiniai, kuriuos „Intel“ pasiūlė 2008 m. kovo mėn. ir kuriuos pirmiausia palaiko „Intel“ su „Sandy Bridge“ procesoriaus pristatymu 2011 m. pirmąjį ketvirtį, o vėliau AMD su „Bulldozer“ procesoriaus pristatymu 2011 m. pateikia naujas funkcijas, naujas instrukcijas ir naują kodavimo schemą.



Įspėjimas rodomas cmd



Šį įspėjimo pranešimą išspausdina bendroji „TensorFlow“ biblioteka. Kaip rodo pranešimas, bendrinamoje bibliotekoje nėra instrukcijų, kurias galėtų naudoti jūsų procesorius.



Kas sukelia šį įspėjimą?

Po „TensorFlow 1.6“ dvejetainiai failai dabar naudoja AVX instrukcijas, kurios gali nebeveikti su senesniais procesoriais. Taigi senesni procesoriai negalės paleisti AVX, o naujesniems vartotojams reikia sukurti procesoriaus tensorflow iš šaltinio. Toliau pateikiama visa informacija, kurią turite žinoti apie šį konkretų įspėjimą. Be to, metodas, kaip atsikratyti šio įspėjimo, kad jį būtų galima naudoti ateityje.

Ką veikia AVX?

Visų pirma, AVX pristatė FMA (Fused multiply-add); kuri yra slankiojo kablelio dauginimo ir pridėjimo operacija, ir visa tai atliekama vienu žingsniu. Tai padeda be problemų pagreitinti daugelį operacijų. Dėl to algebros skaičiavimas yra greitesnis ir paprastesnis, taip pat taškų sandauga, matricos daugyba, konvoliucija ir kt. Ir tai yra dažniausiai naudojamos ir pagrindinės operacijos, atliekamos kiekviename mašininio mokymo mokyme. Procesoriai, palaikantys AVX ir FMA, bus daug greitesni nei senesni. Tačiau įspėjime teigiama, kad jūsų procesorius palaiko AVX, todėl tai yra geras dalykas.

„Intel AVX“ technologija



Kodėl jis nenaudojamas pagal numatytuosius nustatymus?

Taip yra todėl, kad numatytasis „TensorFlow“ paskirstymas sukurtas be procesoriaus plėtinių. Procesoriaus plėtiniuose nurodomi AVX, AVX2, FMA ir kt. Nurodymai, kurie sukelia šią problemą, pagal numatytuosius nustatymus nėra įgalinti numatytose versijose. Priežastys, kodėl jie neįgalinti, yra padaryti tai labiau suderinamą su kuo daugiau procesorių. Be to, norint palyginti šiuos plėtinius, jie yra daug lėtesni procesoriaus, o ne GPU. Procesorius naudojamas nedidelio masto mokymuisi mašinose, o GPU tikimasi naudoti, kai jis naudojamas vidutinio ar didelio masto mokymuisi mašinose.

Įspėjimo taisymas!

Šie įspėjimai yra tik paprastos žinutės. Šių įspėjimų tikslas yra informuoti jus apie pastatytą „TensorFlow“ iš šaltinio. Kai kuriate „TensorFlow“ iš šaltinio, mašinoje gali būti greičiau. Taigi visi šie įspėjimai jums sako apie „TensorFlow“ sukūrimą iš šaltinio.

Jei savo kompiuteryje turite GPU, galite nepaisyti šių įspėjimų iš AVX palaikymo tarnybos. Nes brangiausios bus siunčiamos į GPU įrenginį. Ir jei norite daugiau nematyti šios klaidos, galite tiesiog ją ignoruoti pridėdami:

importuoti OS modulis pagrindiniame programos kode ir nustatykite jo susiejimo objektą

 # Už įspėjimo išjungimą   juos importuoti   os.environ ['TF_CPP_MIN_LOG_LEVEL'] = '2' 

Bet jei esate „Unix“ , tada naudokite komandą eksportuoti „bash shell“

 eksportuoti TF_CPP_MIN_LOG_LEVEL = 2 

Bet jei neturite GPU ir norite kuo daugiau naudoti savo procesorių, turėtumėte sukurti „TensorFlow“ iš šaltinio, optimizuoto jūsų procesoriui, įgalinus AVX, AVX2 ir FMA čia .

2 minutes perskaityta