it-swarm.com.de

Beim Ausführen von "import tensorflow" wird unter Windows kein Fehler mit dem Namen "_pywrap_tensorflow" generiert

Unter Windows meldet TensorFlow nach der Ausführung einer import tensorflow-Anweisung einen oder beide der folgenden Fehler:

  • No module named "_pywrap_tensorflow"
  • DLL load failed.
71
Barry Rosenberg

Das Problem war die cuDNN-Bibliothek für mich - aus welchem ​​Grund auch immer, cudnn-8.0-windows10-x64-v6.0 funktionierte NICHT - ich verwendete cudnn-8.0-windows10-x64-v5.1 - ALL GOOD!

Mein Setup funktioniert mit Win10 64 und dem Nvidia GTX780M:

  • Stellen Sie sicher, dass Sie über die lib MSVCP140.DLL verfügen, indem Sie Ihr System/Ihren Pfad überprüfen. Wenn nicht, erhalten Sie es hier
  • Führen Sie das Windows-Installationsprogramm für Python 3.5.3-AMD64 von hier aus. - Versuchen Sie NICHT, neuere Versionen zu installieren, da sie wahrscheinlich nicht funktionieren 
  • Laden Sie cuDNN v5.1 für CUDA 8.0 von hier herunter - legen Sie es in Ihrem Benutzerordner oder an einem anderen bekannten Speicherort ab (Sie benötigen dies in Ihrem Pfad).
  • Holen Sie sich CUDA 8.0 x86_64 von hier
  • Setzen Sie PATH vars wie erwartet auf die cuDNN-Bibliotheken und Python (der Python-Pfad sollte während der Python-Installation hinzugefügt werden).
  • Stellen Sie sicher, dass ".DLL" in Ihrer PATHEXT-Variablen enthalten ist
  • Wenn Sie tensorflow 1.3 verwenden, möchten Sie cudnn64_6.dll github.com/tensorflow/tensorflow/issues/7705 verwenden. _

Wenn Sie Windows 32 ausführen, sollten Sie unbedingt die 32-Bit-Versionen der oben genannten Dateien herunterladen.

73
DropHit

In meinem Fall musste die Datei "cudnn64_6.dll" im Ordner "/ bin" in "cudnn64_5.dll" umbenannt werden, damit der Fehler behoben wird. Ich brauchte zwei Stunden, um das herauszufinden, und ich folgte der offiziellen Installationsanleitung. Dies gilt für die Installation über Pip (offiziell unterstützt) und Conda (Community unterstützt).

20
Vitaly

Jeder Fehler zeigt an, dass Ihr System MSVCP140.DLL, Nicht installiert hat, für den TensorFlow erforderlich ist.

So beheben Sie diesen Fehler:

  1. Stellen Sie fest, ob sich MSVCP140.DLL in Ihrer %PATH%-Variablen befindet.
  2. Wenn sich MSVCP140.DLL nicht in Ihrem %PATH% befindet, installieren Sie die Visual C++ 2015 weitervertreibbar (x64-Version), das diese DLL enthält.
13
Barry Rosenberg

Ich habe Win7 Pro 64-Bit auf AMD-CPU, keine GPU. Ich habe die Anweisungen unter "Installation mit nativem Pip" unter https://www.tensorflow.org/install/install_windows befolgt. Der Installationsschritt verlief in Ordnung, aber der Versuch, Tensorflow zu importieren, erzeugte das Infame:

ImportError: Kein Modul mit dem Namen '_pywrap_tensorflow_internal'

Dies scheint eine der Situationen zu sein, in denen viele nicht zusammenhängende Dinge, abhängig von der Konfiguration, schief gehen können, die alle zum gleichen Fehler kaskadieren.

In meinem Fall war die Installation von MSVCP140.DLL die Antwort.

Sie haben MSVCP140.DLL bereits, wenn (a) Sie über eine Datei C:\Windows\System43\MSVCP140.DLL verfügen UND (b) wenn Sie ein 64-Bit-System haben, dann haben Sie zusätzlich C:\Windows\SysWOW64\MSVCP140. DLL. 

Ich habe es manuell installiert, was unnötig war (die weitervertreibbare Datei ist nicht die gesamte Visual C++ - Entwicklungsumgebung und nicht groß). Verwenden Sie den zuvor in diesem Thread veröffentlichten Link, um ihn zu installieren: Visual C++ 2015 redistributable .

