• Tistory
    • 태그
    • 위치로그
    • 방명록
    • 관리자
    • 글쓰기
Carousel 01
Carousel 02
Previous Next

[Pytorch] DDP 환경에서 load_state_dict 사용시 OOM 발생 상황을 해결하자

전공관련/Deep Learning 2023. 6. 8. 13:41




DDP 환경을 구성하고 scratch 부터 학습할때는 잘 동작하던 코드에서 

backbone에 pretrained weight를 load 하니 바로 OOM이 발생하는 상황을 만나버렸다.

초기 상황 구성은 아래와 같았다.

# OOM이 발생한 코드
model = get_model()

checkpoint_path = r"~~~"
checkpoint = torch.load(checkpoint_path)
model.load_state_dict(checkpoint)

model = torch.nn.parallel.DistributedDataParallel(~~~)

 

단순히 초기 weight 만 읽어왔을 뿐인데 OOM이 터져버리니 당황스럽긴 한데 

메모리 동작하는 꼴을 보니 0번 GPU 가 메모리 터져서 발생한 상황인 듯 했다. 

 

추정키로는 각 GPU에 복사되어야 할 정보들이 0번 GPU로 먼저 다 올라오면서 

감당이 안되고 OOM 이 발생한 것 같다. 

이런 상황을 해결하기 위해서는 각 GPU로 map_location을 지정하여 직접 load 해 주면 문제가 해결된다.

 

# 수정된 코드
model = get_model()

checkpoint_path = r"~~~"
checkpoint = torch.load(checkpoint_path, map_location='cuda:{}'.format(args.local_ranl))
model.load_state_dict(checkpoint)

model = torch.nn.parallel.DistributedDataParallel(~~~)
저작자표시 (새창열림)

'전공관련 > Deep Learning' 카테고리의 다른 글

[Pytorch] Sequential 모듈 내 레이어에 접근하자  (0) 2023.09.06
[Pytorch] No audio I/O backend is available. 에러를 해결하자.  (0) 2023.08.02
[Pytorch] Boolean value of Tensor with more than one value is ambiguous 에러를 해결하자.  (0) 2023.06.07
[MXNet] 데이터 리스트를 만들고 rec 파일로 만들어 보자  (0) 2022.04.01
[Pytorch] pycharm 환경에서 torch.distributed.launch를 실행하자  (1) 2021.07.13
블로그 이미지

매직블럭

작은 지식들 그리고 기억 한조각

,

카테고리

  • 살다보니.. (448)
    • 주절거림 (3)
    • 취미생활 (36)
      • 지식과 지혜 (3)
      • 풍경이 되어 (4)
      • Memories (17)
      • 엥겔지수를 높여라 (2)
    • mathematics (6)
      • Matrix Computation (2)
      • RandomProcesses (3)
    • English.. (8)
    • Programming (147)
      • C, C++, MFC (51)
      • C# (1)
      • OpenCV (17)
      • Python (58)
      • Git, Docker (3)
      • Matlab (4)
      • Windows (3)
      • Kinect V2 (2)
      • 기타 etc. (8)
    • 전공관련 (80)
      • Algorithm (6)
      • Deep Learning (54)
      • 실습 프로그램 (4)
      • 주워들은 용어정리 (8)
      • 기타 etc. (8)
    • Computer (118)
      • Utility (21)
      • Windows (31)
      • Mac (4)
      • Ubuntu, Linux (58)
      • NAS (2)
      • Embedded, Mobile (2)
    • IT, Device (41)
      • 제품 사용기, 개봉기 (14)
      • 스마트 체험단 신청 (27)
    • Wish List (3)
    • TISTORY TIP (5)
    • 미분류. 수정중 (1)

태그목록

  • Convolutional Neural Networks
  • utility
  • DSLR
  • ReadString
  • random variable
  • 오봉자싸롱
  • 딥러닝
  • DeepLearning
  • 갤럭시노트3
  • matlab
  • 에누리닷컴
  • matlab function
  • 스마트체험단
  • 칼로리 대폭발
  • review
  • 큐슈
  • function
  • 매트랩 함수
  • CStdioFile
  • 크롬
  • SVM
  • ColorMeRad
  • 일본
  • Computer Tip
  • portugal
  • LIBSVM
  • 포르투갈
  • 후쿠오카
  • 매트랩
  • Deep Learning

달력

«   2025/05   »
일 월 화 수 목 금 토
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 31
05-25 00:47

LATEST FROM OUR BLOG

RSS 구독하기

BLOG VISITORS

  • Total :
  • Today :
  • Yesterday :

Copyright © 2015 Socialdev. All Rights Reserved.

티스토리툴바