본문 바로가기
자연어처리(NLP)/IR(Information Retrieval)

[Faiss][Erorr] name 'GpuResourcesVector' is not defined

by Hyen4110 2022. 12. 12.

name 'GpuResourcesVector' is not defined
특정 서버에서 이전에는 발생하지 않던 에러가 갑자리 발생
사용하는 2개의 가상환경 모두 동시에 발생

 

에러 로그가 찍힌 시점은,
위와 같이 faiss index를 gpu로 올릴 때

faiss_index = faiss.index_cpu_to_all_gpus(faiss_index)

 

그리고 faiss.get_num_gpus() 를 찍어보면 0이 나온다.

서버의 GPU의 문제일것이라 생각하여
상태를 체크했지만, 아무 문제 없음

-   cuda.is\_available() : True
-   self.device : cuda:0

 

이것저것 시도해도 안되서
faiss 라이브러리를 재설치하는데
conda faiss 라이브러리 관련 경로가 오염되었다는 경고 문구 발생하며 설치 불가

CondaVerificationError: The package for faiss located at ~/anaconda3/pkgs/faiss-1.7.2-py38cuda102h4abd241_0_cuda
appears to be corrupted. The path 'lib/python3.8/site-packages/faiss/contrib/__pycache__/vecs_io.cpython-38.pyc'
specified in the package manifest cannot be found.

 

위에서 오염되었다고 하는 경로 자체
(~/anaconda3/pkgs/faiss-1.7.2-py38cuda102h4abd241_0_cuda)
를 삭제한 후 다시 실행하니 정상적으로 실행됨 확인

댓글