Windowsでは、TensorFlowはimport tensorflow
ステートメントの実行後に、次のエラーのいずれかまたは両方を報告します。
No module named "_pywrap_tensorflow"
DLL load failed.
Windowsでは、TensorFlowはimport tensorflow
ステートメントの実行後に、次のエラーのいずれかまたは両方を報告します。
No module named "_pywrap_tensorflow"
DLL load failed.
回答:
問題は私にとってのcuDNNライブラリでした-何らかの理由でcudnn-8.0-windows10-x64-v6.0が機能していませんでした-私はcudnn-8.0-windows10-x64-v5.1を使用しました-すべて良いです!
Win1064とNvidiaGTX780Mで動作する私のセットアップ:
Windows 32を実行している場合は、上記のファイルの32ビットバージョンを必ず入手してください。
私の場合、エラーを解消するには、/ binフォルダー内の「cudnn64_6.dll」ファイルの名前を「cudnn64_5.dll」に変更する必要がありました。私はこれを理解するのに2時間も費やしました、そして私は手紙の公式インストールガイドに従いました。これは、pip(公式にサポートされている)およびconda(コミュニティでサポートされている)を介したインストールに当てはまります。
cudnn64_6.dll
ませんcudnn64_5.dll
。
cudnn64_7.dll
を変更するとcudnn64_6.dll
役立ちます。
どちらのエラーも、システムがインストールされていないことを示していますMSVCP140.DLL
。これはTensorFlowに必要です。
このエラーを修正するには:
MSVCP140.DLL
します%PATH%
。MSVCP140.DLL
がにない場合は、このDLLを含むVisual C ++ 2015再配布可能ファイル(x64バージョン)を%PATH%
インストールし
ます。CPUのみのテンソルフローの場合:
コマンドを使用してtensorflowをインストールしました:
pip3 install --upgrade tensorflow
これはインストールされtensorflow 1.7
ましたが、以下python 3.6.5 amd64
を使用してテンソルフローをインポートできませんでした。
import tensorflow as tf
そこで、テンソルフローのバージョンを次のコマンド1.7
を1.5
使用してからダウングレードしました。
pip3 install tensorflow==1.5
これにより、以前のバージョンがアンインストールされ、がインストールされました1.5
。今では動作します。
私のCPUはAVX命令をサポートしていないようです、で必要なセットをです。tensorflow 1.7
私が持っていたMSVCP140.DLL
環境変数にPATHEXT変数にシステムフォルダと.DLLに。
私はAMDCPUにWin7Pro 64ビットを持っていますが、GPUはありません。https://www.tensorflow.org/install/install_windowsの「ネイティブpipを使用したインストール」の手順に従っていました。インストール手順は問題ありませんでしたが、テンソルフローをインポートしようとすると、悪名高いものが生成されました。
ImportError: No module named '_pywrap_tensorflow_internal'
これは、構成によっては、関係のない多くの問題が発生する可能性がある状況の1つであるように思われます。これらはすべて、同じエラーにカスケードされます。
私の場合、MSVCP140.DLLをインストールすることが答えでした。
あなたはMSVCP140.DLL
すでに持っています
C:\Windows\System32\MSVCP140.DLL
、そしてC:\Windows\SysWOW64\MSVCP140.DLL
。ます。手動でインストールしましたが、これは不要でした(再配布可能ファイルは、Visual C ++開発全体の混乱ではなく、大きくもありません)。このスレッドの前半に投稿されたリンクを使用してインストールします。 Visual C ++ 2015再配布可能。
また、Pythonのデフォルトのインストールディレクトリを上書きして、下以外の場所に配置することをお勧めしますC:\Program Files
。これは、Windowsがファイルの書き込み保護を試み、後で問題が発生するためです。
TensorFlow
が必要ですがMSVCP140.DLL
、システムにインストールされていない可能性があります。これを解決するには、ターミナルを開くか、次のリンクを貼り付けます。
C:\> pip install --upgrade https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow-1.0.0-cp35-cp35m-win_amd64.whl
これは、CPUのみのバージョンのTensorFlowをインストールするためのものであることに注意してください。
古いハードウェアで実行している場合:
tensorflow-gpu 1.6を使用している古いCPUを使用しているため、これと同じエラーが発生する可能性があります。
CPUが2011年より前に作成された場合、最大tensorflow-gpuバージョンは1.5です。
Tensorflow 1.6では、CPUにAVX命令が必要です。ここで確認済み:TensorflowGithubドキュメント
AVX対応CPU: Wiki AVX CPU
テンソルフローのためにコンダ環境で行ったこと:
pip install --ignore-installed --upgrade tensorflow-gpu==1.5
私にとっての問題は、グラフィックカードの要件に一致しないcuDNNライブラリでした。6.0バージョンをダウンロードしましたが、GTX980ti用ですが、nvidia Webサイトで推奨されるコンピューティング機能は5.1(http://developer.nvidia.com/cuda-gpus)だったので、5.1をダウンロードして6.0バージョンを交換しました。それが機能し始めたことをしました。
多くの試行錯誤の末、VC ++ 2015再頒布可能パッケージ、cuDNN DLL、およびその他すべての依存関係にPATHからアクセスできることを確認したところ、Tensorflow GPUはPythonでのみ機能するようです3.5.2
(この記事の執筆時点)
だからあなたが使っているなら Anaconda
conda create -n tensorflow-gpu python=3.5.2
activate tensorflow-gpu
pip install tensorflow-gpu
次に、Pythonインタープリターを開いて確認します
>>> import tensorflow as tf
>>> sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
プロパティを持つデバイス0が見つかりました:
名前:GeForce 940M
メジャー:5マイナー:0
memoryClockRate(GHz)1.176
pciBusID 0000:06:00.0
合計メモリ:2.00GiB
空きメモリ:1.66GiB
クレジット:このきちんとしたガイド
Tensorflowのバージョンごとに、異なるバージョンのCuDnnが必要です。オンwww.tensorflow.org、彼らは、インストールガイドでそのことについて言及しませんでした!
私のケースでは、cuDNN6を使用するtensorflowバージョン1.3を使用しています。https://github.com/tensorflow/tensorflow/releases。
tensorfowバージョンとcuDNNバージョンが一致しているかどうかを確認してください。
この投稿では、Windowsシステムの「DLLの読み込みに失敗しました」問題のトラブルシューティングのための一般的なアプローチを投稿しました。参考のため:
DLL依存関係アナライザーの依存関係を使用して、
<Your Python Dir>\Lib\site-packages\tensorflow\python\_pywrap_tensorflow_internal.pyd
欠落している正確なDLL(?
DLLの横に表示)を分析および判別します。.pydファイルのパスは、インストールしたTensorFlow 1.9GPUバージョンに基づいています。名前とパスが他のTensorFlowバージョンで同じかどうかはわかりません。不足しているDLLの情報を探し、適切なパッケージをインストールして問題を解決します。
All files (*.*)
だけでなく、ファイル名の横を選択する必要があることに注意してくださいexe files (*.exe, *.dll)
。
DLLが見つかりません。修正するために再配布可能なVisualC ++ 2015をインストールします。
TensorFlowリリース1.3.0では、Cudnn 5.0でこのエラーが発生するため、Cudnn5.0ではなくCudnn6.0を使用する必要があります。Cudnn 6.0にパス変数を追加することを忘れないでください。cudnn64_6.dllを使用すると、Tensorflowが正常に機能します。以下のリンクをお読みください。 https://github.com/tensorflow/tensorflow/blob/master/RELEASE.md#release-130
私の2セント:
CUDA8.0をWindows7に正しくインストールしようとすると、多くの問題が発生しました。以前のバージョンをインストールしていて、アップグレードしたかったので、アンインストールしてCUDA 8.0(tensorflow 1.3用)をインストールしようとしました。インストールは毎回失敗しました。CUDA7.5にダウングレードしようとしましたが、インストールできましたが、テンソルフローに多くの問題がありました(ここで説明するPATHの問題と同様)。短編小説:私のために働いたのは:
1)すべてのNVIDIAコンポーネントをアンインストールします(ディスプレイグラフィックスドライバーを除く)
2)CUDAツールキット8.0(およびパッチ)をダウンロードしますhttps://developer.nvidia.com/cuda-downloads
3)CheckSum MD5を確認します(MS https://www.microsoft.com/en-ca/download/confirmation.aspx?id=11533を使用しました)が、いずれでもません)をがないことを確認します(これは数回発生しました)私のWiFiルーターはどうやら)ので、インストーラーは正しくダウンロードされませんでした。
4)ルートとしてCUDAツールキットインストーラーを実行します
5)cudnn 8.0 v6をダウンロードし、その場所をPATH変数https://developer.nvidia.com/rdp/cudnn-downloadに追加します。
それがいくつかの頭痛の種を助け、救うことを願っています...
注:このスクリプトは、問題のデバッグに大いに役立ちました。(ありがとうmrry) https://gist.github.com/mrry/ee5dbcfdd045fa48a27d56664411d41c
私は私のために働いた解決策を与えることを試みます。さまざまな問題がこの状況につながる可能性があるようです。
32ビットソフトウェアは64ビットOSで動作します。64ビットOSにanaconda-3(32ビット)をインストールしました。それは完全にうまく機能していました。マシンにtensorflowをインストールすることにしましたが、最初はインストールされませんでした。conda環境を使用してtensorflowをインストールしていましたが、このエラーが発生しました。
解決策は、64ビットOSを実行している場合は、64ビットアナコンダをインストールし、32ビットOSの場合は、32ビットアナコンダをインストールすることです。次に、Windows用のtensorflow Webサイト(anacondaのインストール)に記載されている標準の手順に従います。これにより、テンソルフローを問題なくインストールすることが可能になりました。
私の答えは、Windows 10で次のことを試したので、Windows10ユーザーのみを対象としています。上記の回答の一部を拡張することをお勧めします。anacondaを使用している場合は、すべてを回避し、コマンドを使用してanaconda-navigatorをインストールするだけです。
conda install -c anaconda anaconda-navigator
次に、コマンドを使用してコマンドプロンプトからナビゲーターを起動できます
anaconda-navigator
このコマンドを実行すると、仮想環境を作成し、python = 3.5.2で環境を作成し、guiを使用して検索ボックスでモジュールを検索することでモジュールtensorflow-gpuまたはtensorflowをインストールできる単純なGUIを取得します。あなたのために正しいcudaファイルをインストールするのです。anacondaナビゲーターを使用するのが最も簡単なソリューションです。
anacondaを使用していない場合は、次の点に注意してください。
tensorflow-gpu1.3にはpython3.5.2、cuda開発キット8.0、cudaDNN 6.0が必要です。したがって、インストールするときは、必ずコマンドを実行してください。
pip install tensorflow-gpu==1.3
tensorflow-gpu1.2.1以下にはpython3.5.2、cuda開発キット8.0、cudaDNN 5.1が必要です。したがって、インストールするときは必ずコマンドを実行してください。
pip install tensorflow-gpu==1.2.1
以下は、上記の両方のプロセスで実行する必要のある手順です。パス変数の設定次のシステム変数が必要です。
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には、他の拡張子とともに「.DLL」を含める必要があります
".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.PY;.DLL"
また、パスに以下を追加します
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
エラーが発生した場合は、mrryで以下のコードを実行してダウンロードできます。このコードはセットアップをチェックし、問題があるかどうかを通知します https://gist.github.com/mrry/ee5dbcfdd045fa48a27d56664411d41c
参照:http: //blog.nitishmutha.com/tensorflow/2017/01/22/TensorFlow-with-gpu-for-windows.html
上記のリファレンスは非常に便利です。この回答の改善についてコメントしてください。これがお役に立てば幸いです、ありがとう。
2019年にこの投稿を見つけた人にとっては、Pythonバージョン3.7がTensorFlowをサポートしていないためにこのエラーが発生する可能性もあります(https://www.tensorflow.org/install/pipを参照)。したがって、Pythonのバージョンを確認してください。
python --version
3.6より大きい場合は、3.6にダウングレードする必要があります。Anacondaの場合:
conda install python=3.6
次に、TensorFlowをインストールします。
pip install tensorflow
ところで、私はGPUバージョンを持っていなかったので、私の場合、CUDA関連の問題はありませんでした。
同じ問題に遭遇した(中2019年9月9日)を調査しながら、 [SO]:トレーニングはtensorflowで推定APIを使用しているときにエラーを。
セットアップ:
エラー:
[cfati@CFATI-5510-0:e:\Work\Dev\StackOverflow\q057588589]> "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\Scripts\python.exe" -c "import tensorflow as tf"
Traceback (most recent call last):
File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 58, in <module>
from tensorflow.python.pywrap_tensorflow_internal import *
File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 28, in <module>
_pywrap_tensorflow_internal = swig_import_helper()
File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 24, in swig_import_helper
_mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\imp.py", line 242, in load_module
return load_dynamic(name, filename, file)
File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\imp.py", line 342, in load_dynamic
return _load(spec)
ImportError: DLL load failed: The specified module could not be found.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\site-packages\tensorflow\__init__.py", line 24, in <module>
from tensorflow.python import pywrap_tensorflow # pylint: disable=unused-import
File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\site-packages\tensorflow\python\__init__.py", line 49, in <module>
from tensorflow.python import pywrap_tensorflow
File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 74, in <module>
raise ImportError(msg)
ImportError: Traceback (most recent call last):
File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 58, in <module>
from tensorflow.python.pywrap_tensorflow_internal import *
File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 28, in <module>
_pywrap_tensorflow_internal = swig_import_helper()
File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 24, in swig_import_helper
_mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\imp.py", line 242, in load_module
return load_dynamic(name, filename, file)
File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\imp.py", line 342, in load_dynamic
return _load(spec)
ImportError: DLL load failed: The specified module could not be found.
Failed to load the native TensorFlow runtime.
See https://www.tensorflow.org/install/errors
for some common reasons and solutions. Include the entire stack trace
above this error message when asking for help.
「障害のある」モジュールを見ると(Dependency Walkerのおかげで)、欠落しているのはそれ自体ではなく、その依存関係の一部(cu * _ 100 .dllファイル)であることがわかります。
[SO]を確認してください:Python Ctypes-dllをロードするとOSErrorがスローされます:[WinError 193]%1は、この種のエラーの詳細について、有効なWin32アプリケーション(@CristiFatiの回答)(最後の結論セクション)ではありません。
私は古いCUDAツールキットバージョン(8)を持っていたので、結果としてcu * _ 80 .dllファイル。
TensorFlow-GPU 1. 14 .0("e:\Work\Dev\VEnvs\py_064_03.07.03_test0\Scripts\python.exe" -m pip install --upgrade tensorflow-gpu
)にアップグレードすると、エラーが少し明確になりました(さらに短くなりました)。
[cfati@CFATI-5510-0:e:\Work\Dev\StackOverflow\q057588589]> "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\Scripts\python.exe" -c "import tensorflow as tf"
Traceback (most recent call last):
File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\site-packages\tensorflow\python\platform\self_check.py", line 75, in preload_check
ctypes.WinDLL(build_info.cudart_dll_name)
File "c:\install\x64\python\python\03.07.03\Lib\ctypes\__init__.py", line 356, in __init__
self._handle = _dlopen(self._name, mode)
OSError: [WinError 126] The specified module could not be found
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\site-packages\tensorflow\__init__.py", line 28, in <module>
from tensorflow.python import pywrap_tensorflow # pylint: disable=unused-import
File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\site-packages\tensorflow\python\__init__.py", line 49, in <module>
from tensorflow.python import pywrap_tensorflow
File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 30, in <module>
self_check.preload_check()
File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\site-packages\tensorflow\python\platform\self_check.py", line 82, in preload_check
% (build_info.cudart_dll_name, build_info.cuda_version_number))
ImportError: Could not find 'cudart64_100.dll'. TensorFlow requires that this DLL be installed in a directory that is named in your %PATH% environment variable. Download and install CUDA 10.0 from this URL: https://developer.nvidia.com/cuda-90-download-archive
手順:
上記の手順を実行し、正しいパスを設定すると、次のように機能しました。
[cfati@CFATI-5510-0:e:\Work\Dev\StackOverflow\q057588589]> set PATH=%PATH%;%CUDA_PATH%\bin;f:\Install\x64\NVidia\GPU Computing Toolkit\cuDNN\7.6\bin
[cfati@CFATI-5510-0:e:\Work\Dev\StackOverflow\q057588589]> "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\Scripts\python.exe" -c "import tensorflow;print(\"Success!!!\")"
Success!!!