Ich empfehle außerdem, dass Sie das Standardinstallationsverzeichnis für Python überschreiben und es nicht an einem beliebigen Ort unter C:\Program Files ablegen, da Windows versucht, Dateien dort zu schützen, was später zu Problemen führt.

8
JWG

Nur bei Tensorflow mit CPU:


Ich hatte Tensorflow mit folgendem Befehl installiert:

pip3 install --upgrade tensorflow

Dies installierte tensorflow 1.7
Der Tensorflow konnte jedoch nicht mit python 3.6.5 AMD64 importiert werden:

import tensorflow as tf

Also habe ich die Tensorflow-Version mit folgendem Befehl von 1.7 auf 1.5 heruntergestuft:

pip3 install tensorflow==1.5

Dadurch wurde die vorherige Version deinstalliert und 1.5 installiert. Jetzt gehts.

Anscheinend unterstützt meine CPU keine AVX-Anweisung set, die in tensorflow 1.7 benötigt wird.

Ich hatte MSVCP140.DLL in den Systemordnern und .DLL in der PATHEXT-Variablen in Umgebungsvariable.

8
Rakibul Haq

cuDNN verursacht mein Problem. PATH-Variable funktioniert für mich nicht. Ich muss die Dateien in meinen cuDNN-Ordnern in eine respektvolle CUDA 8.0-Ordnerstruktur kopieren. 

7
Chris Han

TensorFlow erfordert MSVCP140.DLL, der möglicherweise nicht auf Ihrem System installiert ist . Um das Problem zu lösen, öffnen Sie das Terminal und geben Sie folgenden Link ein: 

C:\> pip install --upgrade https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow-1.0.0-cp35-cp35m-win_AMD64.whl 

Beachten Sie, dass dies die reine CPU-Version von TensorFlow ist.  

6
Fahtima

Für diejenigen, die auf älterer Hardware laufen:

Möglicherweise wird dieser Fehler aufgrund einer älteren CPU mit Tensorflow-gpu 1.6 angezeigt.

Wenn Ihre CPU vor 2011 erstellt wurde, beträgt Ihre maximale Tensorflow-GPU-Version 1,5.

Tensorflow 1.6 erfordert AVX-Anweisungen auf Ihrer CPU. Hier bestätigt: Tensorflow Github docs

AVX-fähige CPUs: Wiki AVX-CPUs

Was ich in meiner Conda-Umgebung für Tensorflow getan habe:

pip install --ignore-installed --upgrade tensorflow-gpu==1.5
5
Jasen

Nach langem Ausprobieren und Sicherstellen, dass VC++ 2015 Redistributable, cuDNN DLL und alle anderen Abhängigkeiten von PATH aus zugänglich sind, sieht es so aus, als ob Tensorflow GPU nur mit Python 3.5.2 funktioniert. (ab diesem Schreiben)

Also, wenn Sie Anaconda verwenden

  • conda create -n tensorflow-gpu python=3.5.2
  • activate tensorflow-gpu
  • pip install tensorflow-gpu

Dann den Python-Interpreter öffnen und überprüfen

>>> import tensorflow as tf
>>> sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))

Gefundenes Gerät 0 mit Eigenschaften:
Name: GeForce 940M
major: 5 minor: 0
memoryClockRate (GHz) 1.176
pciBusID 0000: 06: 00.0
Gesamtspeicher: 2,00 GB
Freier Speicher: 1.66GiB 

Credits: diese nette Anleitung

4
Madhur

Für jede Tensorflow-Version ist eine andere Version von CuDnn erforderlich. Auf www.tensorflow.org haben sie darüber in der Installationsanleitung nichts erwähnt!

In meinem Fall verwende tensorflow Version 1.3, die cuDNN 6 verwendet. https://github.com/tensorflow/tensorflow/releases .

Bitte überprüfen Sie Ihre Tensorfow-Version und Ihre CuDNN-Version, ob sie übereinstimmen.

Stellen Sie die Pfadumgebung für cuDNN ein. Wenn dies nicht funktioniert, überprüfen Sie bitte den Kommentar von @Chris Han.

3
nguyenhoai890

