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



Probeer Ons Instrument Voor Het Oplossen Van Problemen

Geavanceerde vectorextensies ( AVX , ook gekend als Sandy Bridge nieuwe extensies ) 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 in Q1 2011 en later door AMD met de Bulldozer-processor in Q3 2011. 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 draaien. Dus de oudere CPU's zullen de AVX niet kunnen draaien, terwijl voor de nieuwere de gebruiker de tensorflow vanaf de bron moet bouwen voor hun CPU. Hieronder vindt u alle informatie die u over deze specifieke waarschuwing moet weten. 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 vermenigvuldiging-optelbewerking is, en deze bewerking wordt allemaal in één stap uitgevoerd. Dit helpt veel bewerkingen zonder problemen te versnellen. Het maakt de algebraberekening sneller en gemakkelijker in het gebruik, ook het puntproduct, matrixvermenigvuldiging, convolutie, enz. En dit zijn allemaal de meest gebruikte en basishandelingen voor elke machine learning-training. De CPU's die de AVX en FMA ondersteunen, zullen veel sneller zijn 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 doordat de standaarddistributie van TensorFlow is gebouwd zonder de CPU-extensies. Bij CPU-extensies worden de AVX, AVX2, FMA, enz. Vermeld. De instructies die dit probleem veroorzaken, zijn niet standaard ingeschakeld op de beschikbare standaard builds. De redenen waarom ze niet zijn ingeschakeld, is om dit meer compatibel te maken met zoveel mogelijk CPU's. Ook om deze extensies te vergelijken, zijn ze een stuk langzamer in CPU dan in GPU. CPU wordt gebruikt bij kleinschalige machine-learning, terwijl het gebruik van GPU wordt verwacht wanneer deze wordt gebruikt voor een middelgrote of grootschalige machine learning-training.

De waarschuwing verhelpen!

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

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

importeer het OS-module in uw hoofdprogrammacode en stel ook het toewijzingsobject ervoor in

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

Maar als je een Unix , gebruik dan het export commando in bash shell

 exporteer TF_CPP_MIN_LOG_LEVEL = 2 

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

2 minuten gelezen