Popravek: vaš CPU podpira navodila, da ta binarna različica TensorFlow ni bila sestavljena za uporabo AVX2

Napredne vektorske razširitve ( AVX, znana tudi kot Sandy Bridge New Extensions ) so razširitve za arhitekturo nalogov x86 za mikroprocesorje Intel in AMD, ki jih je Intel predlagal marca 2008 in jih Intel prvič podprl s pošiljanjem procesorjev Sandy Bridge v prvem četrtletju 2011 in pozneje AMD je dobil procesor Bulldozer s tretjim tretjim letom 2011. AVX ponuja nove funkcije, nova navodila in novo shemo kodiranja.

Opozorilo je prikazano v cmd

To opozorilno sporočilo natisne skupna knjižnica TensorFlow. Kot sporočilo sporoča, knjižnica v skupni rabi ne vsebuje navodil, ki bi jih lahko uporabil vaš CPU.

Kaj povzroča to opozorilo?

Po TensorFlow 1.6 dvosmerniki zdaj uporabljajo navodila AVX, ki se na starejših procesorjih morda ne bodo več izvajali. Tako starejši procesorji ne bodo mogli zagnati AVX-a, medtem ko bo za novejše uporabnik moral zgraditi tensorflow iz vira za svoj CPU. Spodaj so vse informacije, ki jih morate vedeti o tem opozorilu. Tudi način, kako se tega opozorila znebiti za nadaljnjo uporabo.

Kaj počne AVX?

AVX je še posebej predstavil FMA (Fused multiply-add); kar je operacija množenja z dodajanjem s plavajočo vejico in to vse delovanje se izvede v enem koraku. To pomaga brez težav pospešiti številne operacije. Zaradi tega je izračun algebre hitrejši in enostavnejši za uporabo, tudi pik-izdelek, množenje matrice, zvijanje itd. In vse to so najbolj uporabljene in osnovne operacije za vsak trening strojnega učenja. Procesorji, ki podpirajo AVX in FMA, bodo veliko hitrejši od starejših. Vendar opozorilo navaja, da vaš CPU podpira AVX, zato je to dobro.

Intel AVX tehnologija

Zakaj se ne uporablja privzeto?

To je zato, ker je privzeta distribucija TensorFlow zgrajena brez razširitev CPU-ja. Z razširitvami CPU-ja navaja AVX, AVX2, FMA itd. Navodila, ki sprožijo to težavo, pri privzetih različicah po privzetih nastavitvah niso omogočena. Razlogi, ki jim niso omogočeni, so ta, da je to bolj združljivo s čim več CPU-jev. Tudi za primerjavo teh razširitev so precej počasnejši v CPU-ju in ne v GPU-ju. CPU se uporablja pri majhnem strojnem učenju, medtem ko je uporaba GPU pričakovana, kadar se uporablja za srednje ali obsežno strojno učenje.

Popravljanje opozorila!

Ta opozorila so zgolj preprosta sporočila. Namen teh opozoril je, da vas seznanimo z vgrajenim TensorFlowom iz vira. Ko sestavite TensorFlow iz vira, je lahko hitrejši na stroju. Torej vsa ta opozorila govorijo o sestavljanju TensorFlow iz vira.

Če imate na svojem računalniku nameščen GPU, lahko ta opozorila prezrete s podporo za AVX. Ker bodo najdražje odposlane na napravi GPU. Če želite, da te napake ne vidite več, jo lahko preprosto prezrete, tako da dodate to:

uvozite modul OS v glavno programsko kodo in zanj tudi nastavite objekt preslikave

 # Za onemogočanje uvoza opozoril os os.environ ['TF_CPP_MIN_LOG_LEVEL'] = '2' 

Če pa ste na Unixu, uporabite ukaz za izvoz v bash lupini

 izvoz TF_CPP_MIN_LOG_LEVEL = 2 

Če pa nimate GPU-ja in želite svoj CPU uporabljati čim več, bi morali zgraditi TensorFlow iz vira, optimiziranega za vaš CPU, kjer so tukaj omogočeni AVX, AVX2 in FMA.

Zanimivi Članki