Ich arbeite in einer Umgebung, in der Rechenressourcen gemeinsam genutzt werden, dh wir haben einige Server-Computer, die jeweils mit einigen Nvidia Titan X-GPUs ausgestattet sind.
Bei kleinen bis mittelgroßen Modellen reichen die 12 GB des Titan X normalerweise aus, damit 2 bis 3 Personen gleichzeitig auf derselben GPU trainieren können. Wenn die Modelle klein genug sind, dass ein einzelnes Modell nicht alle Recheneinheiten der GPU voll ausnutzt, kann dies tatsächlich zu einer Beschleunigung führen, verglichen mit dem Ausführen eines Trainingsprozesses nach dem anderen. Selbst in Fällen, in denen der gleichzeitige Zugriff auf die GPU die individuelle Trainingszeit verlangsamt, ist es immer noch schön, die Flexibilität zu haben, mehrere Benutzer gleichzeitig auf der GPU trainieren zu lassen.
Das Problem mit TensorFlow besteht darin, dass beim Start standardmäßig die gesamte Menge des verfügbaren GPU-Speichers zugewiesen wird. Selbst für ein kleines zweischichtiges neuronales Netzwerk sehe ich, dass alle 12 GB des GPU-Speichers verbraucht sind.
Gibt es eine Möglichkeit, TensorFlow dazu zu bringen, beispielsweise nur 4 GB GPU-Speicher zuzuweisen, wenn man weiß, dass dies für ein bestimmtes Modell ausreicht?