Problemem była dla mnie biblioteka cuDNN - z jakiegoś powodu cudnn-8.0-windows10-x64-v6.0 NIE działała - użyłem cudnn-8.0-windows10-x64-v5.1 - WSZYSTKO DOBRE!
Moja konfiguracja działająca z Win10 64 i Nvidia GTX780M:
- Upewnij się, że masz bibliotekę MSVCP140.DLL, sprawdzając system / ścieżkę - jeśli nie, pobierz ją tutaj
- Uruchom instalator systemu Windows dla pythona 3.5.3-amd64 stąd - NIE próbuj nowszych wersji, ponieważ prawdopodobnie nie będą działać
- Pobierz cuDNN v5.1 dla CUDA 8.0 stąd - umieść go w folderze użytkowników lub w innej znanej lokalizacji (będziesz potrzebować tego w swojej ścieżce)
- Pobierz CUDA 8.0 x86_64 stąd
- Ustaw zmienne PATH zgodnie z oczekiwaniami, aby wskazywały na biblioteki cuDNN i python (ścieżkę pythona należy dodać podczas instalacji Pythona)
- Upewnij się, że zmienna PATHEXT zawiera „.DLL”
- Jeśli używasz tensorflow 1.3, chcesz użyć cudnn64_6.dll github.com/tensorflow/tensorflow/issues/7705
Jeśli używasz systemu Windows 32, pamiętaj, aby pobrać 32-bitowe wersje plików wymienionych powyżej.
W moim przypadku nazwa pliku „cudnn64_6.dll” w folderze / bin musiała zostać zmieniona na „cudnn64_5.dll”, aby błąd zniknął. Z łatwością spędziłem dwie godziny, aby to rozgryźć, i postępowałem zgodnie z oficjalnym przewodnikiem instalacji co do joty. Dotyczy to instalacji przez pip (oficjalnie obsługiwane) i conda (obsługiwane przez społeczność).
źródło
cudnn64_6.dll
niecudnn64_5.dll
.cudnn64_7.dll
nacudnn64_6.dll
pomaga.Każdy błąd wskazuje, że system nie został zainstalowany
MSVCP140.DLL
, czego wymaga TensorFlow.Aby naprawić ten błąd:
MSVCP140.DLL
znajduje się w%PATH%
zmiennej.MSVCP140.DLL
nie ma%PATH%
, zainstaluj pakiet redystrybucyjny Visual C ++ 2015 (wersja x64), który zawiera tę bibliotekę DLL.źródło
Tylko w przypadku tensorflow z procesorem:
Zainstalowałem tensorflow za pomocą polecenia:
Zainstalowano,
tensorflow 1.7
ale nie można zaimportować tensorflow z
python 3.6.5 amd64
przy użyciu:import tensorflow as tf
Dlatego obniżyłem wersję tensorflow z
1.7
do1.5
za pomocą następującego polecenia:pip3 install tensorflow==1.5
To odinstalowało poprzednią wersję i zainstalowało
1.5
. Teraz działa.Wygląda na to, że mój procesor nie obsługuje zestawu instrukcji AVX, który jest wymagany w
tensorflow 1.7
Miałem
MSVCP140.DLL
w folderach systemowych i .DLL w zmiennej PATHEXT w zmiennej środowiskowej.źródło
Mam Win7 Pro w wersji 64-bitowej na procesorze AMD, bez procesora graficznego. Postępowałem zgodnie z instrukcjami zawartymi w sekcji „Instalowanie za pomocą natywnego pip” na https://www.tensorflow.org/install/install_windows . Etap instalacji poszedł dobrze, ale próba zaimportowania tensorflow zakończyła się niesławnym:
ImportError: No module named '_pywrap_tensorflow_internal'
Wydaje się, że jest to jedna z tych sytuacji, w których wiele niezwiązanych ze sobą rzeczy może pójść nie tak, w zależności od konfiguracji, a wszystko to prowadzi do tego samego błędu.
W moim przypadku rozwiązaniem była instalacja MSVCP140.DLL.
Masz
MSVCP140.DLL
już, jeśliC:\Windows\System32\MSVCP140.DLL
ANDC:\Windows\SysWOW64\MSVCP140.DLL
.Zainstalowałem go ręcznie, co było niepotrzebne (pakiet redystrybucyjny nie jest całym bałaganem programistycznym Visual C ++ i nie jest duży). Użyj linku opublikowanego wcześniej w tym wątku, aby go zainstalować: Pakiet redystrybucyjny Visual C ++ 2015 .
Zalecam również zastąpienie domyślnego katalogu instalacyjnego dla Pythona i umieszczenie go gdziekolwiek poza nim
C:\Program Files
, ponieważ Windows próbuje tam chronić pliki przed zapisem, co powoduje później problemy.źródło
TensorFlow
wymagańMSVCP140.DLL
, które mogą nie być zainstalowane w Twoim systemie. Aby rozwiązać ten problem, otwórz terminal i wpisz lub wklej ten link:C:\> pip install --upgrade https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow-1.0.0-cp35-cp35m-win_amd64.whl
Należy pamiętać, że jest to instalacja wersji TensorFlow wyłącznie dla procesora.
źródło
cuDNN powoduje mój problem. Zmienna PATH nie działa dla mnie. Muszę skopiować pliki z moich folderów cuDNN do odpowiedniej struktury folderów CUDA 8.0.
źródło
Dla osób korzystających ze starszego sprzętu:
Ten sam błąd może wystąpić z powodu posiadania starszego procesora korzystającego z tensorflow-gpu 1.6.
Jeśli Twój procesor został wyprodukowany przed 2011 rokiem, maksymalna wersja tensorflow-gpu to 1.5.
Tensorflow 1.6 wymaga instrukcji AVX na twoim procesorze. Zweryfikowano tutaj: Dokumentacja Tensorflow Github
Procesory obsługujące AVX: procesory Wiki AVX
Co zrobiłem w moim środowisku Conda dla tensorflow:
pip install --ignore-installed --upgrade tensorflow-gpu==1.5
źródło
Problemem była dla mnie biblioteka cuDNN, która nie odpowiadała wymaganiom karty graficznej. Pobrałem wersję 6.0, ale dla mojego GTX980ti, ale zalecana zdolność obliczeniowa na stronie nvidia to 5.1 ( http://developer.nvidia.com/cuda-gpus ), więc pobrałem 5.1 i zastąpiłem wersję 6.0 i jak tylko. zrobiłem, że zaczęło działać.
źródło
Po wielu próbach i błędach i upewnieniu się , że pakiet redystrybucyjny VC ++ 2015 , cuDNN DLL i wszystkie inne zależności są dostępne z PATH, wygląda na to, że procesor graficzny Tensorflow działa tylko z Pythonem
3.5.2
(w chwili pisania tego tekstu)Więc jeśli używasz
Anaconda
conda create -n tensorflow-gpu python=3.5.2
activate tensorflow-gpu
pip install tensorflow-gpu
Następnie otwórz interpreter języka Python i zweryfikuj
>>> import tensorflow as tf >>> sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
Kredyty: ten zgrabny przewodnik
źródło
Każda wersja Tensorflow wymaga innej wersji CuDnn. Na www.tensorflow.org nie wspomnieli o tym w instrukcji instalacji!
W moim przypadku używam tensorflow w wersji 1.3, która używa cuDNN 6. https://github.com/tensorflow/tensorflow/releases .
Sprawdź swoją wersję tensorfow i wersję cuDNN, jeśli są zgodne.
I ustaw środowisko ścieżki dla cuDNN, jeśli nadal nie działa, sprawdź plik odpowiedź od @ Chris Han .
źródło
W tym poście opublikowałem ogólne podejście do rozwiązywania problemu z błędem ładowania DLL w systemach Windows. Na przykład:
źródło
All files (*.*)
obok nazwy pliku zamiast tylkoexe files (*.exe, *.dll)
.Można pokusić się o pozostawienie otwartej powłoki Powershell / cmd w systemie Windows. Spędziłem rozsądny czas, zanim zdecydowałem się zamknąć i ponownie otworzyć moją Powershell tylko po to, aby zdać sobie sprawę, że zrobiłem wszystko dobrze.
źródło
Jeśli próbujesz zainstalować procesor graficzny tensorflow w systemie Windows, możesz znaleźć ten prosty i interesujący samouczek.
Uwaga: jeśli używasz na przykład PyCharm, musisz zmienić interpretera na utworzone środowisko Conda.
źródło
Dll nie został znaleziony. Zainstaluj pakiet redystrybucyjny Visual C ++ 2015, aby naprawić.
źródło
Dla mnie problemem była biblioteka cuDNN. Udało mi się uruchomić kod testowy po dodaniu katalogu (prawdopodobnie folderu bin) biblioteki cuDNN DLL (nie pliku LIB) w ścieżce systemu Windows.
Dla porównania zainstalowałem TensorFlow ze źródła przy użyciu PIP i mojego systemu operacyjnego: Windows 7 i IDE: Visual Studio 2015.
źródło
W przypadku wersji 1.3.0 TensorFlow należy użyć Cudnn 6.0 zamiast Cudnn 5.0, ponieważ Cudnn 5.0 podaje ten błąd. Nie zapomnij dodać zmiennej ścieżki do Cudnn 6.0. Z cudnn64_6.dll Twój Tensorflow będzie działał poprawnie. Przeczytaj poniższy link. https://github.com/tensorflow/tensorflow/blob/master/RELEASE.md#release-130
źródło
Moje dwa centy:
Miałem mnóstwo problemów, próbując poprawnie zainstalować moją CUDA 8.0 na Windows 7. Miałem zainstalowaną poprzednią wersję i chciałem ją zaktualizować, więc odinstalowałem ją i próbowałem zainstalować CUDA 8.0 (dla tensorflow 1.3). Instalacja nie powiodła się za każdym razem, próbowałem przejść na CUDA 7.5 i mogłem ją zainstalować, ale miałem mnóstwo problemów z tensorflow (podobnie jak w przypadku opisanego tutaj problemu PATH). Krótko mówiąc: to, co zadziałało dla mnie to:
1) Odinstaluj KAŻDY składnik NVIDIA (z wyjątkiem sterownika karty graficznej)
2) Pobierz zestaw narzędzi CUDA 8.0 (i poprawkę) https://developer.nvidia.com/cuda-downloads
3) Sprawdź CheckSum MD5 (użyłem MS https://www.microsoft.com/en-ca/download/confirmation.aspx?id=11533, ale każdy by zrobił), aby upewnić się, że są w porządku (zdarzyło się to kilka razy, że instalator nie został poprawnie pobrany, ponieważ najwyraźniej mój router WiFi).
4) Uruchom instalator zestawu narzędzi CUDA jako root
5) Pobierz Cudnn 8.0 v6 i dodaj jego lokalizację do zmiennej PATH https://developer.nvidia.com/rdp/cudnn-download
Mam nadzieję, że to pomaga i ratuje niektóre bóle głowy ...
UWAGA: Ten skrypt bardzo mi pomógł w debugowaniu problemu! (Dziękuję mrry) https://gist.github.com/mrry/ee5dbcfdd045fa48a27d56664411d41c
źródło
Postaram się podać rozwiązanie, które działało dla mnie. Wydaje się, że inny zestaw problemów może prowadzić do takiej sytuacji.
Oprogramowanie 32-bitowe działa w 64-bitowym systemie operacyjnym. Zainstalowałem Anaconda-3 (32-bitową) w moim 64-bitowym systemie operacyjnym. Działało doskonale. Zdecydowałem się zainstalować tensorflow w mojej maszynie i na początku nie było to możliwe. Użyłem środowiska Conda do zainstalowania tensorflow i otrzymałem ten błąd.
Rozwiązaniem jest, jeśli używasz 64-bitowego systemu operacyjnego, zainstaluj 64-bitową anakondę, a jeśli 32-bitowy system operacyjny, to 32-bitową anakondę . Następnie postępuj zgodnie ze standardową procedurą opisaną na stronie tensorflow dla Windows (instalacja anacondy). Umożliwiło to bezproblemową instalację tensorflow.
źródło
moja odpowiedź dotyczy tylko użytkowników systemu Windows 10, ponieważ wypróbowałem następujące rozwiązania w systemie Windows 10. Sugeruję, aby rozszerzyć niektóre z powyższych odpowiedzi: Jeśli używasz anacondy, możesz uniknąć wszystkiego i po prostu zainstalować anaconda-navigator za pomocą polecenia
Następnie możesz uruchomić nawigator z wiersza poleceń za pomocą polecenia
Po uruchomieniu tego polecenia otrzymujesz proste GUI, w którym możesz utworzyć środowisko wirtualne, utworzyć środowisko z python = 3.5.2 i zainstalować moduł tensorflow-gpu lub tensorflow przeszukując moduł w polu wyszukiwania za pomocą gui, zajmie się również instalacji poprawnych plików CUDA. Korzystanie z nawigatora Anaconda to najprostsze rozwiązanie.
Jeśli nie używasz anakondy, zwróć uwagę na następujące kwestie
tensorflow-gpu 1.3 wymaga Pythona 3.5.2, zestawu deweloperskiego cuda 8.0 i cudaDNN 6.0, dlatego podczas instalacji upewnij się, że uruchomiłeś polecenie
pip install tensorflow-gpu==1.3
tensorflow-gpu 1.2.1 lub mniej wymaga Pythona 3.5.2, CUDA Development Kit 8.0 i cudaDNN 5.1, dlatego podczas instalacji upewnij się, że uruchomiłeś polecenie
pip install tensorflow-gpu==1.2.1
Poniżej znajdują się kroki, które należy wykonać dla obu powyższych procesów Konfigurowanie zmiennych ścieżki Musisz mieć następujące zmienne systemowe
CUDA_HOME = "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0" CUDA_PATH = "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0" CUDA_PATH_V8.0 = "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0"
PATHTEXT musi zawierać „.DLL” wraz z innymi rozszerzeniami
".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.PY;.DLL"
Dodaj również następujące elementy do swojej ścieżki
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\lib\x64 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\extras\CUPTI\libx64; C:\Windows\SysWOW64; C:\Windows\System32
Jeśli otrzymujesz błędy, możesz pobrać poniższy kod przez mrry, ten kod sprawdzi konfigurację i powie Ci, czy coś jest nie tak https://gist.github.com/mrry/ee5dbcfdd045fa48a27d56664411d41c
Źródła: http://blog.nitishmutha.com/tensorflow/2017/01/22/TensorFlow-with-gpu-for-windows.html
Powyższe odniesienie jest bardzo przydatne. Prosimy o komentarz w celu ulepszenia tej odpowiedzi. Mam nadzieję, że to pomoże, dzięki.
źródło
tensorflow 1.3 jeszcze nie obsługuje CUDA 9.0 . Degraduję do CUDA 8.0 , to działa.
źródło
Dla osób, które znalazły ten post w 2019 roku, ten błąd może również wystąpić, ponieważ Python w wersji 3.7 nie obsługuje TensorFlow (patrz https://www.tensorflow.org/install/pip ). Sprawdź więc wersję Pythona:
Jeśli jest większy niż 3,6, należy go obniżyć do 3,6. Anaconda:
conda install python=3.6
Następnie zainstaluj TensorFlow.
Przy okazji, nie miałem wersji GPU, więc w moim przypadku nie było problemów związanych z CUDA.
źródło
Napotkałem ten sam problem ( w 2019/09/09 ) podczas badania [SO]: Błąd podczas uczenia przy użyciu API estymatora w tensorflow .
Ustawiać:
Błąd :
Patrząc na „wadliwy” moduł (dzięki Dependency Walker ), okazuje się, że nie brakuje go samego, ale niektóre jego zależności ( cu * _ 100 .dll pliki ).
Sprawdź [SO]: Python Ctypes - ładowanie dll zgłasza błąd OSError: [WinError 193]% 1 nie jest poprawną aplikacją Win32 (odpowiedź @ CristiFati) ( sekcja Wnioski na końcu), aby uzyskać więcej informacji na temat tego rodzaju błędów.
Miałem starszą wersję CUDA Toolkit ( 8 ), aw konsekwencji plik pliki cu * _ 80 .dll .
Aktualizacja do TensorFlow-GPU 1. 14 .0 (
"e:\Work\Dev\VEnvs\py_064_03.07.03_test0\Scripts\python.exe" -m pip install --upgrade tensorflow-gpu
) sprawiła, że błąd był nieco jaśniejszy (a także krótszy):Kroki :
Po wykonaniu powyższych czynności, a także ustawieniu poprawnych ścieżek zadziałało:
źródło