디렉터리 구성 및 설명
DDA 라이브러리는 다음과 같은 주요 디렉터리와 파일로 구성되어 있습니다.
dda/
├── examples/ # 사용 예제 코드 포함
├── faster_autoaugment/ # 고속 오토증강 기능 구현
├── tests/ # 단위 테스트 및 통합 테스트 스크립트
├── .github/workflows/ # CI/CD 자동화 워크플로우 정의
├── LICENSE # MIT 라이선스 정보
├── README.md # 기본 사용법 및 문서
├── compare.ipynb # 증강 기법 간 성능 비교 노트북
├── requirements.txt # 외부 종속성 목록
├── setup.py # 패키지 배포 설정
└── visualize.ipynb # 증강 결과 시각화 도구
- examples: 실제 학습 파이프라인에서 DDA를 적용하는 샘플 스크립트를 제공합니다.
- faster_autoaugment: 메타러닝 기반으로 최적의 증강 정책을 탐색하는 모듈을 포함합니다.
- tests: 각 변환 함수의 정확성과 미분 가능성을 검증하는 테스트 케이스가 포함됩니다.
- .github/workflows: 푸시 및 PR 시 실행되는 테스트 자동화 스크립트가 위치합니다.
기본 사용 방법
DDA는 파이토치 기반 라이브러리로, 주로 함수형 인터페이스를 통해 사용됩니다. 다음은 이미지에 밝기 조절을 적용하는 예시입니다.
import torch
import dda.functional as TF
# 더미 이미지 생성 (배치 크기 4, 채널 3, 해상도 32x32)
input_tensor = torch.randn(4, 3, 32, 32)
# 미분 가능한 감마 조정 적용
enhanced = TF.adjust_gamma(input_tensor, gamma=1.2, gain=1.0)
# 그래디언트 전파 가능 여부 확인
print(enhanced.requires_grad) # True 출력
모든 연산은 torch.Tensor를 입력으로 받으며, 자동 미분 계산 그래프에 통합될 수 있습니다.
의존성 관리 및 설치
프로젝트 실행을 위해 필요한 주요 패키지는 다음과 같습니다.
torch>=1.5.0
torchvision>=0.6.0
kornia>=0.2
다음 명령어로 환경을 구성할 수 있습니다.
pip install -r requirements.txt
개발자 모드로 설치하여 소스 수정 후 바로 반영하려면:
pip install -e .
패키징 및 배포 설정
setup.py는 라이브러리의 메타데이터와 설치 의존성을 정의합니다. 사용자는 필요에 따라 버전 번호나 추가 패키지를 등록할 수 있습니다.
from setuptools import setup, find_namespace_packages
setup(
name="dda",
version="0.1.0",
packages=find_namespace_packages(),
install_requires=[
"torch>=1.5.0",
"torchvision>=0.6.0",
"kornia>=0.2"
],
author="moskomule",
description="Differentiable Data Augmentation for Neural Networks",
license="MIT",
url="https://github.com/moskomule/dda"
)
이 설정 덕분에 사용자는 pip install dda 명령어 하나로 라이브러리를 가져올 수 있습니다.