Parandus: teie keskseade toetab juhiseid, et seda binaarset TensorFlow-faili ei koostatud AVX2 kasutamiseks



Proovige Meie Instrumenti Probleemide Kõrvaldamiseks

Täpsemad vektorilaiendid ( AVX , tuntud ka kui Sandy Bridge Uued laiendused ) on Inteli ja AMD-i mikroprotsessorite x86 käsukomplekti arhitektuuri laiendused, mille Intel esitas 2008. aasta märtsis ja mida Intel toetas esmalt Sandy Bridge'i protsessoriga 2011. aasta I kvartalis ja hiljem AMD koos Bulldozeri protsessoriga 2011. aasta kolmandas kvartalis. AVX pakub uusi funktsioone, uusi juhiseid ja uut kodeerimisskeemi.



Hoiatus kuvatakse cmd-des



Selle hoiatusteate printis TensorFlow jagatud teek. Nagu sõnum näitab, ei sisalda jagatud teek selliseid juhiseid, mida teie protsessor saaks kasutada.



Mis selle hoiatuse põhjustab?

Pärast TensorFlow 1.6 kasutavad binaarkaardid nüüd AVX-i käske, mis ei pruugi enam töötada vanemates protsessorites. Nii et vanemad protsessorid ei saa AVX-i käitada, uuemate puhul peab kasutaja oma protsessori jaoks looma lähtekohast tensorvoo. Allpool on kogu teave, mida peate selle konkreetse hoiatuse kohta teadma. Samuti meetod sellest hoiatusest edaspidiseks kasutamiseks vabanemiseks.

Mida AVX teeb?

Eelkõige tutvustas AVX FMA-d (Fused multiply-add); mis on ujukoma korrutamise ja liitmise operatsioon ning see kõik toimingud tehakse ühe sammuna. See aitab kiirendada paljusid toiminguid ilma probleemideta. See muudab algebra arvutamise kiiremaks ja hõlpsamaks kasutamiseks, samuti punkt-korrutise, maatriksi korrutamise, konvolutsiooni jms. Need on kõik masinõppekoolituse kõige enam kasutatavad ja põhilised toimingud. AVX-i ja FMA-d toetavad protsessorid on palju kiiremad kui vanemad. Kuid hoiatuses on öeldud, et teie protsessor toetab AVX-i, seega on see hea mõte.

Inteli AVX-tehnoloogia



Miks seda vaikimisi ei kasutata?

Seda seetõttu, et TensorFlow vaikelevi on ehitatud ilma protsessori laienditeta. Protsessorilaiendite abil märgib see AVX, AVX2, FMA jne. Selle probleemi käivitavad juhised pole olemasolevate vaikehoonete puhul vaikimisi lubatud. Põhjused, miks neid ei lubata, on muuta see võimalikult paljude protsessoritega ühilduvamaks. Nende laienduste võrdlemiseks on need protsessori asemel palju aeglasemad kui GPU. CPU-d kasutatakse väikesemahulises masinõppes, samas kui GPU-d on oodata, kui seda kasutatakse keskmise või ulatusliku masinõppe koolituseks.

Hoiatuse parandamine!

Need hoiatused on lihtsalt lihtsad sõnumid. Nende hoiatuste eesmärk on teavitada teid allikast ehitatud TensorFlow'st. Kui ehitate TensorFlow'i allikast, võib see masinas kiirem olla. Nii et kõik need hoiatused, millest teile räägitakse, on TensorFlow ülesehitamine allikast.

Kui teie arvutis on GPU, saate neid hoiatusi AVX-i toest ignoreerida. Sest kõige kallimad saadetakse GPU seadmesse. Ja kui te ei soovi seda viga enam näha, saate seda lihtsalt ignoreerida, lisades selle:

importida OS-moodul oma põhiprogrammi koodis ja määrake sellele ka kaardistusobjekt

 # Hoiatuse keelamiseks   neid importida   os.environ ['TF_CPP_MIN_LOG_LEVEL'] = '2' 

Aga kui olete a Unix , siis kasutage käsku eksport bash shellis

 eksportida TF_CPP_MIN_LOG_LEVEL = 2 

Kuid kui teil pole GPU-d ja soovite oma protsessorit kasutada nii palju kui võimalik, peaksite TensorFlow'i ehitama teie protsessori jaoks optimeeritud allikast, kus AVX, AVX2 ja FMA on lubatud siin .

2 minutit loetud