Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 덤벨운동
- 개인 PT
- 바디프로필
- pytorch
- 오블완
- 체스트프레스
- 코드
- 데드리프트
- 개인 운동
- 다이어트
- 프로그래머스
- 건강
- 연구 시작
- 라섹 수술 후기
- 운동
- 영화 비평
- 개발자
- 디버깅
- 바프준비
- 코테준비
- 논문 리뷰
- 개인 피티
- 암풀다운
- PT 운동
- 코딩테스트
- 하체운동
- 티스토리챌린지
- Knowledge Tracing
- 코테 공부
- github
Archives
- Today
- Total
치즈의 AI 녹이기
nn.DataParallel 사용하기 본문
오늘은 nn.DataParallel를 사용하여 데이터 병렬처리하는 코드를 가져왔습니다.
데이터 병렬처리란, 다수의 GPU에서 모델을 병렬로 실행하여 작업할 수 있도록 처리하는 것입니다.
먼저 torch.cuda.device_count()를 이용하여 갖고 있는 GPU 개수를 num_gpus에 저장합니다.
그 다음 원하는 모델을 불러 온 후, 갖고 있는 GPU 개수가 2개 이상이면 nn.DataParallel을 사용하여 모델을 wrapping할 수 있습니다. 이렇게만 해주면 알아서 모델 내에 들어오는 데이터를 각 GPU에 할당하여 처리하도록 해줍니다.
특정 모델의 학습 매개변수를 불러와 inference를 하고 싶은 경우,
다음과 같이 isinstance(model, nn.DataParallel)을 활용하여 불러올 수 있습니다.
참고 링크 : https://tutorials.pytorch.kr/beginner/blitz/data_parallel_tutorial.html
코드 출처는 앞선 글에서 언급하였습니다.
'인공지능 대학원생의 생활 > 동료 코드 따라잡기' 카테고리의 다른 글
kwargs 이용해서 효율적으로 인자 관리하기 (0) | 2022.09.19 |
---|---|
state_dict()로 best 모델 저장 및 불러오기 (0) | 2021.07.19 |
Huggingface Bert 모델 커스터마이징 하기 (0) | 2021.07.16 |
nn.Embedding sparse 파라미터 (0) | 2021.06.25 |
동료 코드 따라잡기_시작하며 (0) | 2021.06.25 |