tensorflow ImportError: libcudnn.so.7 cuDNN 7.3 설치 ubuntu

ImportError: libcudnn.so.7: cannot open shared object file: No such file or directory

tensorflow 최신버전을 설치 후 import 할때 이런 경우가 발생하였는데

cuDNN7.X을 설치 해주면 된다.

How to Install Nvidia cuDNN on Ubuntu 16.04 LTS

NVIDIA cuDNN is a GPU-accelerated library of primitives for deep neural networks.

설치 방법은 

Download cuDNN version (deb-local) using this website:

https://developer.nvidia.com/cudnn

자신에게 맞는 버전을 선택해서 다운로드해야 하는데 NVIDIA  Developer 로 회원 가입을 해야 받을 수 있다. Ubuntu 16.04 를 사용하여 

  1. cuDNN Runtime Library for Ubuntu16.04 (Deb)
  2. cuDNN Developer Library for Ubuntu16.04 (Deb)
  3. cuDNN Code Samples and User Guide for Ubuntu16.04 (Deb).

를 선택하여 받았다.

libcudnn7_7.4.2.24-1+cuda10.0_amd64.deb
libcudnn7-dev_7.4.2.24-1+cuda10.0_amd64.deb
libcudnn7-doc_7.4.2.24-1+cuda10.0_amd64.deb

wget 으로 받을 수 없어 클라이언트 컴퓨터에 받은 뒤 sftp 로 서버에 올렸다....
이렇게 3가지를 받는다.
하지만 필자는 레거시 GPU로 10.0이 아닌 6.5를 써야 하지만 cudnn6.5를 받을수 없어 의미 없는 일이 되어버렸다.

어쨋든 cuda10.0 를 사용 하면서 
sudo dpkg -i libcudnn7_7.4.2.24-1+cuda10.0_amd64.deb
sudo dpkg -i libcudnn7-dev_7.4.2.24-1+cuda10.0_amd64.deb
sudo dpkg -i libcudnn7-doc_7.4.2.24-1+cuda10.0_amd64.deb
이렇게 패키지를 풀어 설치 해준다.


그리고 확인을 해본 결과 위 에러는 해결 된 것 같아 보인다.
nawan@sptechlab:~$ python3.7
Python 3.7.2 (default, Jan 11 2019, 21:31:15)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/dist-packages/tensorflow/python/pywrap_tensorflow.py", line 58, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "/usr/local/lib/python3.7/dist-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 28, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "/usr/local/lib/python3.7/dist-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 24, in swig_import_helper
    _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
  File "/usr/lib/python3.7/imp.py", line 242, in load_module
    return load_dynamic(name, filename, file)
  File "/usr/lib/python3.7/imp.py", line 342, in load_dynamic
    return _load(spec)
ImportError: /usr/local/lib/python3.7/dist-packages/tensorflow/python/../libtensorflow_framework.so: undefined symbol: cuDevicePrimaryCtxGetState


During handling of the above exception, another exception occurred:

그리고 필자는 또 계속 되는 에러로

cuda, gpu 문제점들을 해결 하기 위해 위 패키지들 설치 제거만 30번은 시도 한거 같다. 지원 버전 문제가 계속 발생하게 된다. 결국 tensorflow 파이썬 스크립트에서 문제가 계속 되어 GPU 를 사용 하지 않거나 GPU를 업그레이드 하려 한다

댓글

가장 많이 본 글