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?
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:
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:
Getestet mit Tensorflow 0.12.1 und 1.0.0 mit Ubuntu 14.04.5 LTS x64 und Ubuntu 16.04 LTS x64.
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:
Tags und Links tensorflow core