문제점
Tensorflow 프레임워크에서 모델을 학습시키려고하는데
학습은 진행되고 있지만, CPU를 사용하여 학습 속도가 매우 느린편이였다. 즉, GPU를 전혀 사용하지 않는것이다.
nvidia-smi
사용가능한 device 목록을 다음코드로 찾아보았다.
from tensorflow.python.client import device_lib
device_lib.list_local_devices()
결과, CPU만 목록에 나타나고 GPU는 잡지 못하고 있었다.
Pytorch 프레임워크에서는 GPU를 사용하여 학습이 잘 되었기 때문에 CUDA 버전 문제는 아니라고 생각했다.
이유를 찾는 도중 에러 로그를 보았는데, Could not load dynamic library 'libcusolver.so.10'; 딱하나만 찾지 못하였다고 알려주었다.
해결 방법
이 오류에 대하여 검색한 결과, 다음 issue의 글을 참고하여 해결하였다.
https://github.com/tensorflow/tensorflow/issues/44777
간단히 정리하자면
- 사용하고 있는 가상환경의 tensorflow의 python 폴더로 이동한다.
- cuda/lib/ 폴더의 libcusolver.so.11 파일을 이동한 폴더에 libcusolver.so.10 파일로 복사 or 링크파일 생성한다.
나는 Ubuntu 환경에서 진행했는데 Window 환경에서도 똑같은 오류가 뜬다면 비슷한 방식으로 진행하면 될 것같다.
'Python > Error' 카테고리의 다른 글
[Pyinstaller] xgboost XGBoostLibraryNotFound error (1) | 2024.11.29 |
---|