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を使用しました。
Win10 64とNvidia GTX780Mで動作する私のセットアップ:
Windows 32を実行している場合は、上記のファイルの32ビットバージョンを必ず入手してください。
私の場合、/ binフォルダの "cudnn64_6.dll"ファイルは、エラーを消すために "cudnn64_5.dll"に名前を変更する必要がありました。私は簡単にこれを理解するために2時間を費やし、そして私はその手紙の公式インストールガイドに従いました。これはpip(公式にサポートされている)とconda(コミュニティにサポートされている)によるインストールに当てはまります。
どちらのエラーも、TensorFlowが必要とするMSVCP140.DLL
をシステムがインストールしていないことを示します。
このエラーを修正するには
MSVCP140.DLL
が%PATH%
変数に入っているかどうかを確認してください。MSVCP140.DLL
が%PATH%
にない場合は、このDLLを含む Visual C++ 2015再配布可能 (x64バージョン)をインストールしてください。私はAMD cpu上でWin 7 Pro 64-bitを持っていますが、gpuは持っていません。 https://www.tensorflow.org/install/install_windows にある「ネイティブpipを使ったインストール」の指示に従っていました。インストール手順は問題ありませんでしたが、tensorflowをインポートしようとすると悪名高いものが生成されました。
ImportError: '_pywrap_tensorflow_internal'という名前のモジュールはありません
これは、設定によっては関係のない多くの問題が発生する可能性がある状況の1つのように思われます。すべて同じエラーが発生します。
私の場合は、MSVCP140.DLLをインストールすることが答えでした。
(a)C:\ Windows\System43\MSVCP140.DLLのファイルがある場合、および(b)64ビットシステムの場合、さらにC:\ Windows\SysWOW64\MSVCP140がある場合は、既にMSVCP140.DLLがあります。 DLL.
私はそれを手動でインストールしましたが、これは不要でした(再配布可能ファイルはVisual C++開発全体ではなく、大きくはありません)。それをインストールするには、このスレッドの前半に掲載されているリンクを使用してください: Visual C++ 2015 redistributable 。
また、Pythonはデフォルトのインストールディレクトリを上書きしてC:\ Program Files以外の場所に配置することをお勧めします。Windowsはそこにファイルの書き込み保護を試みるため、後で問題が発生します。
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
に必要なset
システムフォルダにMSVCP140.DLL
を、環境変数のPATHEXT変数に.DLLを入れました。
cuDNNは私の問題を引き起こします。 PATH変数が機能しません。私は私のcuDNNフォルダの中のファイルを丁寧なCUDA 8.0フォルダ構造にコピーしなければなりません。
TensorFlow
はMSVCP140.DLL
を必要とします。これはあなたのシステムにインストールされていないかもしれません。それを解決するには、端末を開くか、このリンクを貼り付けてください。
C:\> pip install --upgrade https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow-1.0.0-cp35-cp35m-win_AMD64.whl
これはTensorFlowのCPUのみのバージョンをインストールすることです。
古いハードウェアで動く人のために:
あなたはtensorflow-gpu 1.6を使っているより古いCPUを持っていることにより、これと同じエラーを得るかもしれません。
あなたのcpuが2011年より前に作られたのなら、あなたのmax tensorflow-gpuのバージョンは1.5です。
Tensorflow 1.6はあなたのCPUのAVX命令を必要とします。ここで検証済み: Tensorflow Githubドキュメント
AVX対応CPU: Wiki AVX CPU
テンソルフローのために私のコンダ環境で私がしたこと:
pip install --ignore-installed --upgrade tensorflow-gpu==1.5
試行錯誤し、VC++ 2015 Redistributable、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.00ギガバイト
空きメモリ:1.66GiB
クレジット: このきちんとしたガイド
Tensorflowのバージョンごとに、異なるバージョンのCuDnnが必要です。 www.tensorflow.orgでは、彼らはインストールガイドでそれについて言及していませんでした!
私の場合はcuDNN 6を使用するtensorflowバージョン1.3を使用します。 https://github.com/tensorflow/tensorflow/releases 。
それらが一緒に一致する場合、あなたのtensorfowバージョンとcuDNNバージョンをチェックしてください。
それでもうまくいかない場合は、cuDNNのパス環境を設定してください。@Chris Hanのコメントを確認してください。
私にとっての問題は、グラフィックカードの要件を満たしていないcuDNNライブラリでした。私はGTX980ti用に6.0バージョンをダウンロードしましたが、nvidiaウェブサイト上で推奨される計算能力は5.1( http://developer.nvidia.com/cuda-gpus )でしたので、5.1をダウンロードして6.0バージョンを置き換え私がしたようにすぐにそれが働き始めた。
あなたがWindowsにtensorflow GPUをインストールしようとしているなら、あなたは これ /簡単に面白いチュートリアルを見つけることができます。
注意:たとえばPyCharmを使用している場合は、インタプリタを作成したconda環境に変更する必要があります。
Windowsシステムで この記事 に "DLL load failed"問題をトラブルシューティングするための一般的なアプローチを投稿しました。
DLL依存関係アナライザー 依存関係 を使用して<Your Python Dir>\Lib\site-packages\tensorflow\python\_pywrap_tensorflow_internal.pyd
を分析し、欠けている正確なDLL(DLLの横に?
で示される)を判別します。 .pydファイルのパスは、インストールしたTensorFlow 1.9 GPUのバージョンに基づいています。名前とパスが他のバージョンのTensorFlowで同じであるかどうかわかりません。
不足しているDLLの情報を探し、適切なパッケージをインストールして問題を解決してください。
Windows上でPowershell/cmdを開いたままにしたくなるかもしれません。私は自分がPowershellを閉じて再び開くことを決心するまで妥当な時間を費やしました。
私の答えは、私がwindows 10で以下を試してみたのと同じように、windows 10ユーザー向けです。anacondaを使用している場合は、すべて回避してanaconda-navigatorをインストールするだけです。コマンドを使用する
conda install -c anaconda anaconda-navigator
次に、コマンドプロンプトを使用して、コマンドを使用してナビゲータを起動できます。
anaconda-navigator
このコマンドを実行すると、仮想環境を作成し、python = 3.5.2で環境を作成し、guiを使用して検索ボックス内のモジュールを検索することによってモジュールtensorflow-gpuまたはtensorflowをインストールすることができます。あなたのために正しいcudaファイルをインストールする方法。アナコンダナビゲーターを使用するのが最も簡単な解決策です。
Anacondaを使用していない場合は、以下の点に注意してください。
tensorflow-gpu 1.3には、python 3.5.2、cuda development kit 8.0、およびcudaDNN 6.0が必要です。そのため、インストール時には必ずコマンドを実行してください。
pip install tensorflow-gpu==1.3
tensorflow-gpu 1.2.1以下にはpython 3.5.2、cuda development kit 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
上記の参考文献は非常に便利です。この回答に対する改善点についてコメントしてください。これが役立つことを願っています、ありがとう。
私の2セント:
Windows 7にCUDA 8.0を正しくインストールしようとすると、たくさんの問題が発生しました。以前のバージョンがインストールされていてアップグレードしたいので、アンインストールしてCUDA 8.0(tensorflow 1.3用)をインストールしようとしました。インストールは毎回失敗し、私はCUDA 7.5にダウングレードしようとしました、そしてそれをインストールすることができましたが、テンソルフローに関する多くの問題を抱えていました(ここで説明されたPATH問題と同様)。短い話:私にとってうまくいったのは:
1)すべてのNVIDIAコンポーネントをアンインストールします(ディスプレイグラフィックスドライバを除く)。
2)CUDAツールキット8.0(およびパッチ)をダウンロードしてください。 https://developer.nvidia.com/cuda-downloads
3)CheckSum MD5(私はMS https://www.Microsoft.com/ja-jp/download/confirmation.aspx?id=11533 を使用しましたが、問題ありません)をチェックして、問題がないことを確認します(それは問題ありません)。私のWiFiルーターがどうやら)インストーラが正しくダウンロードされなかったことが数回起こった。
4)rootとしてCUDAツールキットインストーラーを実行します
5)cudnn 8.0 v6をダウンロードし、その場所をPATH変数 https://developer.nvidia.com/rdp/cudnn-download に追加します。
いくつかの頭痛を助け、救うことを願っています...
注:このスクリプトは私が問題をデバッグするのに大いに役立ちました! (ありがとう、mrry) https://Gist.github.com/mrry/ee5dbcfdd045fa48a27d56664411d41c
tensorflow 1.3は cuda 9.0 をまだサポートしていません。私は cuda 8.0 に格下げして、それでうまくいきます。
私は私のために働いた解決策を提供しようとします。さまざまな問題がこの状況につながる可能性があります。
32ビットソフトウェアは64ビットOSで動作します。私は64ビットOSにanaconda-3(32ビット)をインストールしました。それは完全にうまくいっていました。私は自分のマシンにtensorflowをインストールすることにしましたが、最初はインストールされませんでした。私はtensorflowをインストールするためにconda環境を使っていて、このエラーを得ました。
解決策は 64ビットOSを実行している場合は64ビットanacondaをインストールし、32ビットOSの場合は32ビットanacondaをインストールする 。それから、Windows用のtensorflow Webサイト(anacondaインストール)で述べられている標準的な手順に従ってください。これは問題なくtensorflowをインストールすることを可能にしました。
TensorFlowリリース1.3.0では、Cudnn 5.0がこのエラーを出しているので、Cudnn 5.0の代わりにCudnn 6.0を使用する必要があります。パス変数をCudnn 6.0に追加することを忘れないでください。cudnn64_6.dllを使用すると、Tensorflowは正常に動作します。下のリンクを読んでください。 https://github.com/tensorflow/tensorflow/blob/master/RELEASE.md#release-130
問題は私にとってcuDNNライブラリでした。 テストコード WindowsパスにcuDNN DLL(LIBファイルではない)のディレクトリ(おそらくbinフォルダ)を追加した後に実行できました。
参考のために、私はPIPと私のOSを使ってソースからTensorFlowをインストールしました:Windows 7とIDE:ビジュアルスタジオ2015。
見つかりませんでした。修正するために再配布可能なVisual C++ 2015をインストールします。
2019年にこの記事を見つけた人たちにとって、このエラーはPythonバージョン3.7がTensorFlowをサポートしていないためにも起こり得ます( https://www.tensorflow.org/install/pip を参照)。それで、Pythonのバージョンをチェックしてください。
python --version
3.6より大きい場合は、3.6にダウングレードする必要があります。アナコンダの場合:
conda install python=3.6
その後、TensorFlowをインストールしてください。
pip install tensorflow
ところで、私はGPUバージョンを持っていなかったので、私のケースではCUDA関連の問題はありませんでした。