Oplossing: uw CPU ondersteunt instructies dat deze TensorFlow Binary niet is gecompileerd om AVX2 te gebruiken

Advanced Vector Extensions ( AVX, ook bekend als Sandy Bridge New Extensions ) zijn uitbreidingen van de x86-instructiesetarchitectuur voor microprocessors van Intel en AMD, voorgesteld door Intel in maart 2008 en voor het eerst ondersteund door Intel met de Sandy Bridge-processor die in Q1 2011 en later wordt geleverd aan door AMD met de Bulldozer-processor die in Q3 2011 wordt verzonden. AVX biedt nieuwe functies, nieuwe instructies en een nieuw coderingsschema.

De waarschuwing wordt weergegeven in cmd

Dit waarschuwingsbericht wordt afgedrukt door de gedeelde bibliotheek van TensorFlow. Zoals het bericht aangeeft, bevat de gedeelde bibliotheek niet het soort instructies dat uw CPU zou kunnen gebruiken.

Wat veroorzaakt deze waarschuwing?

Na TensorFlow 1.6 gebruiken de binaire bestanden nu AVX-instructies die mogelijk niet meer op oudere CPU's worden uitgevoerd. Dus de oudere CPU's kunnen de AVX niet uitvoeren, terwijl voor de nieuwere de gebruiker de tensorflow van bron voor hun CPU moet bouwen. Hieronder vindt u alle informatie die u moet weten over deze specifieke waarschuwing. Ook een methode om van deze waarschuwing af te komen voor toekomstig gebruik.

Wat doet de AVX?

In het bijzonder introduceerde de AVX de FMA (Fused multiply-add); wat de drijvende-komma-multiply-add-bewerking is, en dit gebeurt allemaal in een enkele stap. Dit helpt veel bewerkingen zonder problemen te versnellen. Het maakt de algebra-berekening sneller en eenvoudiger gebruik, ook het dot-product, matrix vermenigvuldigen, convolutie, enz. En dit zijn allemaal de meest gebruikte en basisbewerkingen voor elke machine-leertraining. De CPU's die AVX en FMA ondersteunen, zijn veel sneller dan de oudere. Maar de waarschuwing geeft aan dat uw CPU AVX ondersteunt, dus het is een goed punt.

Intel AVX-technologie

Waarom wordt het niet standaard gebruikt?

Dat komt omdat de standaarddistributie van TensorFlow is gebouwd zonder de CPU-extensies. Bij CPU-extensies wordt AVX, AVX2, FMA, enz. Vermeld. De instructies die dit probleem veroorzaken, zijn standaard niet ingeschakeld voor de beschikbare standaard builds. De reden waarom ze niet zijn ingeschakeld, is om dit compatibel te maken met zoveel mogelijk CPU's. Om deze extensies ook te vergelijken, zijn ze een stuk langzamer in CPU dan in GPU. CPU wordt gebruikt voor kleinschalige machine learning, terwijl het gebruik van GPU wordt verwacht wanneer het wordt gebruikt voor een middelgrote of grote machine learning training.

De waarschuwing repareren!

Deze waarschuwingen zijn slechts eenvoudige berichten. Het doel van deze waarschuwingen is om u te informeren over de ingebouwde TensorFlow van bron. Wanneer u de TensorFlow vanaf de bron bouwt, kan dit sneller op de machine. Dus al deze waarschuwingen vertellen je over de opgebouwde TensorFlow van bron.

Als u een GPU op uw machine hebt, kunt u deze waarschuwingen van AVX-ondersteuning negeren. Omdat de duurste exemplaren op een GPU-apparaat worden verzonden. En als u deze fout niet meer wilt zien, kunt u deze gewoon negeren door dit toe te voegen:

importeer de OS-module in uw hoofdprogrammacode en stel er ook het toewijzingsobject voor in

 # Voor het uitschakelen van de waarschuwing import os os.environ ['TF_CPP_MIN_LOG_LEVEL'] = '2' 

Maar als je een Unix gebruikt, gebruik dan de exportopdracht in bash shell

 export TF_CPP_MIN_LOG_LEVEL = 2 

Maar als u geen GPU hebt en u wilt uw CPU zoveel mogelijk gebruiken, moet u TensorFlow bouwen van de bron die is geoptimaliseerd voor uw CPU met AVX, AVX2 en FMA hier ingeschakeld.

Interessante Artikelen