Nie można załadować dynamicznej biblioteki ' cudart64 101.dll ' na procesorze TensorFlow-instalacja tylko

Właśnie zainstalowałem najnowszą wersję Tensorflow przez pip install tensorflow i za każdym razem, gdy uruchamiam program, dostaję komunikat dziennika:

W tensorflow / stream_executor/platform/default / dso_loader.cc:55] nie można załadować dynamicznej biblioteki 'cudart64_101.dll'; dlerror: cudart64_101.dll not found

Czy to źle? Jak naprawić błąd?
Author: Nicolas Gervais, 2020-01-20

14 answers

Tensorflow 2.1 +

Co się dzieje?

Wraz z nowym wydaniem Tensorflow 2.1, domyślny pakiet tensorflow pip zawiera zarówno wersje CPU, jak i GPU TF. W poprzednich wersjach TF, Nie znalezienie bibliotek CUDA spowoduje błąd i wywoła wyjątek, podczas gdy TERAZ biblioteka dynamicznie wyszukuje poprawną wersję CUDA i, jeśli jej nie znajdzie, emituje ostrzeżenie (W na początku oznacza Ostrzeżenia, błędy mają E (lub F dla fatal errors) i wraca do trybu CPU-only. W rzeczywistości jest to również zapisane w dzienniku jako wiadomość informacyjna zaraz po ostrzeżeniu (należy pamiętać, że jeśli masz wyższy minimalny poziom dziennika niż domyślny, możesz nie widzieć wiadomości informacyjnych). Pełny log jest (podkreślenie moje):

2020-01-20 12:27:44.554767: W tensorflow/stream_executor/platform/default / dso_loader.cc:55] nie można załadować dynamicznej biblioteki 'cudart64_101.dll'; dlerror: cudart64_101.dll not found

2020-01-20 12:27: 44.554964: I TensorFlow/stream_executor/cuda/cudart_stub.cc: 29] Zignoruj powyższy cudart dlerror, jeśli nie masz skonfigurowanego GPU na swoim komputerze.

Mam się martwić? Jak to naprawić?

Jeśli nie masz GPU obsługującego CUDA na swoim komputerze lub jeśli nie zależy ci na nie akceleracji GPU, nie musisz się martwić. Jeśli natomiast zainstalowałeś tensorflow i chciałeś akceleracji GPU, sprawdź swoją instalację CUDA (TF 2.1 wymaga CUDA 10.1 , Nie 10, 2 lub 10, 0).

Jeśli chcesz tylko pozbyć się ostrzeżenia, możesz dostosować poziom logowania TF , aby tłumić ostrzeżenia, ale może to być przesada, ponieważ uciszy wszystkie ostrzeżenia.


Tensorflow 1.X lub 2.0:

Twoja konfiguracja CUDA jest zepsuta, upewnij się, że masz zainstalowaną poprawną wersję.

 90
Author: GPhilo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-20 09:12:55

Aby zainstalować wymagania wstępne dla obsługi GPU w TensorFlow 2.1:

  1. Zainstaluj najnowsze sterowniki GPU.
  2. Install CUDA 10.1 .
    • jeśli Instalator CUDA zgłasza "instalujesz starszą wersję sterownika" , możesz wybrać instalację niestandardową i odznaczyć niektóre komponenty. Rzeczywiście, należy pamiętać, że oprogramowanie w pakiecie z CUDA, w tym GeForce Experience, PhysX, sterownik wyświetlacza i integracja z Visual Studio nie są wymagane przez TensorFlow.
    • zauważ również, że TensorFlow wymaga określonej wersji zestawu narzędzi CUDA, chyba że zbudujesz go ze źródła; dla TensorFlow 2.1 i 2.2 jest to obecnie Wersja 10.1.
  3. Zainstaluj cuDNN.
    1. Pobierz cuDNN v7. 6. 4 dla CUDA 10.1. Wymaga to zarejestrowania się w programie NVIDIA Developer Program.
    2. Rozpakuj w odpowiednie miejsce i Dodaj katalog bin do ścieżki.
  4. Install TensorFlow by pip install tensorflow.
  5. ty Może być konieczne ponowne uruchomienie komputera.
 47
