[AI] NNabla Local 연결을 시도하다 생긴 에러들...

김서영·2022년 1월 4일
0

에러일기

목록 보기
4/7

NNabla

기존에 Colab 환경에서 돌렸던 코드는 https://colab.research.google.com/github/sony/nnabla-examples/blob/master/interactive-demos/fan.ipynb
이다.

Colab에서는 잘 돌아가니까 바로 Local에서 돌려보고자 하였다. 그런데 그때부터...문제가...

에러

1. CUDA 환경이 아니라서 에러남.

처음에는 잘 될 것처럼 (Colab에서 돌린 것처럼 첫 시작은 좋았음...) 사실 이것도 여러 모듈들을 깔아서 얻은 결과..

2022-01-04 12:09:37,746 [nnabla][INFO]: Initializing CPU extension...
2022-01-04 12:09:38,901 [nnabla][INFO]: Running in cudnn
2022-01-04 12:09:39,423 [nnabla][ERROR]: Extension `cudnn` does not exist.
<module>
. . .
    from .init import (
ImportError: DLL load failed while importing init: 지정된 모듈을 찾을 수 없습니다.

이런 식으로 나왔고, 멘토님에게 여쭤봤더니 쿠다 환경 세팅이 잘못된 것 같다고
https://webnautes.tistory.com/1454
이 블로그를 추천해주셨다.
내 노트북은 윈도우 기반이었고, NVIDIA 그래픽카드가 있었기 때문에 차근차근 따라했음.

2. CUDA 자체의 문제는 해결되었으나, memory allocation 문제가 일어남..

2022-01-04 22:38:44,284 [nnabla][INFO]: Initializing CPU extension...
2022-01-04 22:38:46,575 [nnabla][INFO]: Running in cudnn
2022-01-04 22:38:47,642 [nnabla][INFO]: Initializing CUDA extension...
2022-01-04 22:38:47,924 [nnabla][INFO]: Initializing cuDNN extension...
Loading FAN weights...
Failed to allocate. Freeing memory cache and retrying.
Failed to allocate again.
Traceback (most recent call last):
  File "model_inference.py", line 123, in <module>
    main()
  . . .
RuntimeError: memory error in nbla::Memory::alloc
C:\ci\builds\YaMi_sSg\5\nnabla\builders\all\nnabla\src\nbla\memory\memory.cpp:39
Failed `this->alloc_impl()`: class nbla::CudaMemory allocation failed.

위와 같은 문제가 일어나서, 결국 여러 가지 방법을 찾아보기 시작함.
https://stackoverflow.com/questions/54374935/how-to-fix-this-strange-error-runtimeerror-cuda-error-out-of-memory
여기에 있는 것들 다 시도해보기 시작함...

그러면서 NVIDIA-SMI 도 한 번 확인해 보게 됨.
CMD 창에서 하면 확인 가능함. https://kyumdoctor.co.kr/10


그래서 확인해봐도 내 GPU는 하나도 돌아가고 있는 게 없었음...

멘토님에게 재질문하니, 아마 역시나 CUDA 세팅이 제대로 안됐거나 하드웨어 문제인 것 같다고 말씀해주심...

내 노트북 gpu가 사용가능한 범위보다 모델이 쓰는 gpu메모리가 더 커서 생기는 문제인데 윈도우 환경에서는 점유율 제한이 있어서 gpu가 실제로 용량이 가능하더라도 제한에 걸려서 안되는 걸 수도 있다고 답이 옴...

그래서 일단 GPU 환경에서 돌리는 건 포기하고 CPU 환경에서 돌리려고 코드를 다시 정리해서 찾아 CPU로 로컬에서 돌리는 건 성공함.

profile
하지만 저는 이겨냅니다. 김서영이죠?

0개의 댓글