Chilloutmix_NiPrunedFp32Fix는 텍스트 프롬프트로 고품질 이미지를 생성할 수 있는 최적화된 Stable Diffusion 모델입니다. 이 가이드에서는 실습 중심으로 모델을 다운로드하고, 실행 환경을 구성한 뒤 첫 이미지를 생성하는 과정을 설명합니다.
모델 다운로드 및 환경 구성
모델은 Hugging Face에서 호스팅됩니다. 아래 명령어로 diffusers 라이브러리를 설치하고, 파이프라인을 초기화합니다.
# diffusers 및 의존성 설치 (터미널에서 실행)
pip install diffusers transformers accelerate torch
# Python 스크립트 내에서 모델 로드
model_id = "emilianJR/chilloutmix_NiPrunedFp32Fix"
pipe = StableDiffusionPipeline.from_pretrained(
model_id,
torch_dtype=torch.float16,
safety_checker=None, # 필요 시 비활성화
)
pipe = pipe.to("cuda")
GPU 메모리가 부족한 경우 torch.float16 대신 torch.float32를 사용하거나, CPU 추론을 시도할 수 있습니다.
첫 번째 이미지 생성
프롬프트를 정의하고 파이프라인을 실행합니다. 결과 이미지는 현재 작업 디렉터리에 저장됩니다.
prompt = "a serene lake at sunset, digital art"
with torch.no_grad():
image = pipe(prompt, num_inference_steps=30).images[0]
image.save("first_generation.png")
num_inference_steps: 높을수록 세부 묘사가 향상되지만 생성 시간이 증가합니다. 기본값은 50입니다.- 프롬프트에 부정적 단어(예:
ugly, blurry)를 포함하려면negative_prompt인자를 사용합니다.
주요 파라미터 조정 팁
생성 품질과 다양성에 영향을 주는 핵심 파라미터는 다음과 같습니다.
| 파라미터 | 권장 범위 | 설명 |
|---|---|---|
| guidance_scale | 7~12 | 프롬프트 충실도 조절. 너무 낮으면 무작위, 너무 높으면 과적합. |
| height / width | 512, 768 등 | 메모리 제약에 따라 설정. 768×768 이상은 GPU VRAM 8GB 이상 권장. |
| seed | 정수 (예: 42) | 재현성을 위해 고정. 생략 시 무작위. |
일반적인 문제 해결
- CUDA Out of Memory: 배치 크기를 1로 줄이거나,
attention_slicing을 활성화합니다.pipe.enable_attention_slicing()호출. - NSFW 필터로 이미지 차단:
safety_checker=None을from_pretrained에 전달하거나, 파이프라인 로드 후pipe.safety_checker = None설정. - 모델 다운로드 실패: 네트워크 상태 확인 후,
cache_dir인수로 캐시 경로 지정.
모델 파일 및 추가 예제는 공식 저장소(emilianJR/chilloutmix_NiPrunedFp32Fix)에서 확인할 수 있습니다.