머신러닝,딥러닝

Graph Execution Error 해결하기 : cuda에 맞는 tensorflow 버전 재설치하기

mcdn 2023. 6. 18. 11:41
반응형

 

 

문제. 오류 내용 : Graph Execution Error

 

Graph Execution Error

{
"name": "UnknownError",
"message": "Graph execution error:\n\nFail to find the dnn implementation.\n\t [[{{node CudnnRNN}}]]\n\t [[sequential/lstm/PartitionedCall]] [Op:__inference_train_function_3136]",
"stack": "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mUnknownError\u001b[0m                ... n_3136]"
}

{
"name": "UnknownError",
"message": "Graph execution error:\n\nFail to find the dnn implementation.\n\t [[{{node CudnnRNN}}]]\n\t [[sequential/lstm/PartitionedCall]] [Op:__inference_train_function_3136]",
"stack": "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mUnknownError\u001b[0m                ... n_3136]"
}

 

 

 

해결방법 : Cuda에 맞는 tensorflow 설치하기 

 

 

1. nvidia-smi 명령어로 cuda 버전을 찾는다. 

그 결과 CUDA Version : 11.1임을 알았다. 

 

 

 

2. 공식 tensorflow에서 CUDA에 맞는 tensorflow를 설치한다. 

 

https://www.tensorflow.org/install/source?hl=ko#tested_build_configurations 

 

소스에서 빌드  |  TensorFlow

이 페이지는 Cloud Translation API를 통해 번역되었습니다. Switch to English 소스에서 빌드 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 소스에서 TensorFlow pip 패키

www.tensorflow.org

리눅스 - GPU를 찾아 들어가면 텐서플로우 버전마다 쿠다 버전이 대응되는 것을 알 수 있다. 

 

여기서 11.1보다 같거나 크지 않은 버전에 해당하는 버전을 설치하면 된다. 

 

우리의 경우 11.1 CUDA Version이므로 11.2보다 작은, 텐서플로우 2.4.0을 설치하면 된다. 11.0에 해당하지만 11.1도 맞다. 

 

 

3. pip uninstall tensorflow & pip install tensorflow==2.4.0 

pip uninstall tensorflow & pip install tensorflow==2.4.0

pip uninstall tensorflow & pip install tensorflow==2.4.0

을 실행하면 된다. 

 

 

그리고 pip list를 해서 tensorflow 버전을 확인해볼 수 있다. 

 

 

 

 

 

해결방법 이어서 : 텐서플로우 외 라이브러리도 맞추기 

 

텐서플로우만 버전을 바꾸면 numpy, pandas 등과 호환이 안되는 문제가 발생한다. 

따라서 numpy, pandas 등 패키지도 호환이 가능하도록 설치해준다. 

 

 

일단 내가 설치한 패키지를 requirements.txt로 만든 것이다. 

tensorflow==2.4.0
numpy==1.19.5
keras==2.4.3 
pillow==7.0.0 
scipy==1.4.1 
h5py==2.10.0 
matplotlib==3.3.2 
opencv-python 
keras-resnet==0.2.0
pandas==1.1.5

하나씩 pip install numpy==1.19.5 이렇게 해도 좋고 

이걸 requirements.txt로 저장해서 pip install -r requirements.txt로 해도 좋다 

 

 

 

이렇게 해서 돌리면 tensorflow 코드가 잘 돌아가는 것을 알 수 있다. 

반응형