Fix: Ihre CPU unterstützt Anweisungen, dass diese TensorFlow-Binärdatei nicht für die Verwendung von AVX2 kompiliert wurde

Advanced Vector Extensions ( AVX , auch bekannt als Sandy Bridge New Extensions ) sind Erweiterungen der x86-Befehlssatzarchitektur für Mikroprozessoren von Intel und AMD, die von Intel im März 2008 vorgeschlagen und erstmals von Intel mit dem Sandy Bridge-Prozessor im ersten Quartal 2011 und später unterstützt wurden von AMD mit dem Bulldozer-Prozessor im dritten Quartal 2011 ausgeliefert. AVX bietet neue Funktionen, neue Anweisungen und ein neues Codierungsschema.

Diese Warnmeldung wird von der gemeinsam genutzten Bibliothek von TensorFlow gedruckt. Wie aus der Meldung hervorgeht, enthält die gemeinsam genutzte Bibliothek nicht die Anweisungen, die Ihre CPU verwenden könnte.

Was verursacht diese Warnung?

Nach TensorFlow 1.6 verwenden die Binärdateien jetzt AVX-Anweisungen, die möglicherweise nicht mehr auf älteren CPUs ausgeführt werden. Daher können die älteren CPUs den AVX nicht ausführen, während für die neueren Benutzer der Tensorflow aus dem Quellcode für ihre CPU erstellt werden muss. Im Folgenden finden Sie alle Informationen, die Sie zu dieser bestimmten Warnung benötigen. Außerdem eine Methode zum Entfernen dieser Warnung für die zukünftige Verwendung.

Was macht der AVX?

Insbesondere führte der AVX die FMA (Fused Multiply-Add) ein; Dies ist die Gleitkomma-Multiplikations-Additions-Operation, und diese gesamte Operation wird in einem einzigen Schritt ausgeführt. Dies beschleunigt viele Vorgänge ohne Probleme. Dies macht die Algebra-Berechnung schneller und einfacher, auch das Punktprodukt, die Matrixmultiplikation, die Faltung usw. Und dies sind die am häufigsten verwendeten und grundlegenden Operationen für jedes maschinelle Lerntraining. Die CPUs, die AVX und FMA unterstützen, sind weitaus schneller als die älteren. Die Warnung besagt jedoch, dass Ihre CPU AVX unterstützt, daher ist dies ein guter Punkt.

Warum wird es nicht standardmäßig verwendet?

Dies liegt daran, dass die TensorFlow-Standardverteilung ohne die CPU-Erweiterungen erstellt wird. Bei CPU-Erweiterungen werden AVX, AVX2, FMA usw. angegeben. Die Anweisungen, die dieses Problem auslösen, sind in den verfügbaren Standard-Builds nicht standardmäßig aktiviert. Der Grund, warum sie nicht aktiviert sind, besteht darin, dies mit so vielen CPUs wie möglich kompatibler zu machen. Um diese Erweiterungen zu vergleichen, sind sie in der CPU viel langsamer als in der GPU. Die CPU wird beim maschinellen Lernen im kleinen Maßstab verwendet, während die Verwendung der GPU erwartet wird, wenn sie für ein maschinelles Lernen im mittleren oder großen Maßstab verwendet wird.

Behebung der Warnung!

Diese Warnungen sind nur einfache Meldungen. Der Zweck dieser Warnungen besteht darin, Sie über den erstellten TensorFlow aus der Quelle zu informieren. Wenn Sie den TensorFlow aus der Quelle erstellen, kann er auf dem Computer schneller sein. Alle diese Warnungen sind also der Aufbau von TensorFlow aus dem Quellcode.

Wenn Sie eine GPU auf Ihrem Computer haben, können Sie diese Warnungen vom AVX-Support ignorieren. Weil die teuersten auf einem GPU-Gerät versandt werden. Und wenn Sie diesen Fehler nicht mehr sehen möchten, können Sie ihn einfach ignorieren, indem Sie Folgendes hinzufügen:

Importieren Sie das OS-Modul in Ihren Hauptprogrammcode und legen Sie auch das Mapping-Objekt dafür fest

# Zum Deaktivieren des Warnimports os os.environ ['TF_CPP_MIN_LOG_LEVEL'] = '2'

Wenn Sie jedoch unter Unix arbeiten , verwenden Sie den Befehl export in der Bash-Shell

export TF_CPP_MIN_LOG_LEVEL = 2

Wenn Sie jedoch keine GPU haben und Ihre CPU so oft wie möglich nutzen möchten, sollten Sie TensorFlow aus der für Ihre CPU optimierten Quelle erstellen, wobei AVX, AVX2 und FMA hier aktiviert sind.

Empfohlen

Fix: Minecraft reagiert nicht
Was ist eine Registrierungsanwendung für ein digitales TV-Tunergerät und sollte diese entfernt werden?
Was ist FileRepMalware und sollten Sie es entfernen?