Data science103 DCL-GAN (Dual Contrastive Loss and Attention for GANs) MotivationGAN을 이용한 경우, 여전히 분산이 큰 이미지는 진짜/가짜 이미지의 구분이 쉬운 편 (분산이 크다?= 이미지가 매우 heterogenous한 특성이 있다=다양한 요소의 이미지. 예, 교회(스테인드글라스,문,건축양식)Discriminator의 문제: 실제 데이터에 대한 학습을 간접적으로 하다보니 특징이 일반화가 안됨 (Discrimiator 입장에서는 실제 데이터 $P_{data}$을 진짜 학습하기보다는, 실제데이터 분포 $P_{data}$ 와 가짜데이터 $P_{fake}$ 사이의 차이를 구분하는데 집중하기 때문)Generator 이용시 Attention의 효과에 대한 의문: CNN기반으로 이미지를 학습할 때, 먼거리의 이미지끼리 중요도를 고려하는 Long-range depdency을.. 2025. 4. 7. Airflow 사용법 및 기본 예제 Airflow을 사용하기 앞서 꼭 알아야하는 주요 개념Apache Airflow는 워크플로우(Workflow) 자동화 및 스케줄링을 위한 오픈소스 플랫폼임. 데이터 파이프라인을 효율적으로 관리하려면 Airflow의 핵심 개념을 이해하는 것이 중요. DAG (Directed Acyclic Graph): Airflow에서 워크플로우를 정의하는 기본 단위로, DAG은 여러 개의 Task로 구성Task & Operator: DAG안에 실행되는 개별작업을 Task라고 함. Task은 airflow의 Operator라는 클레스로 정의Task depdendecies: 테스크의 실행순서를 정의Branching (조건 분기)그외 기타..Xcom (cross-communication): Task간 데이터를 공유하는 기능E.. 2025. 3. 10. 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. 이전 1 2 3 4 ··· 18 다음