Author: Chayan Bansal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-04-06 17:27:48

TensorFlow 2.3.0 działa dobrze z CUDA 11. Ale musisz zainstalować TF-nightly-gpu (po zainstalowaniu tensorflow i CUDA 11): https://pypi.org/project/tf-nightly-gpu/

Spróbuj:

pip install tf-nightly-gpu

Następnie otrzymasz wiadomość w konsoli:

I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library cudart64_110.dll
 17
Author: Jenya Pu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-09-11 15:22:02

Rozwiązałem to inaczej. Przede wszystkim zainstalowałem cuda 10.1 toolkit z tego link

Gdzie wybrałem Typ instalatora (exe (lokalny)) i zainstalowałem 10.1 w trybie niestandardowym oznacza (bez integracji visual studio, NVIDIA PhysX ponieważ wcześniej zainstalowałem CUDA 10.2 więc wymagane zależności były instalowane automatycznie)

Po instalacji, z następującej ścieżki (C:\Program Files\NVIDIA GPU Computing Toolkit \ CUDA \ v10.1 \ bin) , w moim przypadku skopiowałem cudart64_101plik dll i wklejony w (C:\Program Files\NVIDIA GPU Computing Toolkit \ CUDA \ v10. 2 \ bin).

Następnie importowanie Tensorflow działało płynnie.

N. B. Sorry for Bad English

 12
Author: Shantanu Nath,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-02-02 07:54:59

