LoginSignup
4
6

More than 5 years have passed since last update.

tensorflow-gpuでのエラー

Posted at

久しぶりにtensorflow-gpuを使おうとしたらエラーでできなかった時の対処メモ

参考

tensorflow-gpuとCUDAのバージョン
TensorFlow > cuDNN v4.0のアンインストール / cuDNN v5.1のインストール
cuDNNのバージョン確認
[NV] How to check CUDA and cuDNN version

エラー

↓実行したらこんな感じのエラーが出てきた
tensorflow/stream_executor/cuda/cuda_dnn.cc:222] Check failed: s.ok()

対処

tensorflow-gpu、cuda、cudnnが対応したバージョンではなかったようです
対応させるために対応するバージョンをこちらで確認し, 各バージョンを直します

各バージョンの確認

・tensorflow-gpuのバージョン確認コマンド
pip list

実行結果
Package                Version  
---------------------- ---------
bleach                 1.5.0    
enum34                 1.1.6    
h5py                   2.8.0    
...
tensorflow-gpu         1.0.0

・cudaのバージョン確認コマンド
nvcc -V

実行結果
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2016 NVIDIA Corporation
Built on Tue_Jan_10_13:22:03_CST_2017
Cuda compilation tools, release 8.0, V8.0.61

・cudnnのバージョン確認コマンド
cat /usr/include/cudnn.h | grep CUDNN_MAJOR -A 2

実行結果
#define CUDNN_MAJOR      6
#define CUDNN_MINOR      0
#define CUDNN_PATCHLEVEL 21
--
#define CUDNN_VERSION    (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)

#include "driver_types.h"

以上のコマンドから今

tensorflow-gpu == 1.0.0
cuda == 8.0
cudnn == 6

という状態であることがわかります
今回はtensorflowのバージョンを変えたくない場合だったので
バージョン対応表より
cudnnのバージョンを6から5.1に変えます

cudnnのバージョン変更

まず、欲しいバージョンのcudnnをダウンロードしておく
ダウンロードはこちらから
※ダウンロードにはNVIDIAのアカウントが必要になります

次にすでに入っているcudnnを削除する
sudo rm /usr/local/cuda/include/cudnn.h
ls /usr/local/cuda/lib64/libcudnn*

実行結果
(すでに入っているバージョンのlibとか出てくる)

sudo rm /usr/local/cuda/lib64/libcudnn*

削除完了!

最後に導入したいバージョンのcudnnをインストールする
最初にダウンロードしておいたcudnnがあるディレクトリに移動
cd ~/ダウンロード

インストール!
tar xvzf cudnn-8.0-linux-x64-v5.1.tgz

実行結果
cuda/include/cudnn.h
cuda/lib64/libcudnn.so
cuda/lib64/libcudnn.so.5
cuda/lib64/libcudnn.so.5.1.3
cuda/lib64/libcudnn_static.a

なんかよくわかんないけどやるらしいやつ
sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

確認
ls -l /usr/local/cuda/lib64/libcudnn*

以上!!!

4
6
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
6