Rettelse: Din CPU understøtter instruktioner om, at denne TensorFlow-binær ikke blev kompileret til at bruge AVX2

Avancerede vektorudvidelser ( AVX, også kendt som Sandy Bridge New Extensions ) er udvidelser til x86-instruktionssætets arkitektur for mikroprocessorer fra Intel og AMD foreslået af Intel i marts 2008 og først understøttet af Intel med Sandy Bridge-processorens forsendelse i Q1 2011 og senere videreført af AMD med Bulldozer-processoren forsendelse i 3. kvartal 2011. AVX leverer nye funktioner, nye instruktioner og et nyt kodningsskema.

Advarslen vises i cmd

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

Hvad er årsagen til denne advarsel?

Efter TensorFlow 1.6 bruger binærerne nu AVX-instruktioner, der muligvis ikke kører på ældre CPU'er. Så de ældre CPU'er vil ikke være i stand til at køre AVX, mens brugeren har brug for at opbygge tensorflowet fra kilden til deres CPU for de nyere. Nedenfor er alle de oplysninger, du har brug for at vide om netop denne advarsel. En metode til at slippe af med denne advarsel til fremtidig brug.

Hvad gør AVX?

AVX introducerede især FMA (Fused multiply-add); som er den flydende punkts multiplikat-add-operation, og alt dette sker i et enkelt trin. Dette hjælper med at fremskynde mange operationer uden problemer. Det gør algebra-beregningen mere hurtig og nem at bruge, også dot-produktet, matrixmultiplikation, konvolvering osv. Og dette er alle de mest anvendte og basale operationer til enhver maskinlæringstræning. CPU'er, der understøtter AVX og FMA, vil være langt hurtigere end de ældre. Men advarslen angiver, at din CPU understøtter AVX, så det er et godt punkt.

Intel AVX-teknologi

Hvorfor bruges det ikke som standard?

Dette skyldes, at TensorFlow-standarddistributionen er bygget uden CPU-udvidelser. Ved CPU-udvidelser angiver det 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 småskala-maskinlæring, mens brugen af ​​GPU forventes, når den bruges til en mellemstor eller storskala maskinlæringstræning.

Rettelse 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 bliver sendt på en GPU-enhed. Og hvis du ikke vil se denne fejl mere, kan du bare ignorere den ved at tilføje denne:

importer OS-modulet i din hovedprogramkode og indstil også kortlægningsobjektet til det

 # Til deaktivering af advarselsimport os os.environ ['TF_CPP_MIN_LOG_LEVEL'] = '2' 

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

 eksport TF_CPP_MIN_LOG_LEVEL = 2 

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

Interessante Artikler