W środowisku conda to właśnie rozwiązało mój problem (brakowało mi cudart64-100.dll:

  1. Pobrano go z dll-files.com/CUDART64_100.DLL

  2. Umieścić go w moim środowisku conda w C:\Users\<user>\Anaconda3\envs\<env name>\Library\bin

To wszystko! Możesz dokładnie sprawdzić, czy działa:
import tensorflow as tf
tf.config.experimental.list_physical_devices('GPU')
 10
Author: Nicolas Gervais,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-07-02 19:31:27

W moim przypadku instalacja tensorflow szukała cudart64_101.dll

Tutaj wpisz opis obrazka

Część 101 cudart64_101 to wersja Cuda-tutaj 101 = 10.1

Ściągnąłem 11.x, czyli wersja cudart64 na moim systemie to cudart64_110.dll

Tutaj wpisz opis obrazka

To nie ten plik!! cudart64_101dll ≠ cudart64_110.dll

Rozwiązanie

Pobierz Cuda 10.1 z https://developer.nvidia.com/

Install (moja awaria z integracją Nsight Visual Studio, więc wyłączyłem to)

Tutaj wpisz opis obrazka

Po zakończeniu instalacji powinieneś mieć folder Cuda 10.1, a w koszu dll system narzekał na brak

Tutaj wpisz opis obrazka

Sprawdź, czy ścieżka do folderu bin 10.1 jest zarejestrowana jako zmienna środowiskowa systemu, więc będzie sprawdzana podczas ładowania biblioteka

Tutaj wpisz opis obrazka

Może być konieczne ponowne uruchomienie, jeśli ścieżka nie zostanie od razu odebrana przez system

Tutaj wpisz opis obrazka

 4
Author: Malcolm Swaine,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-11-26 00:27:43

Tensorflow 2.1 współpracuje z Cuda 10.1.

Jeśli chcesz szybki hack:

  • wystarczy pobrać cudart64_101.dll z tutaj . Rozpakuj plik zip i skopiuj cudart64_101.dll do katalogu CUDA bin

Else:

  • Install Cuda 10.1
 3
Author: Sritanu Chakraborty,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-05-18 12:06:43

To rozwiązanie zadziałało dla mnie:

Preinstalowałem environnement za pomocą anakondy (tutaj jest kod)

conda create -n YOURENVNAME python=3.6 // 3.6> incompatible with keras
conda activate YOURENVNAME
conda install tensorflow-gpu
conda install -c anaconda keras
conda install -c anaconda scikit-learn
conda install matplotlib

Ale po tym jak miałem jeszcze te ostrzeżenia

2020-02-23 13:31:44.910213: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'cudart64_101.dll'; dlerror: cudart64_101.dll not found

2020-02-23 13:31:44.925815: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cublas64_10.dll

2020-02-23 13:31:44.941384: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cufft64_10.dll

2020-02-23 13:31:44.947427: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library curand64_10.dll

2020-02-23 13:31:44.965893: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cusolver64_10.dll

2020-02-23 13:31:44.982990: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cusparse64_10.dll

2020-02-23 13:31:44.990036: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'cudnn64_7.dll'; dlerror: cudnn64_7.dll not found

Jak rozwiązałem pierwsze ostrzeżenie : Po prostu ściągam plik zip, który zawierał wszystkie pliki cudnn (dll, etc) tutaj: https://developer.nvidia.com/cudnn

Jak rozwiązałem drugie Ostrzeżenie : Szukałem ostatniego brakującego pliku (cudart64_101.dll) w moim wirtualnym env stworzonym przez condę i po prostu skopiuj/wklej go w tym samym folderze lib niż dla .dll cudnn

 3
Author: Akilion,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-07-30 12:53:06

Zainstalowałem cudatoolkit 11 i skopiowałem dll C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\bin do C:\Windows\System32. Naprawiono dla PyCharm ale nie dla anakondy jupyter:

[name: "/ device:CPU: 0"device_type:" CPU " memory_limit: 268435456 miejscowość {}: 6812190123916921346, nazwa: "/ urządzenie: GPU:0" device_type: "GPU" memory_limit: 13429637120 location { bus_id: 1
linki {}}: 18025633343883307728_device_desc: "urządzenie: 0, Nazwa: Quadro P5000, identyfikator magistrali pci: 0000: 02: 00.0, Oblicz zdolność: 6.1" ]

 3
Author: user3452134,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2021-02-05 23:43:27

Ta odpowiedź może być pomocna, jeśli widzisz powyższy błąd, ale w rzeczywistości masz zainstalowaną CUDA 10:

pip install tensorflow-gpu==2.0.0

Wyjście:

I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cudart64_100.dll
Co było dla mnie rozwiązaniem.
 1
Author: Scott,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-10-16 02:15:17

TensorFlow gpu 2.2 i 2.3 nightly

(along CUDA Toolkit 11.0 RC)

Aby rozwiązać ten sam problem co OP, musiałem tylko znaleźć cudart64_101.dll na moim dysku (w moim przypadku C:\Program pliki\NVIDIA Corporation\NvStreamSrv) i dodać go jako środowisko zmienne (czyli wartość dodana C:\Program Files\NVIDIA \ Corporation\nvstreamsrv) cudart64_101.dll do zmiennej środowiskowej użytkownika Path ).

 0
Author: tagoma,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-20 09:12:55

Udało się naprawić problem, aktualizując sterowniki urządzeń NVIDIA do najnowszej wersji (v446.14). Pobierz sterowniki NVIDIA link tutaj .

 0
Author: razmik,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-23 05:13:32

Prostszym sposobem byłoby utworzenie linku o nazwie cudart64_101.dll, aby wskazać cudart64_102.dll. Nie jest to zbyt ortodoksyjne, ale ponieważ TensorFlow szuka cudart64_101.dll eksportowanych symboli, a ludzie z Nvidii nie są amatorami, najprawdopodobniej nie usuną symboli ze 101 do 102. Działa w oparciu o to założenie(przebieg może się różnić).

 -2
Author: Dan Marinescu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2021-02-05 15:20:05

Jeśli używasz Windows:

A. Pobrano brakujące pliki dll z https://www.dll-files.com/

B. Kopiuj Wklej w C:\Windows\System32

Kod wybierze pliki z c:\windows\system32 która zawsze pozostaje na drodze.

 -4
Author: Fred,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-10-29 11:11:07