Wie kann ich Tensorflow auf einem einzigen Kern ausführen?

8

Ich verwende Tensorflow auf einem Cluster und möchte Tensorflow nur auf einem einzelnen Kern ausführen lassen (obwohl mehr verfügbar sind).

Weiß jemand, ob das möglich ist?

    
jan schütte-engel 04.07.2016, 15:08
quelle

2 Antworten

18

Um Tensorflow auf einem einzelnen CPU-Thread auszuführen, verwende ich:

%Vor%

device_count begrenzt die Anzahl der verwendeten CPUs, nicht die Anzahl der Kerne oder Threads.

tensorflow/tensorflow/core/protobuf/config.proto sagt:

%Vor%

Unter Linux können Sie sudo dmidecode -t 4 | egrep -i "Designation|Intel|core|thread" ausführen, um zu sehen, wie viele CPUs / Kerne / Threads Sie haben, z. das Folgende hat 2 CPUs, jede von ihnen hat 8 Kerne, jeder von ihnen hat 2 Threads, was insgesamt 2 * 8 * 2 = 32 Threads ergibt:

%Vor%

Getestet mit Tensorflow 0.12.1 und 1.0.0 mit Ubuntu 14.04.5 LTS x64 und Ubuntu 16.04 LTS x64.

    
Franck Dernoncourt 24.01.2017 03:15
quelle
1

Sie können die Anzahl der Geräte eines bestimmten Typs, die TensorFlow verwendet, einschränken, indem Sie das entsprechende device_count in einem ConfigProto als das Argument config beim Erstellen Ihrer Sitzung. Sie können beispielsweise die Anzahl der CPU-Geräte wie folgt einschränken:

%Vor%     
keveman 04.07.2016 19:11
quelle

Tags und Links