Fail to find the dnn implementation.

I have recently been trying to setup my new gtx 1080 with keras 2.1.4 tensorflow 1.50, cudnn 7.05 and cuda toolkit 9. Everything appears to be working except for when I try to use some of the cudnn optimized operations in keras like cudnngru and cudnnlstm. I have not tried to the other cudnn operations, but I can get the basic starter code setup where they open a session and then just print hello tensorflow.

I am getting this error
UnknownError (see above for traceback): Fail to find the dnn implementation.
[[Node: cu_dnngru_1/CudnnRNN = CudnnRNN[T=DT_FLOAT, direction=“unidirectional”, dropout=0, input_mode=“linear_input”, is_training=true, rnn_mode=“gru”, seed=87654321, seed2=0, _device=“/job:localhost/replica:0/task:0/device:GPU:0”](cu_dnngru_1/transpose, cu_dnngru_1/ExpandDims_1, cu_dnngru_1/Const_1, cu_dnngru_1/concat)]]
[[Node: loss_1/mul/_321 = _Recvclient_terminated=false, recv_device=“/job:localhost/replica:0/task:0/device:CPU:0”, send_device=“/job:localhost/replica:0/task:0/device:GPU:0”, send_device_incarnation=1, tensor_name=“edge_1145_loss_1/mul”, tensor_type=DT_FLOAT, _device=“/job:localhost/replica:0/task:0/device:CPU:0”]]

and I cant seem to find any other information on this error anywhere online. Any troubleshooting steps would be appreciated. I followed along with a bunch of different tensorflow install videos but I cant seem to get it to work.

2018-03-03 16:25:15.383774: E C:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\35\tensorflow\stream_executor\cuda\cuda_dnn.cc:378] Loaded runtime CuDNN library: 7101 (compatibility version 7100) but source was compiled with 7003 (compatibility version 7000). If using a binary install, upgrade your CuDNN library to match. If building from sources, make sure the library loaded at runtime matches a compatible version specified during compile configuration.

Also just found this additional information. Will look into this further but not positive what it means

Downgraded to 7.0.4 and installed tensorflow 1.6 and it is working now.

Thanks for your notes. Worked for me too.

Hi, upgrading my tensorflow to the newest version (1.9) solved my problem :)

pip uninstall tensorflow protobuf --yes
find $CONDA_PREFIX -name “tensorflow” | xargs -Ipkg rm -rfv pkg
pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.9.0-cp36-cp36m-linux_x86_64.whl --no-cache-dir

In my case it was older CuDNN version: 7 when TF requiered >=7.2

I was using pip to install tensorflow and keras
after multiple attempts of failure, I uninstalled these and did a conda install


conda install tensorflow
conda install keras

This worked
:)

For me executing following lines just after tensorflow import worked for me:

physical_devices = tf.config.list_physical_devices(‘GPU’)
tf.config.experimental.set_memory_growth(physical_devices[0], True)

Setup:
Tf = 2.2.0
cuda toolkit = 10.1
cudNN = 7.6

1 Like