티스토리 뷰
Computer/코딩 개꿀팁
[꿀팁] 윈도우에서 전용 GPU 메모리 초기화 하기 : torch.cuda.empty_cache() 아님!
벼랑끝과학자 2023. 6. 30. 13:36모델 학습을 하다가 중간에 멈추는 경우 모델은 중단되었는데 전용 GPU 메모리는 할당된 채로 남아있는 경우가 있다.
자연스레 out of memory error가 발생하고 모델을 돌릴 수 없는데 torch.cuda.empty_cache() 함수를 사용해도 GPU 메모리가 지워지지 않는 경우가 종종 발생하더라.
- pip install numba를 입력해서 필요한 패키지를 설치해주고
- 다시 작성하던 노트북 파일이나 VS Code등으로 돌아와서 다음 코드를 입력하고 실행하자.
!pip install numba
from numba import cuda
device = cuda.get_current_device(); device.reset()
아래와 같이 GPU 할당 메모리가 초기화 되는 것을 볼 수 있을 것이다.
이제 실행중이던 VS나 편집툴을 한번 껐다 켜준 뒤, 처음 코드부터 다시 모델을 돌려보자. 자세히는 모르겠지만 GPU내부 무언가를 완전히 리셋하는 방법이라 편집툴을 한번 다시 켜주지 않으면 OOM에러는 아니지만 다른 유형의 GPU 메모리 에러가 난다.
만약 이 방법으로도 메모리 초기화가 완전히 되지 않는다면 경험상
- 여러가지 파일로부터 GPU 메모리를 나눠서 할당/사용하였거나 (주피터 노트북을 여러개 사용해서 실행했거나)
- 할당된 GPU 메모리 location이 복잡하게 꼬여있는 경우 (하나의 파일을 실행, 중지를 반복한 경우)
이므로, 그냥 실행하던 모든 것들을 저장하고, 한번 컴퓨터를 재부팅해 주는 것이 정신 건강에 이롭다.
해당 내용은 다음 블로그 포스팅으로부터 거의 복사 붙여넣기 하다시피 한 글입니다. 큰 도움이 되어 출처 남깁니다. https://gilforce.com/gpu-%EB%A9%94%EB%AA%A8%EB%A6%AC-%EC%82%AC%EC%9A%A9%EB%9F%89-%EC%B4%88%EA%B8%B0%ED%99%94-%EB%B0%A9%EB%B2%95/
↓ 내용이 혹시나 도움되셨다면 눌러주세요 꾸준한 포스팅에 큰 원동력이 됩니다 🥰
'Computer > 코딩 개꿀팁' 카테고리의 다른 글
[꿀팁] VS code에서 terminal PowerShell에서 CMD로 변경하기 (0) | 2023.07.19 |
---|---|
어어 점마 와이라노? VS code에서 Tab키가 안먹을 때 (0) | 2023.07.06 |
[꿀팁] 리눅스에서 백그라운드로 명령 작업하기 (0) | 2023.04.25 |
[꿀팁] 파이썬 코드를 실행할 때 사용할 GPU를 설정하는 방법(리눅스) (0) | 2023.04.15 |
딥러닝 모델을 돌리는데 램 누수 현상이 발생한다? (0) | 2023.04.12 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 3B1B따라잡기
- MatrixAlgebra
- ai신약개발
- kld
- variational autoencoder
- Matrix algebra
- 최대우도추정
- 3b1b
- 인공지능
- 기계학습
- 선형대수
- 이왜안
- elementry matrix
- 베이즈정리
- eigenvector
- marginal likelihood
- 파이썬
- ai인공지능
- vae
- kl divergence
- eigenvalue
- 백준
- MorganCircularfingerprint
- manim library
- MLE
- 제한볼츠만머신
- manimtutorial
- manim
- Manimlibrary
- 오일석기계학습
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함