Das Problem für mich war die cuDNN-Bibliothek, die nicht den Anforderungen der Grafikkarte entsprach. Ich habe zwar die 6.0-Version für meinen GTX980ti heruntergeladen, die empfohlene Berechnungsfunktion auf der nvidia-Website war jedoch 5.1 ( http://developer.nvidia.com/cuda-gpus ). Also habe ich 5.1 heruntergeladen und die 6.0-Version ersetzt und als Sobald ich das getan habe, fing es an zu arbeiten.

3
Remus.A

Falls Sie versuchen, Tensorflow-GPU in Windows zu installieren, finden Sie this easy - interessantes Tutorial.

Hinweis: Wenn Sie beispielsweise PyCharm verwenden, müssen Sie den Interpreter in die erstellte Conda-Umgebung ändern.

2
Wesam Na

Ich habe einen allgemeinen Ansatz für die Problembehandlung des Problems "DLL load failed" in diesem Beitrag auf Windows-Systemen veröffentlicht.

  1. Verwenden Sie den Abhängigkeitsanalysator DLL Dependencies , um <Your Python Dir>\Lib\site-packages\tensorflow\python\_pywrap_tensorflow_internal.pyd zu analysieren und das genaue fehlende DLL zu ermitteln (angegeben durch ein ? neben der DLL). Der Pfad der .pyd-Datei basiert auf der von mir installierten TensorFlow 1.9-GPU-Version. Ich bin nicht sicher, ob der Name und der Pfad in anderen TensorFlow-Versionen identisch sind.

  2. Suchen Sie nach Informationen über das fehlende DLL und installieren Sie das entsprechende Paket, um das Problem zu beheben.

2
GZ0

Man könnte versucht sein, die Powershell/cmd unter Windows geöffnet zu lassen. Ich habe eine vernünftige Zeit verbracht, bis ich beschlossen habe, meine Powershell zu schließen und wieder zu öffnen, nur um festzustellen, dass ich alles richtig gemacht habe. 

2
Victor Grego

meine Antwort ist nur für Windows 10-Benutzer, da ich Folgendes unter Windows 10 ausprobiert habe. Einige der oben genannten Antworten sollten erweitert werden: Wenn Sie Anaconda verwenden, können Sie alles vermeiden und einfach installieren . Anaconda-Navigator mit dem Befehl

conda install -c anaconda anaconda-navigator

Anschließend können Sie den Navigator über den Befehl Eingabeaufforderung mit dem Befehl starten

anaconda-navigator

Wenn Sie diesen Befehl ausführen, erhalten Sie eine einfache Benutzeroberfläche, in der Sie eine virtuelle Umgebung erstellen, die Umgebung mit python = 3.5.2 erstellen und das Modul tensorflow-gpu oder tensorflow installieren können, indem Sie das Modul im Suchfeld mit gui durchsuchen der Installation der richtigen Cuda-Dateien für Sie. Die Verwendung von Anaconda Navigator ist die einfachste Lösung.

Wenn Sie Anaconda nicht verwenden, beachten Sie Folgendes

tensorflow-gpu 1.3 benötigt python= 3.5.2, cuda development kit 8.0 und cudaDNN 6.0, daher muss bei der Installation der Befehl ausgeführt werden

pip install tensorflow-gpu==1.3

tensorflow-gpu 1.2.1 oder weniger erfordert python 3.5.2, cuda development kit 8.0 und cudaDNN 5.1. Stellen Sie daher bei der Installation sicher, dass Sie den Befehl ausführen

pip install tensorflow-gpu==1.2.1

Im Folgenden sind die Schritte aufgeführt, die Sie für beide oben genannten Prozesse ausführen müssen. Einrichten der Pfadvariablen Sie müssen über die folgenden Systemvariablen verfügen

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"

Ihr PATHTEXT muss ".DLL" zusammen mit anderen Erweiterungen enthalten

".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.PY;.DLL"

Fügen Sie Ihrem Pfad außerdem Folgendes hinzu

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        

Wenn Sie eine Fehlermeldung erhalten, können Sie den folgenden Code von mrry herunterladen. Dieser Code überprüft Ihr Setup und teilt Ihnen mit, ob etwas nicht stimmt https://Gist.github.com/mrry/ee5dbcfdd045fa48a27d56664411d41c

Referenzen: http://blog.nitishmutha.com/tensorflow/2017/01/22/TensorFlow-with-gpu-for-windows.html

Die obige Referenz ist sehr nützlich. Bitte kommentieren Sie für Verbesserungen dieser Antwort. Hoffe das hilft, Danke.

1
M2skills

Meine zwei Cent:

Ich hatte eine Menge Probleme, als ich versuchte, CUDA 8.0 unter Windows 7 ordnungsgemäß zu installieren. Ich hatte eine Vorgängerversion installiert und wollte ein Upgrade durchführen. Deshalb habe ich es deinstalliert und versucht, CUDA 8.0 (für Tensorflow 1.3) zu installieren. Die Installation schlug jedes Mal fehl, ich habe versucht, auf CUDA 7.5 herunterzustufen und konnte es installieren, hatte aber eine Menge Probleme mit dem Tensorflow (ähnlich dem hier beschriebenen PATH-Problem). Lange Geschichte kurz: Was für mich funktionierte, war:

1) Deinstallieren Sie die EVERY NVIDIA-Komponente (mit Ausnahme des Grafikkartentreibers).

