2016-07-23 17 views
16

Z powodzeniem zainstalowałem tensorflow (GPU) na Linux Ubuntu 16.04 i wprowadziłem kilka drobnych zmian, aby działało z nowym wydaniem Ubuntu LTS.Jak mogę uruchomić tensorflow na GPU o wydajności 2.0?

Jednak myślałem (nie wiem dlaczego), że mój układ GPU spełnia minimalne wymagania dotyczące możliwości obliczeniowych większe niż 3,5. Tak nie było, ponieważ mój GeForce 820M ma właśnie 2.1. Czy istnieje sposób na tworzenie wersji GPU tensorflow z moim GPU?

Zadaję to pytanie, ponieważ najwyraźniej nie było sposobu dokonywania wersję tensorflow GPU pracuje na Ubuntu 16.04 ale przeszukując internet okazało się, że nie był to przypadek i rzeczywiście zrobiłem to prawie pracy, gdyby nie to niezadowolony wymaganie. Teraz zastanawiam się, czy ten problem z możliwościami obliczania GPU mógł zostać naprawiony.

+0

Sprawdziłem, że GPU i wydaje się bardzo słaby. Gdybym był tobą, po prostu użyłbym tensorflow z procesorem, ponieważ nie sądzę, że będzie duża różnica w wydajności. Może nawet być szybciej. – chasep255

+0

@ chasep255 Udało mi się użyć mxnet na GPU (Python). Trochę szybciej. Tak, różnica nie jest taka duża, ale podczas prowadzenia wielu epok może pomóc nawet niewielka różnica. Jeśli dostosowanie pakietu do mojego komputera nie wymaga dużego nakładu pracy, myślę, że mógłbym spróbować. – mickkk

+0

@mickkk Zauważyłem, że tensorflow obsługuje również opencl ... Nie jestem pewien, czy to może być alternatywa. Idę teraz spróbować zbudować to tak. Przekaże raport, jeśli działa poprawnie. –

Odpowiedz

9

Wersja GPU tensorflow requires compute capability 3.0 or higher (and uses cuDNN) w celu uzyskania dostępu do GPU. Od here

Obsługa GPU TensorFlow wymaga posiadania karty GPU z NVIDIA Compute Capability> = 3.0.

cuDNN also requires a GPU of cc3.0 or higher:

cuDNN jest obsługiwana w systemach Windows, Linux i MacOS Pascal, Kepler, Maxwell, Tegra K1 lub Tegra X1 GPU.

  • Kepler = cc3.x
  • Maxwell = cc5.x
  • paskal = cc6.x
  • TK1 = cc3.2
  • TX1 = cc5.3

Procesory graficzne Fermi (cc2.0, cc2.1) nie są obsługiwane przez cuDNN.

Starsze GPU (np. Zdolność obliczeniowa 1.x) również nie są obsługiwane przez cuDNN.

Zauważ, że istnieje nigdy nie było ani wersja cuDNN ani żadnej wersji TF, która oficjalnie obsługuje procesory graficzne NVIDIA mniejsze niż cc3.0. Początkowa wersja cuDNN zaczęła się od wymagania procesorów graficznych cc3.0, a początkowa wersja TF zaczęła się wymagając procesorów graficznych cc3.0.

+0

Teraz zastanawiam się, dlaczego udało mi się uruchomić mxnet na GPU używając cuDNN chociaż ... Zasadniczo nie można było nawet zainstalować GPU tensorflow na ostatnim Ubuntu LTS .. – mickkk

+0

cuDNN nie będzie działał na GPU cc2.1. Być może mxnet ma ścieżkę z obsługą gpu, która nie wymaga cuDNN. Wydaje się, że tak właśnie jest [tutaj] (http://mxnet.readthedocs.io/en/latest/how_to/build.html). Zauważ, że obsługa GPU jest zastrzeżona dla cc2.0 i wyższych, ale używa "CUDNN do ** przyspieszenia ** obliczeń GPU". –

6

Sep.2017 Aktualizacja: Nie można tego zrobić bez problemów i bólów. Próbowałem ciężko na wszystkie sposoby, a nawet stosowałem podstęp, aby zmusić go do działania, ale w końcu musiałem się poddać. Jeśli poważnie myślisz o Tensorflow, po prostu kup i kup 3.0 GPU.

To sztuczka, aby wymusić tensorflow działać na 2,0 zdolności obliczeniowej GPU (nie oficjalnie):

  1. znaleźć plik w lib/site-packages/tensorflow/Python/_pywrap_tensorflow_internal.pyd (orLib/site-packages/tensorflow/python/_pywrap_tensorflow.PYD)
  2. Otwórz go z Notepad ++ lub coś podobnego

  3. wyszukiwania dla pierwszego wystąpienia 3\.5.*5\.2 użyciu regex

  4. Widzisz 3,0 przed 3.5 * 5.2, zmień go na 2,0

Zmieniłem powyższe i mogę wykonać proste obliczenia z GPU, ale utknąłem z dziwnymi i nieznanymi problemami, gdy próbowałem z praktycznymi projektami (te projekty działają dobrze z GPU 3.0) GPU)

+5

Zdecydowanie nie należy tego robić. Po zastosowaniu tej sztuczki na moim laptopie z GeForce 800M wyniki są nieprawidłowe. –

+1

Tak, to jest smutne, aby się tego dowiedzieć. Mój układ GPU również działa nieprawidłowo w przypadku złożonego modelu (dziwne błędy), podczas gdy w tym samym modelu (ten sam kod) może działać płynnie z GPU 3.0 –

+2

Dziękuję chłopcom za zgłoszenie problemów z powyższego eksperymentu. Pomaga mi to łatwo odejść i zrozumieć, że jeśli chcę uruchomić TF, muszę zdobyć nowy procesor graficzny. :) @TinLuu, rozważ edytowanie swojej odpowiedzi, aby odzwierciedlić problemy, aby inni, którzy pominęli te komentarze, również nie poszli tą drogą! – mayank

Powiązane problemy