Zainstalowałem wersję tensorflow dla GPU na Ubuntu 14.04.
Jestem na serwerze GPU, na którym tensorflow może uzyskać dostęp do dostępnych procesorów graficznych.
Chcę uruchomić tensorflow na procesorach.
Zwykle mogę używać env CUDA_VISIBLE_DEVICES=0
do uruchamiania na GPU nr. 0.
Jak zamiast tego mogę wybrać między procesorami?
Nie jestem zainteresowany przepisywaniem mojego kodu with tf.device("/cpu:0"):
python
tensorflow
Alexander R Johansen
źródło
źródło
CUDA_VISIBLE_DEVICES
zmiennej środowiskowej zamiast zmieniać konfigurację w kodzie?Możesz również ustawić zmienną środowiskową na
bez konieczności modyfikowania kodu źródłowego.
źródło
Jeśli powyższe odpowiedzi nie działają, spróbuj:
źródło
tf.keras.Sequential
modeli.U mnie działa tylko ustawienie
CUDA_VISIBLE_DEVICES
na precyzyjne-1
:Pracuje:
Czy nie działa:
źródło
Używając tylko poniższego kodu.
źródło
W niektórych systemach należy określić:
PRZED zaimportowaniem tensorflow.
źródło
Możesz użyć
tf.config.set_visible_devices
. Jedną z możliwych funkcji, która pozwala ustawić, czy i które GPU mają być używane, to:Załóżmy, że pracujesz w systemie z 4 procesorami graficznymi i chcesz używać tylko dwóch procesorów graficznych, jednego z
id = 0
i tego zid = 2
, a pierwsze polecenie kodu, natychmiast po zaimportowaniu bibliotek, brzmiałoby:W twoim przypadku, aby używać tylko procesora, możesz wywołać funkcję z pustą listą :
Aby uzyskać kompletność, jeśli chcesz uniknąć sytuacji, w której inicjalizacja środowiska wykonawczego przydzieli całą pamięć na urządzeniu, możesz użyć
tf.config.experimental.set_memory_growth
. Wreszcie, funkcja zarządzania urządzeniami do wykorzystania, dynamicznie zajmującymi pamięć GPU, staje się:źródło
Innym możliwym rozwiązaniem na poziomie instalacji byłoby poszukanie wariantu samego procesora: https://www.tensorflow.org/install/pip#package-location
W moim przypadku daje to teraz:
Po prostu wybierz odpowiednią wersję. Dodatkowe punkty za użycie venv, jak wyjaśniono np. W tej odpowiedzi .
źródło