관리 메뉴

솜씨좋은장씨

[TensorFlow] ImportError: libcusolver.so.8.0: cannot open shared object file: No such file or directory 해결 방법 본문

머신러닝 | 딥러닝/TensorFlow | Keras

[TensorFlow] ImportError: libcusolver.so.8.0: cannot open shared object file: No such file or directory 해결 방법

솜씨좋은장씨 2020. 7. 20. 01:31
728x90
반응형

Ai Hub에서 GPU 서버를 지원받아 이전에 멀티캠퍼스에서 Tacotron을 활용한 음성합성을 다시 도전해보기위해서

 

데이터를 생성하고 학습을 시작하려고하니

ImportError: libcusolver.so.8.0: cannot open shared object file: No such file or directory

위와 같은 오류가 발생하면서 제대로 실행이 되지 않는 문제가 있었습니다.

 

원인

Tacotron에서 사용하는 TensorFlow의 버전이 1.3이고

이 TensorFlow 1.3에서 필요로하는 CUDA 버전이 8.0인데 현재 환경은 10.0을 사용하여

요구하는 CUDA 버전과 현재 사용중인 CUDA 버전이 맞지 않기 때문입니다.

 

해결방법

Ai Hub에서 제공해주는 서버에는 CUDA가 8.0 ~11.0 버전까지 사전에 다양하게 설치가 되어있습니다.

따라서 설치버전을 8.0으로 바꿔주면됩니다.

 

어떻게 바꾸는지 검색하던 도중 명령어 한줄로 쉽게 CUDA 버전을 바꿀수 있는 쉘 스크립트를 발견하였습니다.

 

phohenecker/switch-cuda

A simple bash script for switching between installed versions of CUDA. - phohenecker/switch-cuda

github.com

사용방법은 먼저 git 명령어를 통해 해당 repo의 내용을 다운로드 받습니다.

$ git clone https://github.com/phohenecker/switch-cuda.git

다운로드 받았다면 다운받은 디렉토리로 이동합니다.

$ cd switch-cuda

그 다음 그 디렉토리에 있는 쉘 스크립트를 실행합니다.

이때 변경하고자 하는 버전을 같이 입력합니다.

예를 들어 8.0 버전으로 변경하겠다고 한다면 

$ source switch-cuda.sh 8.0

위와 같이 입력하면 됩니다.

$ source switch-cuda.sh [VERSION]

 

읽어주셔서 감사합니다!

Comments