Stable Diffusion
텍스트 설명을 입력하면 이미지를 생성하는 인공지능 모델(Text-to-Image)
입력 : 자연어 텍스트 (prompt)
출력: 고해상도 이미지 (512x512 이상 가능)
라이선스: 오픈소스(MIT 기반), 누구나 사용 가능
학습 데이터: LAION-5B라는 대규모 텍스트-이미지 페어 데이터셋
작동 방식
- 노이즈 이미지를 준비
- 텍스트를 보고 어떤 이미지를 원하는지 파악
- 노이즈를 점점 제거하면서 이미지를 만들어냄
→ 이 과정을 Diffusion(확산)과정이라고 부름
stable diffusion 모델 설치
pip install diffusers transformers torch
이미지 생성
from diffusers import StableDiffusionPipeline
import torch
# MPS 디바이스 설정
device = torch.device("mps")
# Stable Diffusion 파이프라인 로드
pipe = StableDiffusionPipeline.from_pretrained("CompVis/stable-diffusion-v1-4").to(
device
)
# 이미지 생성
prompt = "A cat wearing sunglasses, photorealistic"
image = pipe(prompt).image[0]
# 저장 및 보기
image.sate("stable_diffusion_ouptput.png")
image.show()
Loading pipeline components...: 100%|███████████████████████████████████████████████████████████████████████████████████████████████| 7/7 [00:22<00:00, 3.15s/it]
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 50/50 [39:02<00:00, 46.86s/it]
다음부턴 코랩으로..ㄱ
Stable Diffusion 모델의 세부 조정
guidane_scale
텍스트 조건을 얼마나 강하게 반영할지 결정하는 파라미터
값이 높을수록 텍스트 설명에 충실한 이미지 생성
num_inference_steps
이미지 생성 과정에서의 추론 단계 수를 지정
단계 수가 많을 수록 이미지의 품질이 향상되지만, 생성 시간이 길어짐
image = pipe(prompt, guidance_scale=7.5, num_inference_steps=50).images[0]
'⊢ AI 모델 활용' 카테고리의 다른 글
ChatGPT와 ElevenLabs실습: 텍스트에서 음성까지 (2) | 2025.03.26 |
---|---|
FastAPI를 활용한 API 구축 (2) | 2025.03.25 |
생성형 모델의 기본 원리 - 랜덤성(Randomness)과 조건성(Conditionality) (3) | 2025.03.25 |
생성형 AI(Generative AI) (0) | 2025.03.25 |
사전 학습과 파인 튜닝 (2) | 2025.03.25 |