Fix: Din CPU understøtter instruktioner om, at denne TensorFlow Binary ikke blev kompileret til at bruge AVX2



Prøv Vores Instrument Til At Fjerne Problemer

Avancerede vektorudvidelser ( AVX , også kendt som Sandy Bridge Nye udvidelser ) er udvidelser til x86-instruktions sætarkitekturen til mikroprocessorer fra Intel og AMD foreslået af Intel i marts 2008 og først understøttet af Intel med Sandy Bridge-processorforsendelse i 1. kvartal 2011 og senere af AMD med Bulldozer-processorforsendelse i 3. kvartal 2011. AVX indeholder nye funktioner, nye instruktioner og et nyt kodningsskema.



Advarslen vises i cmd



Denne advarselsmeddelelse udskrives af det delte bibliotek af TensorFlow. Som meddelelsen angiver, inkluderer det delte bibliotek ikke den slags instruktioner, som din CPU kan bruge.



Hvad forårsager denne advarsel?

Efter TensorFlow 1.6 bruger binærfilerne nu AVX-instruktioner, som muligvis ikke kører på ældre CPU'er længere. Så de ældre CPU'er vil ikke være i stand til at køre AVX, mens for de nyere skal brugeren bygge tensorflowet fra kilden til deres CPU. Nedenfor er alle de oplysninger, du har brug for at vide om denne særlige advarsel. Også en metode til at slippe af med denne advarsel til fremtidig brug.

Hvad gør AVX?

Navnlig introducerede AVX FMA (Fused multiply-add); hvilket er flydende punkt multiplicer-tilføj operation, og alt dette sker i et enkelt trin. Dette hjælper med at fremskynde mange operationer uden problemer. Det gør algebra-beregningen hurtigere og nemere at bruge, også dot-produkt, matrix-multiplikation, foldning osv. Og disse er alle de mest anvendte og grundlæggende operationer til hver maskinlæringstræning. CPU'erne, der understøtter AVX og FMA, vil være langt hurtigere end de ældre. Men advarslen siger, at din CPU understøtter AVX, så det er et godt punkt.

Intel AVX-teknologi



Hvorfor bruges det ikke som standard?

Det skyldes, at TensorFlow-standardfordelingen er bygget uden CPU-udvidelser. Ved CPU-udvidelser angives AVX, AVX2, FMA osv. Instruktionerne, der udløser dette problem, er ikke aktiveret som standard på de tilgængelige standard builds. Årsagerne til, at de ikke er aktiveret, er at gøre dette mere kompatibelt med så mange CPU'er som muligt. For at sammenligne disse udvidelser er de meget langsommere i CPU snarere end GPU. CPU bruges i mindre maskinlæring, mens brug af GPU forventes, når det bruges til en mellemstor eller stor maskinlæringstræning.

Fastsættelse af advarslen!

Disse advarsler er bare enkle beskeder. Formålet med disse advarsler er at informere dig om den indbyggede TensorFlow fra kilden. Når du bygger TensorFlow fra kilden, kan det være hurtigere på maskinen. Så alle disse advarsler fortæller dig om er opbygningen af ​​TensorFlow fra kilden.

Hvis du har en GPU på din maskine, kan du ignorere disse advarsler fra AVX-support. Fordi de dyreste vil blive sendt på en GPU-enhed. Og hvis du ikke længere vil se denne fejl, kan du bare ignorere den ved at tilføje denne:

importere OS-modul i din hovedprogramkode, og indstil også kortlægningsobjektet til det

 # Til deaktivering af advarslen   importere dem   os.environ ['TF_CPP_MIN_LOG_LEVEL'] = '2' 

Men hvis du er på en Unix , brug derefter eksportkommandoen i bash shell

 eksporter TF_CPP_MIN_LOG_LEVEL = 2 

Men hvis du ikke har GPU, og du vil bruge din CPU så meget som muligt, skal du opbygge TensorFlow fra den kilde, der er optimeret til din CPU med AVX, AVX2 og FMA aktiveret her .

2 minutter læst