2) Laden Sie CUDA toolkit 8.0 (und den Patch) herunter https://developer.nvidia.com/cuda-downloads

3) Überprüfen Sie die CheckSum MD5 (ich habe MS https://www.Microsoft.com/de/de/download/confirmation.aspx?id=11533 verwendet, sollte dies aber tun), um sicherzustellen, dass sie in Ordnung sind Es ist mehrmals vorgekommen, dass der Installer wegen meines WLAN-Routers anscheinend nicht richtig heruntergeladen wurde.

4) Führen Sie das CUDA-Toolkit-Installationsprogramm als Root aus

5) Laden Sie cudnn 8.0 v6 herunter und fügen Sie seinen Speicherort der PATH-Variablen hinzu https://developer.nvidia.com/rdp/cudnn-download

Hoffe das hilft und erspart Kopfschmerzen ... 

HINWEIS: Dieses Skript hat mir sehr geholfen, das Problem zu debuggen! (Danke, mrry) https://Gist.github.com/mrry/ee5dbcfdd045fa48a27d56664411d41c

1
edgarbc

tensorflow 1.3 unterstützt cuda 9.0 noch nicht . Ich degradiere zu cuda 8.0 , dann funktioniert es.

1
yichudu

Ich werde versuchen, die Lösung zu finden, die für mich funktioniert hat. Es scheint, dass verschiedene Probleme zu dieser Situation führen können.

32-Bit-Software funktioniert in 64-Bit-Betriebssystemen. Ich habe anaconda-3 (32 Bit) in meinem 64-Bit-Betriebssystem installiert. Es hat perfekt funktioniert. Ich entschied mich, Tensorflow in meiner Maschine zu installieren, und es wurde zunächst nicht installiert. Ich habe die Conda-Umgebung zur Installation von Tensorflow verwendet und diesen Fehler erhalten.

Lösung ist Wenn Sie ein 64-Bit-Betriebssystem ausführen, installieren Sie ein 64-Bit-Anaconda und wenn ein 32-Bit-Betriebssystem dann ein 32-Bit-Anaconda ist. Befolgen Sie anschließend das auf der Tensorflow-Website für Windows (Anaconda-Installation) beschriebene Standardverfahren. Dadurch konnte der Tensorflow problemlos installiert werden.

1
coderredoc

Mit der TensorFlow-Version 1.3.0 müssen Sie Cudnn 6.0 anstelle von Cudnn 5.0 verwenden, da Cudnn 5.0 diesen Fehler ausgibt. Vergessen Sie nicht, Pfadvariable zu Cudnn 6.0 hinzuzufügen. Mit cudnn64_6.dll wird Ihr Tensorflow gut funktionieren. Lesen Sie den Link unten . https://github.com/tensorflow/tensorflow/blob/master/RELEASE.md#release-130

1
Shivam Panwar

Das Problem war die cuDNN Library für mich. Ich konnte den Testcode ausführen, nachdem ich das Verzeichnis (möglicherweise bin-Ordner) der cuDNN DLL (keine LIB-Datei) im Windows-Pfad hinzugefügt habe. 

Als Referenz habe ich TensorFlow von der Quelle mit PIP und meinem Betriebssystem Windows 7 und IDE: Visual Studio 2015 installiert.

1
Cloud Cho

Dll nicht gefunden. Installieren Sie die verteilbare Visual C++ 2015-Komponente, um sie zu beheben.

Für die Personen, die diesen Beitrag 2019 gefunden haben, könnte dieser Fehler auch auftreten, weil die Python-Version 3.7 TensorFlow nicht unterstützt (siehe https://www.tensorflow.org/install/pip ). Überprüfen Sie also die Python-Version:

python --version

Falls es größer als 3.6 ist, sollte es auf 3.6 herabgestuft werden. Für Anaconda:

conda install python=3.6

Installieren Sie dann TensorFlow.

pip install tensorflow

Übrigens, ich hatte keine GPU-Version, daher gab es in meinem Fall keine CUDA-bezogenen Probleme.

0
Catalin Stoean