Pracuję w środowisku, w którym zasoby obliczeniowe są współużytkowane, tj. Mamy kilka maszyn serwerowych wyposażonych w kilka procesorów graficznych Nvidia Titan X.
W przypadku modeli o małych i średnich rozmiarach 12 GB Titan X zwykle wystarcza, aby 2-3 osoby mogły jednocześnie trenować na tym samym GPU. Jeśli modele są na tyle małe, że jeden model nie wykorzystuje w pełni wszystkich jednostek obliczeniowych GPU, może to faktycznie spowodować przyspieszenie w porównaniu z uruchomieniem jednego procesu szkoleniowego po drugim. Nawet w przypadkach, gdy równoczesny dostęp do GPU spowalnia indywidualny czas szkolenia, nadal miło jest mieć możliwość jednoczesnego trenowania wielu użytkowników na GPU.
Problem z TensorFlow polega na tym, że domyślnie przy uruchamianiu przydziela pełną ilość dostępnej pamięci GPU. Nawet w przypadku małej dwuwarstwowej sieci neuronowej widzę, że wszystkie 12 GB pamięci GPU jest zużyte.
Czy istnieje sposób, aby TensorFlow przydzielał tylko powiedzmy 4 GB pamięci GPU, jeśli wiadomo, że to wystarczy dla danego modelu?