데이터분석/Deep Learning

rtx 2060 - tensorflow 1.14.0 - cuda 10.0 ubuntu 설치기

늘근이 2019. 9. 23. 23:50

약 주말포함 20시간 3일동안 계속 팠는데 설치에 실패했다.

cuda_dnn.cc:329 Could not create cudnn handle : CUDNN_STATUS_INTERNAL_ERROR

rtx 2060 - tensorflow 1.14.0 - cuda 10.0 ubuntu 18.04

아주 평범한 형태의 돈없지만 아주 없지는 않은 회사원의 rtx 구성이다. 

일단 tensorflow가 cuda 10.1과 안맞는다는 제보를 듣고 버전을 맞추려고 별짓을 다했다. 

드라이버 문제인것같아 410 415 418 430 435 안깔아본 드라이버가 없으며, 

cuda 10.1, cuda 10

그리고 tensorflow 1.14, 1.13 모두 시도 해봤지만 항상 같은 문제가 생길 뿐이다. 

cudnn에서 Conv2D 레이어가 있기만 해도 (다른 레이어는 됨) 무조건 뻑이 났다. 

이 구성으로 windows에서는 conda설치로 바로 돌아가는데, 아주 화가 났다. (윈도우에서도 일반적인 설치는 한번도 성공한적이 없었던것같다.)

그동안 지운 리눅스만 20번, clean slate 로 설치해도 안된다. 

보면 많은 사례가 찾아지지는 않아 대부분이 1080ti등을 사용하고 있는 환경이 아닌, 최신의 rtx2060~이상의 그래픽카드에서 문제가 있는것같다. 2.0alpha에는 그렇게 큰 문제가 없는것으로 보인다.

 

그래서 질수가 없어서 docker 로 구성된 image로 한번 설치를 해봤다. docker image 로 현재 올라와있는 latest-gpu-py3버전이다. 같은 에러로 cudnn에러가 떨어진다. 아무리 리서치를 해봐도 성공하지 못했다. RTX와 관련이 있지 않을까 싶다. 

CuDNN error: CUDNN_STATUS_INTERNAL_ERROR

 

방법은 몇개 남지는 않았는데, 윈도우로 돌아가는것과 엔비디아에서 제공한 https://docs.nvidia.com/deeplearning/frameworks/tensorflow-release-notes/running.html#running

 

TensorFlow Release Notes :: Deep Learning Frameworks Documentation

Before running the container, use the docker pull command to ensure an up-to-date image is installed. Once the pull is complete, you can run the container image. This is because nvidia-docker ensures that drivers that match the host are used and configured

docs.nvidia.com

을 사용하는 것이다. 되면 나중에 올리겠다. 

 

모든걸 실패했는데, 세상에나 

from tensorflow.compat.v1 import ConfigProto
from tensorflow.compat.v1 import InteractiveSession

config = ConfigProto()
config.gpu_options.allow_growth = True
session = InteractiveSession(config=config)

바로 아래의 코드를 넣어주니 동작이 시작되었다..