Parandus: teie protsessor toetab juhiseid, mille kohaselt seda TensorFlow binaari ei koostatud AVX2 kasutamiseks

Advanced Vector Extensions ( AVX, tuntud ka kui Sandy Bridge New Extensions ) on Inteli ja AMD mikroprotsessorite käsitsuskomplekti arhitektuuri x86 laiendus, mille Intel pakkus välja märtsis 2008 ja mida Intel toetas esmakordselt koos Sandy Bridge protsessoriga, mis tarniti 2011. aasta I kvartalis ja hiljem. AMD poolt sisse lülitatud koos Bulldozeri protsessoriga 2011. aasta kolmandas kvartalis. AVX pakub uusi funktsioone, uusi juhiseid ja uut kodeerimisskeemi.

Hoiatus kuvatakse cmd-des

Selle hoiatussõnumi prindib TensorFlow jagatud teek. Nagu teade näitab, ei sisalda jagatud teek selliseid juhiseid, mida teie protsessor saaks kasutada.

Mis selle hoiatuse põhjustab?

Pärast TensorFlow 1.6 kasutavad kahendkoodid nüüd AVX-i juhiseid, mis ei pruugi enam töötada vanemates protsessorites. Nii et vanemad protsessorid ei saa AVX-i käivitada, uuemate puhul peab kasutaja oma protsessori jaoks tensorfo ehitama lähtest. Allpool on kogu teave, mida peate selle konkreetse hoiatuse kohta teadma. Samuti meetod sellest hoiatusest tulevikus kasutamiseks lahti saamiseks.

Mida AVX teeb?

Eelkõige tutvustas AVX FMA-d (Fused multiply-add); mis on ujukoma korrutise liitmise operatsioon ja see kõik toiming toimub ühe sammuna. See aitab kiirendada paljusid toiminguid ilma probleemideta. See muudab algebra arvutamise kiiremaks ja hõlpsamaks kasutamiseks, ka punktkorrutise, maatriksi korrutamise, konvolutsiooni jms jaoks. Ja need on kõik masinõppe koolitustel enim kasutatud ja põhitoimingud. AVX-i ja FMA-d toetavad protsessorid on palju kiiremad kui vanemad. Kuid hoiatus väidab, et teie protsessor toetab AVX-i, nii et see on hea punkt.

Intel AVX tehnoloogia

Miks seda vaikimisi ei kasutata?

Selle põhjuseks on asjaolu, et TensorFlow vaikejaotus on ehitatud ilma CPU laienditeta. Protsessorilaiendite järgi sedastab see AVX, AVX2, FMA jne. Seda probleemi käivitavad juhised pole saadavalolevate vaikeseadete korral vaikimisi lubatud. Põhjused, miks neid ei lubata, on see, et see ühilduks võimalikult paljude protsessoritega. Nende laienduste võrdlemiseks on need protsessori, mitte GPU, osas palju aeglasemad. CPU-d kasutatakse väikesemahulisel masinõppel, samal ajal kui GPU-d on oodata keskmise või suuremahulise masinõppe koolitusel.

Parandab hoiatust!

Need hoiatused on lihtsalt lihtsad teated. Nende hoiatuste eesmärk on teavitada teid sisseehitatud TensorFlow'ist. Allikast TensorFlow ehitades võib see masinas olla kiirem. Kõik need hoiatused räägivad teile sellest, et TensorFlow on üles ehitatud allikast.

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

importige OS-moodul oma põhiprogrammi koodi ja määrake ka selle kaardistamise objekt

 # Hoiatuse impordi keelamiseks os osen keskkond ['TF_CPP_MIN_LOG_LEVEL'] = '2' 

Kuid kui kasutate Unixi, kasutage bash shellis eksportimiskäsku

 eksporti TF_CPP_MIN_LOG_LEVEL = 2 

Kuid kui teil pole GPU-d ja soovite oma CPU-d võimalikult palju kasutada, peaksite TensorFlow ehitama CPU jaoks optimeeritud allikast, kus siin on lubatud AVX, AVX2 ja FMA.

Huvitavad Artiklid