Zauważyłem, że niektóre nowsze wersje TensorFlow są niekompatybilne ze starszymi wersjami CUDA i cuDNN. Czy istnieje przegląd kompatybilnych wersji lub nawet lista oficjalnie przetestowanych kombinacji? Nie mogę znaleźć tego w dokumentacji TensorFlow.
145
Odpowiedzi:
Ogólnie:
Sprawdź wersję CUDA:
i wersja cuDNN:
i zainstaluj kombinację, jak podano poniżej na obrazkach lub tutaj .
Poniższe obrazy i łącze zawierają przegląd oficjalnie obsługiwanych / testowanych kombinacji CUDA i TensorFlow w systemach Linux, macOS i Windows:
Mniejsze konfiguracje:
Ponieważ podane poniżej specyfikacje w niektórych przypadkach mogą być zbyt szerokie, oto jedna konkretna konfiguracja, która działa:
tensorflow-gpu==1.12.0
cuda==9.0
cuDNN==7.1.4
Odpowiedni cudnn można pobrać tutaj .
(dane zaktualizowane 20 maja 2020 r.)
GPU dla systemu Linux
Linux
GPU macOS
System operacyjny Mac
(rysunek zaktualizowany 31 maja 2018 r.)
Windows
Zaktualizowano 14 stycznia 2020 r .: Aby uzyskać zaktualizowane informacje, zapoznaj się z Link for Linux i Link dla Windows .
źródło
Tabela kompatybilności podana na stronie tensorflow nie zawiera określonych wersji pomocniczych dla cuda i cuDNN. Jeśli jednak określone wersje nie zostaną spełnione, podczas próby użycia tensorflow wystąpi błąd.
Dla
tensorflow-gpu==1.12.0
icuda==9.0
kompatybilnacuDNN
wersja to7.1.4
, którą można pobrać stąd po rejestracji.Możesz sprawdzić swoją wersję CUDA za pomocą
nvcc --version
Wersja cuDNN używająca
cat /usr/include/cudnn.h | grep CUDNN_MAJOR -A 2
Wersja tensorflow-gpu używająca
pip freeze | grep tensorflow-gpu
AKTUALIZACJA: Od czasu wydania tensorflow 2.0 udostępnię również kompatybilne wersje cuda i cuDNN (dla Ubuntu 18.04).
tensorflow-gpu
= 2.0.0cuda
= 10,0cuDNN
= 7,6,0źródło
jeśli kodujesz w notatniku jupyter i chcesz sprawdzić, której wersji cuda używa tf, uruchom następującą komendę bezpośrednio w komórce jupyter:
i sprawdzić, czy gpu jest widoczne dla tf:
źródło
Możesz użyć tej konfiguracji dla CUDA 10.0 (10.1 nie działa od 3/18), to działa dla mnie:
Zainstaluj wersję tensorflow gpu:
źródło
Przez pomyłkę zainstalowałem CUDA 10.1 i CUDNN 7.6. Możesz użyć następujących konfiguracji (to działało dla mnie - od 9/10). :
Musiałem jednak utworzyć dowiązania symboliczne, aby działał tak, jak pierwotnie tensorflow działa z CUDA 10.
I dodaj do mojego ~ / .bashrc -
źródło
Podobny problem miałem po aktualizacji do TF 2.0. Wersja CUDA, którą raportował TF, nie pasowała do tego, co według mnie Ubuntu 18.04 zainstalowałem. Napisał, że używam CUDA 7.5.0, ale apt pomyślał, że mam zainstalowaną odpowiednią wersję.
Co ja w końcu musiałem zrobić, to grep rekurencyjnie w
/usr/local
zaCUDNN_MAJOR
, i okazało się, że/usr/local/cuda-10.0/targets/x86_64-linux/include/cudnn.h
rzeczywiście było określić jako wersję7.5.0
./usr/local/cuda-10.1
zrozumiałem i/usr/local/cuda
wskazałem/usr/local/cuda-10.1
, więc było (i pozostaje) tajemnicą dla mnie, na co patrzy TF/usr/local/cuda-10.0
.W każdym razie przeniosłem się
/usr/local/cuda-10.0
do/usr/local/old-cuda-10.0
TF, więc nie mogłem go już znaleźć i wszystko działało jak urok.To wszystko było bardzo frustrujące i nadal czuję, że właśnie zrobiłem przypadkowego włamania. Ale zadziałało :) i może to pomoże komuś z podobnym problemem.
źródło