Ich habe die GPU-Version von Tensorflow auf einem Ubuntu 14.04 installiert.
Ich bin auf einem GPU-Server, auf dem Tensorflow auf die verfügbaren GPUs zugreifen kann.
Ich möchte Tensorflow auf den CPUs ausführen.
Normalerweise kann ich env CUDA_VISIBLE_DEVICES=0
auf GPU Nr. Laufen. 0.
Wie kann ich stattdessen zwischen den CPUs wählen?
Ich bin nicht daran interessiert, meinen Code mit umzuschreiben with tf.device("/cpu:0"):
python
tensorflow
Alexander R Johansen
quelle
quelle
CUDA_VISIBLE_DEVICES
Umgebungsvariablen zu verwenden , anstatt die Konfiguration im Code zu ändern?Sie können die Umgebungsvariable auch auf festlegen
ohne den Quellcode ändern zu müssen.
quelle
Wenn die obigen Antworten nicht funktionieren, versuchen Sie:
quelle
tf.keras.Sequential
Modellen.Für mich funktioniert nur die Einstellung
CUDA_VISIBLE_DEVICES
auf genau-1
:Werke:
Funktioniert nicht :
quelle
Verwenden Sie einfach den folgenden Code.
quelle
In einigen Systemen muss Folgendes angegeben werden:
VOR dem Importieren von Tensorflow.
quelle
Sie könnten verwenden
tf.config.set_visible_devices
. Eine mögliche Funktion, mit der Sie festlegen können, ob und welche GPUs verwendet werden sollen, ist:Angenommen, Sie befinden sich auf einem System mit 4 GPUs und möchten nur zwei GPUs verwenden, die mit
id = 0
und die mitid = 2
, dann lautet der erste Befehl Ihres Codes unmittelbar nach dem Importieren der Bibliotheken:In Ihrem Fall können Sie die Funktion mit einer leeren Liste aufrufen, um nur die CPU zu verwenden :
Der Vollständigkeit halber können Sie verwenden, wenn Sie vermeiden möchten, dass durch die Laufzeitinitialisierung der gesamte Speicher auf dem Gerät zugewiesen wird
tf.config.experimental.set_memory_growth
. Schließlich lautet die Funktion zum Verwalten der zu verwendenden Geräte, die den GPU-Speicher dynamisch belegen, wie folgt:quelle
Eine andere mögliche Lösung auf Installationsebene wäre die Suche nach der reinen CPU-Variante: https://www.tensorflow.org/install/pip#package-location
In meinem Fall gibt dies jetzt:
Wählen Sie einfach die richtige Version. Bonuspunkte für die Verwendung eines Venv wie in dieser Antwort erläutert .
quelle