Pataisymas: jūsų CPU palaiko instrukcijas, kad šis „TensorFlow“ dvejetainis kompiuteris nebuvo sudarytas naudoti AVX2

Išplėstiniai vektoriniai plėtiniai ( AVX, dar žinomi kaip „ Sandy Bridge New Extensions“ ) - tai „Intel“ ir AMD mikroprocesorių x86 instrukcijų rinkinio architektūros plėtiniai, kuriuos „Intel“ pasiūlė 2008 m. Kovo mėn. įjungtas AMD su „Bulldozer“ procesoriumi, pristatytu 2011 m. trečiąjį ketvirtį. AVX teikia naujas funkcijas, naujas instrukcijas ir naują kodavimo schemą.

Įspėjimas rodomas cmd

Šį įspėjamąjį pranešimą spausdina bendroji „TensorFlow“ biblioteka. Kaip nurodoma pranešime, bendrojoje bibliotekoje nėra nurodymų, kuriuos galėtų naudoti jūsų centrinis procesorius.

Kas sukelia šį įspėjimą?

Po „TensorFlow 1.6“ dvejetainiai kompiuteriai dabar naudoja AVX instrukcijas, kurios gali nebeveikti senesniuose procesoriuose. Taigi senesni procesoriai negalės paleisti AVX, tuo tarpu naujesniems vartotojams jų CPU reikia sukurti iš šaltinio. Žemiau yra visa informacija, kurią reikia žinoti apie šį įspėjimą. Taip pat metodas, kaip atsikratyti šio įspėjimo ateityje naudoti.

Ką veikia AVX?

Visų pirma, AVX pristatė FMA (Fused multiply-add); kuri yra kintamojo taško daugybos pridėjimo operacija, ir visa ši operacija atliekama vienu žingsniu. Tai padeda pagreitinti daugelį operacijų be jokių problemų. Tai leidžia greičiau ir paprasčiau naudoti algebros skaičiavimą, taip pat taškinį produktą, matricos dauginimą, konvoliuciją ir tt. Tai yra labiausiai naudojamos ir pagrindinės operacijos kiekvienam kompiuterinio mokymo mokymui. Centriniai procesoriai, palaikantys AVX ir FMA, bus daug greitesni nei senesni. Tačiau perspėjime teigiama, kad jūsų centrinis procesorius palaiko AVX, taigi, tai gera mintis.

„Intel AVX“ technologija

Kodėl jis nenaudojamas pagal nutylėjimą?

Taip yra todėl, kad „TensorFlow“ numatytasis paskirstymas yra sukurtas be CPU plėtinių. Pagal procesoriaus plėtinius jis nurodo AVX, AVX2, FMA ir tt. Instrukcijos, kurios suaktyvina šią problemą, pagal numatytuosius parametrus neįjungiamos, jei yra numatytosios numatytosios versijos. Priežastys, kodėl jie neįjungti, yra tai, kad tai būtų suderinama su kuo daugiau centrinių procesorių. Taip pat norint palyginti šiuos plėtinius, jie yra daug lėtesni, o ne procesoriniai procesoriai. CPU naudojamas mažos apimties kompiuteriniam mokymuisi, tuo tarpu tikimasi, kad GPU bus naudojamas, kai jis bus naudojamas vidutinio ar didelio masto mašininio mokymosi mokymui.

Pataisomas įspėjimas!

Šie įspėjimai yra tik paprasti pranešimai. Šių įspėjimų tikslas yra informuoti jus apie „TensorFlow“ iš šaltinio. Kai kuriate „TensorFlow“ iš šaltinio, mašinoje tai gali būti spartesnė. Taigi visi šie įspėjimai jums sako apie tai, kaip sukurti „TensorFlow“ iš šaltinio.

Jei jūsų kompiuteryje yra GPU, tada galite ignoruoti šiuos AVX palaikymo įspėjimus. Nes patys brangiausi bus išsiųsti GPU įrenginyje. Ir jei norite daugiau nebematyti šios klaidos, galite tiesiog ignoruoti pridėdami tai:

importuokite OS modulį į savo pagrindinį programos kodą ir taip pat nustatykite jo žemėlapio objektą

 # Dėl įspėjimo importavimo išjungimo os osenenenen ['TF_CPP_MIN_LOG_LEVEL'] = '2' 

Bet jei jūs naudojate Unix, tada naudokite eksporto komandą bash shell

 eksportuoti TF_CPP_MIN_LOG_LEVEL = 2 

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

Įdomios Straipsniai