tensorflow(gpuバージョン)をインストールします



Install Tensorflow



周囲

システム:Windows 7
グラフィックカード:GeForce 940M
グラフィックドライバー:417.71(25.21.14.1771)
アナコンダ:2018.12
コンダ:4.6.7
python:3.6.2
tensorflow-gpu:1.1.0
CUDA:CUDA Toolkit 8.0 GA1(2016年9月)
cuDNN:cuDNN v5.1(2017年1月20日)、CUDA 8.0用

tensorflow-gpuをインストールします

  1. Anaconda Promptを開くと、Tsinghuaウェアハウスミラーを構成できます。
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --set show_channel_urls yes
  1. ランタイム環境を作成し、環境をアクティブ化します。
conda create -n tf-gpu python=3.6 activate tf-gpu
  1. tensorflow-gpuをインストールします:(pipを使用できません。そうでない場合、インストール後に使用できませんか?)
conda install tensorflow-gpu

CUDAとCUDNNをインストールします

奇跡

奇跡 (Compute Unified Device Architecture、Unified Computing Device Architecture)は、グラフィックカードメーカーのNVIDIAによって導入されたコンピューティングプラットフォームです。 CUDATMは、NVIDIAによって導入された汎用並列コンピューティングアーキテクチャであり、GPUが複雑なコンピューティングの問題を解決できるようにします。これには、CUDA命令セットアーキテクチャ(ISA)とGPU内の並列コンピューティングエンジンが含まれます。
ウェブサイト: https://developer.nvidia.com/cuda-toolkit
資料:
https://docs.nvidia.com/cuda/
https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
インストールチュートリアル:
https://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html
まず、CUDAがグラフィックカードをサポートしているかどうかを確認する必要があります。 CUDAでサポートされているグラフィックカードは次のとおりです。
https://developer.nvidia.com/cuda-gpus
ダウンロード:
すべてのバージョン: https://developer.nvidia.com/cuda-toolkit-archive
最新バージョン: https://developer.nvidia.com/cuda-downloads
ダウンロードバージョンは、CUDA Toolkit 8.0 GA1(2016年9月)を選択します。
https://developer.nvidia.com/cuda-80-download-archive
(注:tensorflowはおそらく最新バージョンのCUDAをサポートしていません。を参照してください。 https://tensorflow.google.cn/install/gpu)
(ダウンロードにも落とし穴があり、nvidiaのダウンロードは非常に遅く、その半分は常に途中で切断され、サーバーに再接続できません。それから、それは重いだけでよく、私にいくつかのGトラフィックを浪費します...推奨 IDMダウンローダー 同時にダウンロードする8つのスレッドをサポートできます。速度はすぐには切断されません。IDMインストールパッケージをアップロードし、Baiduクラウドにクラックしました。 https://pan.baidu.com/s/1qfXUbByuDtTlR9HJLV044A 抽出コード:8j41)
CUDAバージョン8.0のドキュメント:
https://docs.nvidia.com/cuda/archive/8.0/
https://docs.nvidia.com/cuda/archive/8.0/cuda-installation-guide-microsoft-windows/index.html
インストール方法: 次のステップに進みます。デフォルトのインストールで問題ありません。
検証: cmdを開き、実行nvcc -Vバージョンの表示:



C:UsersAdministrator>nvcc -V nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2016 NVIDIA Corporation Built on Sat_Sep__3_19:05:48_CDT_2016 Cuda compilation tools, release 8.0, V8.0.44

グラフィックカード情報を表示するC:Program FilesNVIDIA CorporationNVSMI vidia-smi.exe

C:Program FilesNVIDIA CorporationNVSMI>nvidia-smi.exe Tue Mar 12 16:32:43 2019 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 391.24 Driver Version: 391.24 | |-------------------------------+----------------------+----------------------+ | GPU Name TCC/WDDM | Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 GeForce 940M WDDM | 00000000:01:00.0 Off | N/A | | N/A 35C P0 N/A / N/A | 61MiB / 2048MiB | 0% Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| | No running processes found | +-----------------------------------------------------------------------------+

利用可能なデバイスを表示するC:Program FilesNVIDIA GPU Computing ToolkitCUDAv8.0extrasdemo_suitedeviceQuery.exe



C:Program FilesNVIDIA GPU Computing ToolkitCUDAv8.0extrasdemo_suite>deviceQuery.exe deviceQuery.exe Starting... CUDA Device Query (Runtime API) version (CUDART static linking) Detected 1 CUDA Capable device(s) Device 0: 'GeForce 940M' CUDA Driver Version / Runtime Version 9.1 / 8.0 CUDA Capability Major/Minor version number: 5.0 Total amount of global memory: 2048 MBytes (2147483648 bytes) ( 3) Multiprocessors, (128) CUDA Cores/MP: 384 CUDA Cores GPU Max Clock rate: 1176 MHz (1.18 GHz) Memory Clock rate: 1001 Mhz Memory Bus Width: 64-bit L2 Cache Size: 1048576 bytes Maximum Texture Dimension Size (x,y,z) 1D=(65536), 2D=(65536, 65536), 3D=(4096, 4096, 4096 ) Maximum Layered 1D Texture Size, (num) layers 1D=(16384), 2048 layers Maximum Layered 2D Texture Size, (num) layers 2D=(16384, 16384), 2048 layers Total amount of constant memory: 65536 bytes Total amount of shared memory per block: 49152 bytes Total number of registers available per block: 65536 Warp size: 32 Maximum number of threads per multiprocessor: 2048 Maximum number of threads per block: 1024 Max dimension size of a thread block (x,y,z): (1024, 1024, 64) Max dimension size of a grid size (x,y,z): (2147483647, 65535, 65535) Maximum memory pitch: 2147483647 bytes Texture alignment: 512 bytes Concurrent copy and kernel execution: Yes with 1 copy engine(s) Run time limit on kernels: Yes Integrated GPU sharing Host Memory: No Support host page-locked memory mapping: Yes Alignment requirement for Surfaces: Yes Device has ECC support: Disabled CUDA Device Driver Mode (TCC or WDDM): WDDM (Windows Display Driver Model) Device supports Unified Addressing (UVA): Yes Device PCI Domain ID / Bus ID / location ID: 0 / 1 / 0 Compute Mode: deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 9.1, CUDA Runtime Version = 8.0, NumDevs = 1, Device0 = GeForce 940M Result = PASS

gpuが表示されない場合、表示される情報はcudaGetDeviceCount returned 38 -> no CUDA-capable device is detected Resultグラフィックカードドライバーの問題であるはずです。グラフィックカードドライバーを最新バージョンに更新してください。
CUDA-Zソフトウェアでも検出できます。グラフィックカードが検出されない場合は、グラフィックカードドライバを更新する必要があります。 http://cuda-z.sourceforge.net/

CUDNN

NVIDIACUDA®ディープニューラルネットワークライブラリ(cuDNN)は、ディープニューラルネットワーク用のプリミティブのGPUアクセラレーションライブラリです。 cuDNNは、フォワードおよびバックワードコンボリューション、プーリング、正規化、アクティベーションレイヤーなどの標準ルーチン用に高度に調整された実装を提供します。
ウェブサイト: https://developer.nvidia.com/cudnn
インストールチュートリアル:
https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html
ダウンロード:
すべてのバージョン: https://developer.nvidia.com/rdp/cudnn-archive
最新バージョン: https://developer.nvidia.com/rdp/cudnn-download
** CUDA Toolkit 8.0 GA1(2016年9月)の場合は、バージョンcuDNN v5.1(2017年1月20日)をダウンロードします。CUDA8.0の場合は、次のリンクをダウンロードします。 https://developer.nvidia.com/compute/machine-learning/cudnn/secure/v5.1/prod_20161129/8.0/cudnn-8.0-windows7-x64-v5.1-zip
インストール方法:

  1. 解凍された3つのフォルダーbin、include、およびlibをCUDAインストールルートディレクトリにコピーします(デフォルトのインストールパスはC: Program Files NVIDIA GPU Computing Toolkit CUDA v8.0です)
  2. 環境変数PATHを追加します。
    C: Program Files NVIDIA GPU Computing Toolkit CUDA v8.0 bin
    C: Program Files NVIDIA GPU Computing Toolkit CUDA v8.0 lib x64

コンピューターのGPUとCPUを表示する:



import os from tensorflow.python.client import device_lib os.environ['TF_CPP_MIN_LOG_LEVEL'] = '99' if __name__ == '__main__': print(device_lib.list_local_devices())

結果:

(tf-gpu) C:UsersAdministrator>python Python 3.6.2 |Continuum Analytics, Inc.| (default, Jul 20 2017, 12:30:02) [MSC v .1900 64 bit (AMD64)] on win32 Type 'help', 'copyright', 'credits' or 'license' for more information. >>> import os >>> from tensorflow.python.client import device_lib >>> os.environ['TF_CPP_MIN_LOG_LEVEL'] = '99' >>> ... if __name__ == '__main__': ... print(device_lib.list_local_devices()) ... [name: '/cpu:0' device_type: 'CPU' memory_limit: 268435456 locality { } incarnation: 16604710572955220293 , name: '/gpu:0' device_type: 'GPU' memory_limit: 1801740288 locality { bus_id: 1 } incarnation: 7449078333642404109 physical_device_desc: 'device: 0, name: GeForce 940M, pci bus id: 0000:01:00.0' ]

グラフィックカード駆動のピットを更新する

ステージ1

deviceQuery.exeが情報をcudaGetDeviceCount returned 38 -> no CUDA-capable device is detected Resultグラフィックカードドライバーの問題であると表示する場合は、グラフィックカードドライバーを最新バージョンに更新してください。
私のグラフィックカードモデルはNVIDIAGeForce 940Mで、元のドライバーのバージョン番号は21.21.13.6930です。更新されたグラフィックカードドライバは大きな落とし穴に遭遇しました。元々、コンピューターのデバイスマネージャーを右クリックしてビデオカードを見つけ、プロパティを右クリックしてドライバーを更新します。予期せぬことに、黒い画面が直接更新プロセスにあり、コンピューターがスタックし、を押しても応答がありません。数分待っても結果が出ないので、電源ボタンを強制的にシャットダウンします。 。再度起動した後...終了し、システムに入ることができません。起動コンピュータの黒い画面に次のように表示されます。

Windows failed to start due to a recent change in hardware or software. Steps to resolve this issue: 1. Insert the windows installation CD and restart your computer. 2. Select the language setting and click Next. 3. Click Repair Computer. If you do not have this disc, please contact your system administrator or computer manufacturer for assistance. File:WindowsSystem32drivers vpciflt.sys Status: 0x0000098 Information: Windows cannot be loaded due to missing or corrupted critical system drivers.

システムが崩壊した後、他の誰かのコンピュータから借ります。 ユニバーサルpeUディスク作成ツール UディスクをUディスクブートディスクにしてから、BIOS設定のUディスク優先ブートで起動し、Uディスク内のシステム(C: Windows System32 drivers nvpciflt.sys)から上記の問題ファイルを見つけて削除します。それ。 BIOSを元に戻して再起動すると、システムが起動します。ただし、削除したファイルがグラフィックカードのドライバファイルの1つであり、グラフィックカードエラーシステムが原因で、デバイスマネージャでグラフィックカードが検出されません。スタートメニューのシャットダウンでも応答せず、ソフトウェアを開くことができません。電源ボタンを強制的にシャットダウンして再起動する必要がありました。数分の起動後にビデオカードが検出されることを確認しようとしました。したがって、しばらくの間、デバイスマネージャを開きます-グラフィックカード-右クリックプロパティ-戻るドライバのロールが成功し、ドライバが元のバージョンにロールバックされ、コンピュータが通常の状態に復元されます。
ただし、ロールバック後、グラフィックスドライバーは更新されていません。今回は、ドライバーが360ドライバーによって更新され、ドライバーのインストール安定モードが選択されました。更新されたドライバーのバージョン番号は21.21.13.7585です。この更新は成功しましたが(更新プロセス中のスプラッシュ画面は正常です)、更新後も... deviceQuery.exeによって表示される情報はまだcudaGetDeviceCount returned 38 -> no CUDA-capable device is detected Resultです。やけくその。
360ドライバーマスターにもドライバーがインストールされていることを確認してください-最新モードなので、最新モードのバージョン番号21.21.13.9124を選択し、ドライバーを更新します。結果...再び、黒い画面とそれを押す方法は反応しませんでした...人生を疑うようになりました。今回は、再起動するための直接の強制シャットダウンはありませんでしたが、2〜3時間就寝しました。起き上がった後、それはまだ黒く、それからシャットダウンして再起動することを余儀なくされました。この再起動はシステムをクラッシュさせる必要があると思いますが!どういたしまして! 、魔法のようにシステムに入り、ドライバーのバージョン番号を見て、更新は成功しました! ! ! deviceQuery.exeを実行すると、ついに前述のようになりましたDetected 1 CUDA Capable device(s) Device 0: 'GeForce 940M'ついにそれを手に入れ、キスの母親をなめました。 (ドライバを初めて更新する時間が比較的短い可能性があります。黒い画面はまだ更新されていますが、更新がまだ進行中である可能性があるため、最初の強制シャットダウンと再起動によってシステムがクラッシュします。黒い画面おそらくバージョンが悪いため、これは間違いなく正常ではありません。互換性の問題が多すぎるか、互換性の問題がありますが、グラフィックカードドライバのスプラッシュ画面の更新は正常です。)

ステージ2

完了したと思いましたが、約1週間後、不可解な問題が発生しました...プログラムを実行するたびに必ず表示されました。GPU is lostそしてpython.exeが機能しなくなり、python.exeプロセスが実行できます。シャットダウンしないと、コンピュータがクラッシュするか、ブルースクリーンが表示されます。以前は問題なくトレーニングをしていたドライバーは、今では悪化し、吐血しています。
多くの方法を試し、最終的にドライバーを変更し続けました。360ドライバーを使用してドライバーを変更し、黒い画面、システムが崩壊し、マシンを開くことができず、修理しました。 nvpciflt.sys(実際には他の場所に転送されます)を削除し続けます。今回はブートカードが検出されず、ドライバーが完全に折りたたまれ、少しパニックになります。それを試した後、nvpciflt.sysを元の位置に戻すことができ、ドライバーも通常どおり形而上学で表示されることがわかりました。
360ドライバーマスターを3回使用して、グラフィックカードドライバーを更新しました。画面が直接黒くなり、信頼が失われました。だから私はNVIDIAを見つけるつもりです。 オフィシャルドライバー
ただし、検出されたドライバーのバージョン番号は419.67、419.35、419.17、398.11などであり、デバイス管理によって表示されるドライバーのバージョン番号は大きく異なります。しかし、NVIDIAドライバーの命名規則をゆっくりと見つけました。公式ウェブサイトにある5桁のドライバー番号は、実際にはデバイスマネージャーのドライバー番号の下5桁に対応しています。たとえば、デバイスマネージャに21.21.13.9124と表示された後、公式Webサイトで検索します。バージョン番号は391.24です。深く理解した後、391.24はドライバーのバージョン番号(上記のnvidia-smiに示されているバージョン番号でもあります)であり、21.21.13.9124はドライバーDLLのバージョン番号です。
公式ウェブサイトドライバー(* .exe)のインストールは非常に安定しており、画面が真っ暗になることはありません。ドライバーの更新はスムーズに完了できます(公式ドライバーのダウンロードは上記のIDMダウンローダーをお勧めします。そうしないと、途中で失敗する可能性があります)。私のコンピューターはShenzhouAres K640e-i5 D1、グラフィックカードはGeForce 940M、以前に試したドライバーのバージョンは369.30、375.85、391.24、すべてGGです。公式ウェブサイトドライバーで試したバージョンは398.82、411.​​71、419.35です。 398.82の実行後、プログラムがブルースクリーンエラーIRQL_NOT_LESS_OR_EQUALを報告することがよくあります。 419.35は理由もなくプログラムを実行せず、あらゆる種類のブルースクリーンがあり、非常に不安定です。最後に、このドライバーは安定して動作します:417.71 !!!(ドライバーDLLバージョン:25.21.14.1771)ついにあなたを見つけました、私の心はとても疲れましたが、まだ問題はありません。
これらは、私が踏むためにグラフィックカードドライバを更新したピットです。私は苦い涙を流していて、同じ問題を参照することができます。

NVIDIAのいくつかの便利なリンク:
(cn-国内ドメイン名、com-国際ドメイン名)
公式サイト:
https://www.nvidia.cn/
https://www.nvidia.com/en-us/
開発者センター:
https://developer.nvidia.com/
すべてのグラフィックスドライバー:
https://www.nvidia.cn/Download/index.aspx?lang=cn
https://www.nvidia.com/Download/index.aspx
すべてのグラフィックスドライバー履歴バージョン:
https://www.nvidia.cn/Download/Find.aspx?lang=cn
https://www.nvidia.com/Download/Find.aspx?lang=en-us
GeForceグラフィックスドライバー:
https://www.geforce.cn/drivers
https://www.geforce.com/drivers
ドライブのバックアップと復元:
https://www.nvidia.com/object/notebook_driver_instructions.html

参照:
TensorFlow-GPUサポート
TensorFlow-GPUを使用
CSDN-Win10 Tensorflow(GPUバージョン)のインストール
CSDN-'CUDA対応デバイスが検出されない 'エラー解決
CSDN-コンピューターのCPUとGPUを表示するためのテンソルフロー
stackoverflow-Windowsで、「import tensorflow」を実行すると、「_ pywrap_tensorflow」という名前のモジュールが生成されないというエラーが発生します
stackoverflow-CUDA対応のGPUがインストールされたWin7で「CUDA対応のデバイスが検出されない」

便利なリンク:
stackoverflow-win10 tensorflow gpuは機能しません:デバイスマッピング:既知のデバイスはありません
stackoverflow-GPUでのテンソルフロー:cudaのdeviceQueryが「PASS」の結果を返しているにもかかわらず、既知のデバイスはありません
github-mrry / tensorflow_self_check.py:Windows上のTensorFlowのセルフチェック
CSDN- [TensorFlow] Windows 1064ビットインストールTensorFlow-公式ネイティブサポート