목록분류 전체보기 (75)
잡동사니 블로그

최근 딥러닝 모델들이 더욱 커지고 복잡해지면서 단일 GPU로는 학습이 어렵거나 시간이 오래 걸리게 되었기 때문에, 이를 해결하기 위한 효과적인 방법 중 하나가 PyTorch의 DistributedDataParallel(DDP) DDP(DistributedDataParallel)란?PyTorch의 DistributedDataParallel은 여러 GPU나 여러 컴퓨터(노드)에 학습을 분산시켜 병렬로 학습 속도를 높이는 방법이며, 모델의 파라미터를 동기화하면서 데이터 배치를 분산 처리하여 효율적으로 학습할 수 있게 도와줌. (1) 초기 설정import osimport torchimport torch.distributed as distimport torch.nn as nnimport torch.optim as..

OpenCV에서 erode(침식)와 dilate(팽창)는 모폴로지 연산(morphological operations) 중 하나로, 주로 노이즈 제거, 객체 크기 조정 등에 사용됨.1️⃣ Erode (침식, Erosion)어두운(검은색) 영역을 확장하고, 밝은(흰색) 영역을 줄이는 연산작은 노이즈 제거 및 개체 크기 축소2️⃣ Dilate (팽창, Dilation) 밝은(흰색) 영역을 확장하고, 어두운(검은색) 영역을 줄이는 연산작은 구멍(검은색) 채우기 가능 및 객체 크기 증가 import cv2import numpy as npimport matplotlib.pyplot as pltimg = np.zeros((200, 400), dtype=np.uint8)cv2.putText(img, 'Hello wor..
보통 git으로 버전 관리 하기 때문에 gitignore만 편집하면 되는편이지만 폴더 공유할 때 남아있는거 지우기 위한 용도 #현재 디렉토리에서 하위 디렉토리 까지의 .ipynb_checkpoints 지울 파일들 학인!find . -type d -name ".ipynb_checkpoints" -exec echo {} \;#현재 디렉토리에서 하위 디렉토리 까지의 .ipynb_checkpoints 삭제!find . -type d -name ".ipynb_checkpoints" -exec rm -rf {} + 맨날 치기 귀찮아서 그런거 맞음.

Gradient Accumulation은 메모리 제약이 있는 환경에서 큰 batch를 가진 것과 같은 효과를 구현하기 위한 학습 기법으로 작은 크기의 mini-batch를 여러 번 처리하며 Gradient를 누적(accumulate)하고, 누적이 끝난 뒤에 Optimizer를 업데이트하는 방식으로 작동함. Gradient Accumulation가 필요한 이유?1.1. GPU 메모리 한계배치 크기를 늘리면 더 많은 데이터와 모델 파라미터를 메모리에 로드해야 하며, 이는 종종 GPU 메모리 부족 문제를 일으킴.1.2. 큰 배치 크기의 이점Gradient 안정성: Gradient의 분산을 줄여 학습이 더 안정적임.일반화 성능: 큰 배치 크기는 모델이 더 일반화된 패턴을 학습하도록 함.model.train() ..