Repolode
lucidrains

lucidrains/denoising-diffusion-pytorch

이미지 및 1D 시퀀스 생성 모델을 학습하기 위한 Denoising Diffusion Probabilistic Models의 PyTorch 구현입니다.

스타
10,710
포크
1,283
열린 이슈
169
마지막 커밋
23일 전

어떤 프로젝트인가요?

이 프로젝트는 점진적으로 노이즈를 추가하는 과정을 되돌리는 방법을 학습하는 생성 모델링 기법인 Denoising Diffusion Probabilistic Models의 PyTorch 구현입니다. U-Net 백본과 함께, 순방향 노이즈 추가, 학습 손실 계산, 학습된 모델을 이용한 샘플링을 처리하는 GaussianDiffusion 클래스를 제공합니다.

핵심 이미지 파이프라인 외에도 이미지 폴더를 입력받아 데이터 로딩, 학습 루프, 주기적인 샘플 로깅, 체크포인트 저장, 선택적 FID 계산을 처리하는 Trainer 클래스가 포함되어 있습니다. 또한 Hugging Face Accelerate를 사용한 멀티 GPU 학습, amp를 통한 혼합 정밀도, 타임스텝을 줄여 더 빠르게 샘플링하는 DDIM 방식도 지원합니다. 시퀀스 데이터용 1D U-Net과 1D diffusion 변형도 포함되어 있으며, XMWrapper는 여러 후보에 대한 손실 계산을 지원합니다.

이 라이브러리는 PyPI에서 설치할 수 있으며, diffusion 모델을 실험할 때 참고하고 수정하기 쉬운 구현을 원하는 연구자와 개발자를 대상으로 합니다.

핵심 기능

  • 01PyTorch로 DDPM 학습 목적 함수와 샘플링 절차를 구현합니다.
  • 02flash attention을 선택적으로 적용할 수 있는 설정 가능한 U-Net 백본을 제공합니다.
  • 03Trainer 클래스로 폴더 기반 이미지 데이터셋, 체크포인트, 샘플 로깅을 처리합니다.
  • 04Hugging Face Accelerate를 통한 멀티 GPU 학습과 혼합 정밀도를 지원합니다.
  • 05타임스텝을 줄인 DDIM 방식의 샘플링과 학습 중 FID 평가를 지원합니다.
  • 06시퀀스 데이터용 1D U-Net 및 diffusion 변형을 제공합니다.

활용 사례

  • 사용자 지정 이미지 폴더로 소규모 이미지 생성 모델을 학습합니다.
  • diffusion 학습 및 샘플링의 핵심 코드를 살펴보거나 수정합니다.
  • 1차원 시퀀스 데이터를 위한 diffusion 모델을 프로토타이핑합니다.
  • Accelerate를 사용해 멀티 GPU diffusion 학습 실험을 실행합니다.

빠른 시작

  1. 1

    PyPI에서 패키지를 설치합니다

    pip install denoising_diffusion_pytorch
  2. 2

    모델과 디퓨전 객체를 만들고 Trainer 클래스를 사용해 이미지 폴더의 이미지로 학습합니다

  3. 3

    학습을 시작합니다

    trainer.train()

사용 전 알아둘 점

  • 실제와 비슷한 크기의 이미지로 학습하려면 GPU와 많은 시간이 필요합니다(이 예시에서는 700000 스텝을 사용합니다).

토픽

자주 묻는 질문

denoising-diffusion-pytorch은(는) 무엇인가요?
이미지 및 1D 시퀀스 생성 모델을 학습하기 위한 Denoising Diffusion Probabilistic Models의 PyTorch 구현입니다. 이 프로젝트는 점진적으로 노이즈를 추가하는 과정을 되돌리는 방법을 학습하는 생성 모델링 기법인 Denoising Diffusion Probabilistic Models의 PyTorch 구현입니다. U-Net 백본과 함께, 순방향 노이즈 추가, 학습 손실 계산, 학습된 모델을 이용한 샘플링을 처리하는 GaussianDiffusion 클래스를 제공합니다.
denoising-diffusion-pytorch은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
denoising-diffusion-pytorch은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
denoising-diffusion-pytorch은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. denoising-diffusion-pytorch의 마지막 커밋은 2026년 9월 29일입니다.
denoising-diffusion-pytorch은(는) 어디에 사용할 수 있나요?
사용자 지정 이미지 폴더로 소규모 이미지 생성 모델을 학습합니다. diffusion 학습 및 샘플링의 핵심 코드를 살펴보거나 수정합니다. 1차원 시퀀스 데이터를 위한 diffusion 모델을 프로토타이핑합니다. Accelerate를 사용해 멀티 GPU diffusion 학습 실험을 실행합니다.
denoising-diffusion-pytorch는 어떻게 설치하나요?
PyPI에서 패키지를 설치합니다: pip install denoising_diffusion_pytorch 모델과 디퓨전 객체를 만들고 Trainer 클래스를 사용해 이미지 폴더의 이미지로 학습합니다 학습을 시작합니다: trainer.train()
denoising-diffusion-pytorch은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/lucidrains/denoising-diffusion-pytorch

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트