본문 바로가기

Data science101

Gradient accumulation (그레디언트 누적) 요약Gradient Accumulation은 GPU 메모리 한계를 극복하면서 더 큰 배치(batch) 크기로 학습한 것과 동일한 효과를 내기 위해 사용하는 기법입니다. 문제: GPU 메모리 한계로 큰 배치를 한번에 학습할 수 없는 경우 발생해결방법작은 배치에서 계산된 loss을 gradient을 누적합니다. (=.backward()만 호출하면 gradient값이 더해집니다.)정해진 횟수(gradient accumulation step)만큼 누적되었다면 optimizer로 가중키를 업데이트 합니다.최종기울기가 큰 배치에서 한번에 처리한 결과와 동일하도록 각 loss을 gradient accumulation step만큼 나눠주어 스케일링합니다. 코드 스니펫아래와 같은 코드스니펫으로 사용될 수 있습니다. 주요.. 2025. 1. 22.
GitHub Actions 의존성 캐싱하기 GitHub Actions에서 Python 의존성 설치 시간을 단축하려면, 캐시(Cache)를 활용해서 이미 설치한 라이브러리를 재사용하도록 구성하는 방법이 가장 간단하고 효과적입니다. 특히 actions/cache를 이용해 pip가 내려받은 패키지를 캐싱해두면, 매번 새로 설치할 필요가 없어져 실행 시간이 크게 단축됩니다. 아래와 같이 케시 작업을 workflow내에 추가합니다. - name: Cache pip dependencies uses: actions/cache@v2 with: path: ~/.cache/pip key: ${{ runner.os }}-pip-${{ hashFiles('requirements-dev.txt') }} restore-keys: |.. 2025. 1. 17.
이미지 흐림 측정 방법 이미지에서 blur(블러, 흐림 현상)을 확인하는 데 사용되는 다양한 알고리즘과 지표들이 있습니다. 주로 이미지의 선명도, 엣지(경계)의 강도를 측정하여 블러를 평가합니다. 이 평가하는 방법은 2가지가 있습니다.원본과 대비가 가능한 경우: With reference image원본과 대비가 필요 없는 경우: without reference image 이 포스팅에서 without reference image(no refereince image)인 대표적인 지표 및 알고리즘들을 크게 분류하면 다음과 같습니다.Spatial domain: 방법은 이미지의 픽셀과 인접 픽셀 간의 관계를 계산하여 흐림과 선명한 이미지를 구분하는 기법입니다.Grayscale Gradient base method: 이미지를 그레이스케일.. 2024. 10. 14.
[pytorch] register_buffer 설명 및 사용 방법 요약register_buffer는 모델의 상태(state)로서 관리하고 싶은 텐서를 등록하는 데 사용됩니다. 즉, 이 메서드는 state_dict에 포함되어서, torch.nn.Module.state_dict()에 함께 저장되어, torch.save을 할 때, 함께 저장됩니다. 또한, register_buffer으로 등록된 텐서는 기본적으로 기울기를 계산하지 않습니다. 기능 1. state_dict을 통해 모델을 저장/로드 할 때, 함께 포함되도록torch.nn.Module로 딥러닝 네트워크를 구성하고, 필요한 텐서(non-trainable)도 함께 저장이 가능합니다.아래의 예시를 살펴보겠습니다.9번줄:  self.register_buffer("running_mean", torch.zeros(10))으로.. 2024. 9. 27.
[MLOps] 디자인 패턴 보호되어 있는 글 입니다. 2024. 8. 26.
극좌표계(Polar coordinates) 및 픽셀유동화 극좌표계(Polar coordinates)는 평면 위의 점을 나타내는 또 다른 방법으로, 직교좌표계(Cartesian coordinates) 대신 사용됩니다. 직교좌표계에서는 xxx와 yyy라는 두 개의 직각 축을 사용해 점의 위치를 나타내지만, 극좌표계에서는 기준점에서의 거리와 기준 방향으로부터의 각도를 사용합니다. 극좌표계 개요기준점 (원점): 극좌표계에서 기준점은 거리를 측정하는 기준이 되는 점입니다. 이 점은 보통 O로 표시되며, 직교좌표계에서의 원점 (0,0)(0, 0)(0,0)에 해당합니다.거리 (r): 극좌표계의 첫 번째 요소인 r은 기준점 O에서 평면상의 점 P(x,y)까지의 거리를 나타냅니다. r은 항상 0 이상의 값을 가지며, 보통 음수는 허용되지 않습니다. 이 때, 점 P의 위치는 직.. 2024. 8. 20.