우분투에서 파이썬으로 로컬 이미지 생성하기: diffusers + SDXL 설치부터 실행까지 (RTX 4060 8GB)

우분투가 설치된 노트북(메모리 64GB, GeForce RTX 4060 8GB)에서 파이썬으로 로컬 이미지 생성 환경을 구축하고, 터미널 대화형 스크립트(image_gen_cli.py)를 실행하기까지의 전 과정을 정리한 문서입니다.

.

이해를 돕기위해 유튜브 영상을 추가했습니다.

.

1. 테스트 시스템 사항

이 가이드는 다음 환경을 기준으로 작성되었습니다.

  • Ubuntu 24.04 
  • NVIDIA GeForce RTX 4060 (VRAM 8GB)
  • 시스템 메모리: 64GB
  • 디스크 여유 공간: 20GB 이상 (SDXL 모델 약 7GB + 수정판 VAE 약 0.3GB + 캐시)

SDXL은 FP16 기준 약 7GB로 8GB VRAM에 온전히 들어가는 모델입니다. 시스템 메모리가 넉넉하므로 CPU 오프로딩을 함께 사용하면 LoRA나 고해상도 작업에서도 여유가 생깁니다.

.

2. NVIDIA 드라이버 확인

먼저 NVIDIA 드라이버가 정상 동작하는지 확인합니다.

nvidia-smi

.

GPU 이름(GeForce RTX 4060)과 드라이버 버전, CUDA 버전이 표시되면 정상입니다. 명령을 찾을 수 없다는 오류가 나오면 드라이버를 먼저 설치합니다.

sudo ubuntu-drivers autoinstall
sudo reboot

.

재부팅 후 nvidia-smi를 다시 실행해 확인합니다. CUDA Toolkit을 별도로 설치할 필요는 없습니다. PyTorch가 자체적으로 CUDA 런타임을 포함해서 배포되기 때문에 드라이버만 있으면 됩니다.

.

3. 기본 개발 환경 구축 (Visual Studio Code + Miniconda)

Visual Studio Code와 Miniconda 설치, 가상환경 생성과 Visual Studio Code 연동은 아래 글을 따라 진행합니다. (Claude Code 설치 부분은 이 작업과 무관하므로 건너뛰어도 됩니다)

.

우분투 Python 개발 환경: Visual Studio Code + Miniconda + Claude Code 설치 가이드

.

이미지 생성 전용으로 imagegen 가상 환경을 만듭니다.

conda create -n imagegen python=3.11 -y
conda activate imagegen

.

4. PyTorch (CUDA 빌드) 설치

리눅스에서는 기본 설치 명령으로 CUDA 지원 빌드가 설치됩니다.

pip install torch

.

특정 CUDA 버전 빌드가 필요한 경우에는 PyTorch 공식 사이트에서 환경에 맞는 설치 명령을 확인합니다.

참고: 기본 명령으로 CUDA 빌드가 설치되는 것은 리눅스 한정입니다. 윈도우에서는 pip install torch가 CPU 빌드를 설치하므로, 윈도우 사용자는 반드시 공식 사이트 선택기에서 CUDA 버전을 골라 안내되는 명령으로 설치해야 합니다.

.

설치 후 GPU 인식을 확인합니다.

python -c "import torch; ok=torch.cuda.is_available(); print(ok, torch.cuda.get_device_name(0) if ok else 'GPU 미인식')"

.

그래픽 카드 이름이 출력되면 성공입니다. “GPU 미인식”이 나오면 드라이버 문제이거나 CPU 빌드가 설치된 것이므로, pip uninstall torch 로 삭제한 후, 공식 홈페이지에서 확인하여 다시 설치해보세요. 

.

5. diffusers 및 관련 패키지 설치

pip install diffusers transformers accelerate
  • diffusers: Stable Diffusion 계열 모델의 파이프라인 라이브러리
  • transformers: 텍스트 인코더(CLIP 등) 로딩에 필요
  • accelerate: CPU 오프로딩(enable_model_cpu_offload)에 필요

.

6. 스크립트 배치

이 문서 마지막의 전체 코드를 image_gen_cli.py 라는 이름으로 작업 폴더에 저장합니다.

보여주기 편하도록 터미널에서 진행했습니다.

mkdir -p ~/imagegen
cd ~/imagegen

.

문서 마지막의 전체 코드를 image_gen_cli.py 파일에 붙여넣고  Ctrl +S를 눌러 저장합니다..

code image_gen_cli.py

.

7. 실행

python image_gen_cli.py

.

최초 실행 시

Hugging Face에서 SDXL 모델(약 7GB)과 수정판 VAE(약 0.3GB)를 자동으로 다운로드합니다.  네트워크 속도에 따라 수 분에서 수십 분이 걸릴 수 있으며, 모델은 ~/.cache/huggingface/ 에 저장되어 이후 실행부터는 다운로드 없이 바로 로딩됩니다. 

.

다운로드시 다음처럼 HF_TOKEN을 설정하면 더 빨리 다운로드 받을 수 있다는 메시지가 보입니다.  블로그 글 작성시엔 그냥 했더니 다운로드 속도가 느렸습니다. 

Please set a HF_TOKEN to enable higher rate limits and faster downloads.

.

사용 방법

SDXL은 영어 프롬프트에서 품질이 좋으므로, 프롬프트는 클로드 웹(claude.ai)에서 생성해 사용합니다.

  1. 클로드 웹에 만들고 싶은 이미지를 한국어로 설명하고, SDXL용 영어 프롬프트를 요청합니다.
    • 요청 예: 나무 도마 위에 놓인 갓 만든 김밥을 스튜디오 음식 사진 느낌으로 찍은 이미지를 만들려고 해. SDXL용 영어 프롬프트를 한 줄로 만들어줘.
    • 응답 예: freshly made gimbap slices on a wooden cutting board, glossy seaweed and colorful fillings, professional studio food photography, softbox lighting, shallow depth of field, 85mm macro lens, clean minimal background, appetizing, ultra detailed, 8k
  2. 스크립트의 프롬프트 > 입력창에 클로드가 생성한 영어 프롬프트를 붙여넣습니다.
  3. 생성이 끝나면 저장 경로가 출력됩니다. 기본 저장 위치는 ./outputs/image_날짜시각.png 입니다.
  4. 결과가 마음에 들지 않으면 클로드에 "더 밝게", "배경을 단순하게" 같은 수정 요청을 해서 프롬프트를 다듬은 뒤 다시 붙여넣습니다.
  5.  q를 입력하면 종료됩니다.

.

터미널에서 eog 프로그램을 사용하여 결과이미지를 간단히 확인해볼 수 있습니다. 디폴트로 1024 X 1024 이미지가  생성됩니다.

eog /home/webnautes/imagegen/outputs/image_20260721_185355.png

.

.

모델은 실행 중 한 번만 로딩되며 이후, 프롬프트를 바꿔가며 연속으로 생성할 수 있습니다. 

.

실행 옵션

옵션기본값설명
--outdiroutputs이미지 저장 폴더
--steps25추론 스텝 수 (품질↔속도 조절)
--width1024이미지 너비
--height1024이미지 높이
--seed랜덤시드 고정 (같은 프롬프트로 같은 결과 재현)
--no-offload꺼짐CPU 오프로딩 비활성화 (VRAM에 전부 올려 속도 우선)

.

사용 예:

# 속도 우선 (SDXL은 8GB에 들어가므로 가능)
python image_gen_cli.py --no-offload

# 결과 재현용 시드 고정
python image_gen_cli.py --seed 42

# 해상도를 낮춰 빠르게 시안 확인
python image_gen_cli.py --steps 20 --width 768 --height 768

.

8. 문제 해결

CUDA를 사용할 수 없다는 메시지가 나올 때

  • nvidia-smi로 드라이버 동작을 확인합니다.
  • 4단계의 GPU 인식 확인 명령을 실행해 PyTorch CUDA 빌드가 설치됐는지 확인합니다.

VRAM 부족(OOM)이 발생할 때

스크립트는 OOM 발생 시 종료되지 않고 안내 메시지 후 다음 입력을 받습니다.

--no-offload 옵션을 빼고 기본(오프로딩 켜짐)으로 실행합니다.
해상도를 낮춥니다. 예: --width 768 --height 768
다른 GPU 사용 프로그램(브라우저의 하드웨어 가속 등)을 종료합니다.

모델 다운로드가 중단됐을 때

다시 실행하면 이어받기가 됩니다. 반복 실패 시 ~/.cache/huggingface/hub 아래 해당 모델 폴더를 삭제하고 재시도합니다.

.

9. 전체 코드 (image_gen_cli.py)

#!/usr/bin/env python3
"""
대화형 로컬 이미지 생성 CLI (SDXL, RTX 4060 8GB + 램 64GB 기준)

사용법:
    pip install torch          # CUDA 지원 빌드 (리눅스 기본)
    pip install diffusers transformers accelerate
    python image_gen_cli.py            # 기본 (SDXL, 오프로딩 사용)
    python image_gen_cli.py --no-offload   # VRAM에 전부 올려 속도 우선
    python image_gen_cli.py --steps 30 --width 1024 --height 1024

프롬프트를 입력하면 이미지를 생성하고 저장 경로를 출력합니다.
q 입력 시 종료. 모델은 최초 1회만 로딩됩니다.
"""

import argparse
import datetime
import pathlib
import sys

import torch


def load_pipeline(use_offload: bool):
    """SDXL 파이프라인 로딩. 최초 실행 시 모델(~7GB)을 다운로드합니다."""
    from diffusers import AutoencoderKL, StableDiffusionXLPipeline

    print("모델 로딩 중... (최초 실행 시 다운로드에 시간이 걸립니다)")
    # 기본 VAE는 FP16에서 수치 오류가 있어 디코딩 시 FP32 업캐스팅(+약 1GB VRAM)이
    # 발생하므로, FP16에서도 안정적으로 동작하는 수정판 VAE로 교체
    vae = AutoencoderKL.from_pretrained(
        "madebyollin/sdxl-vae-fp16-fix",
        torch_dtype=torch.float16,
    )
    pipe = StableDiffusionXLPipeline.from_pretrained(
        "stabilityai/stable-diffusion-xl-base-1.0",
        vae=vae,
        torch_dtype=torch.float16,
        variant="fp16",
    )
    if use_offload:
        # 미사용 컴포넌트를 시스템 램으로 내려 VRAM 절약 (램 64GB 활용)
        pipe.enable_model_cpu_offload()
    else:
        pipe.to("cuda")
    pipe.enable_vae_tiling()  # 고해상도 VAE 단계 OOM 방지
    print("모델 로딩 완료.\n")
    return pipe


def make_output_path(out_dir: pathlib.Path) -> pathlib.Path:
    out_dir.mkdir(parents=True, exist_ok=True)
    stamp = datetime.datetime.now().strftime("%Y%m%d_%H%M%S")
    return out_dir / f"image_{stamp}.png"


def main():
    parser = argparse.ArgumentParser(description="대화형 SDXL 이미지 생성기")
    parser.add_argument("--outdir", default="outputs", help="이미지 저장 폴더 (기본: ./outputs)")
    parser.add_argument("--steps", type=int, default=25, help="추론 스텝 수 (기본: 25)")
    parser.add_argument("--width", type=int, default=1024, help="이미지 너비 (기본: 1024)")
    parser.add_argument("--height", type=int, default=1024, help="이미지 높이 (기본: 1024)")
    parser.add_argument("--seed", type=int, default=None, help="시드 고정 (재현용, 생략 시 랜덤)")
    parser.add_argument("--no-offload", action="store_true",
                        help="CPU 오프로딩 비활성화 (VRAM 여유 시 속도 향상)")
    args = parser.parse_args()

    if not torch.cuda.is_available():
        sys.exit("CUDA를 사용할 수 없습니다. NVIDIA 드라이버와 PyTorch CUDA 빌드를 확인하세요.")

    out_dir = pathlib.Path(args.outdir).resolve()
    pipe = load_pipeline(use_offload=not args.no_offload)

    print("클로드 웹(claude.ai)에서 생성한 영어 프롬프트를 붙여넣어주세요.")
    print("종료: q 입력\n")

    while True:
        try:
            prompt = input("프롬프트 > ").strip()
        except (EOFError, KeyboardInterrupt):
            print("\n종료합니다.")
            break

        if not prompt:
            continue  # 붙여넣기 시 딸려온 빈 줄 등은 무시하고 다시 입력 대기
        if prompt.lower() == "q":
            print("종료합니다.")
            break

        generator = None
        if args.seed is not None:
            generator = torch.Generator(device="cuda").manual_seed(args.seed)

        print("생성 중...")
        try:
            image = pipe(
                prompt=prompt,
                num_inference_steps=args.steps,
                guidance_scale=7.0,
                width=args.width,
                height=args.height,우분투가 설치된 노트북(메모리 64GB, GeForce RTX 4060 8GB)에서 파이썬으로 로컬 이미지 생성 환경을 구축하고, 터미널 대화형 스크립트(image_gen_cli.py)를 실행하기까지의 전 과정을 정리한 문서입니다.
.
테스트 시스템 사항
이 가이드는 다음 환경을 기준으로 작성되었습니다.
Ubuntu 24.04
NVIDIA GeForce RTX 4060 (VRAM 8GB)
시스템 메모리: 64GB
디스크 여유 공간: 20GB 이상 (SDXL 모델 약 7GB + 수정판 VAE 약 0.3GB + 캐시)
SDXL은 FP16 기준 약 7GB로 8GB VRAM에 온전히 들어가는 모델입니다. 시스템 메모리가 넉넉하므로 CPU 오프로딩을 함께 사용하면 LoRA나 고해상도 작업에서도 여유가 생깁니다.
.
NVIDIA 드라이버 확인
먼저 NVIDIA 드라이버가 정상 동작하는지 확인합니다.
nvidia-smi
.
GPU 이름(GeForce RTX 4060)과 드라이버 버전, CUDA 버전이 표시되면 정상입니다. 명령을 찾을 수 없다는 오류가 나오면 드라이버를 먼저 설치합니다.
sudo ubuntu-drivers autoinstall
sudo reboot
.
재부팅 후 nvidia-smi를 다시 실행해 확인합니다. CUDA Toolkit을 별도로 설치할 필요는 없습니다. PyTorch가 자체적으로 CUDA 런타임을 포함해서 배포되기 때문에 드라이버만 있으면 됩니다.
.
기본 개발 환경 구축 (Visual Studio Code + Miniconda)
Visual Studio Code와 Miniconda 설치, 가상환경 생성과 Visual Studio Code 연동은 아래 글을 따라 진행합니다. (Claude Code 설치 부분은 이 작업과 무관하므로 건너뛰어도 됩니다)
.
우분투 Python 개발 환경: Visual Studio Code + Miniconda + Claude Code 설치 가이드
https://webnautes.com/%ec%9a%b0%eb%b6%84%ed%88%ac-python-%ea%b0%9c%eb%b0%9c-%ed%99%98%ea%b2%bd-visual-studio-code-miniconda-claude-code-%ec%84%a4%ec%b9%98-%ea%b0%80%ec%9d%b4%eb%93%9c/
.
이미지 생성 전용으로 imagegen 가상 환경을 만듭니다.
conda create -n imagegen python=3.11 -y
conda activate imagegen
.
PyTorch (CUDA 빌드) 설치
리눅스에서는 기본 설치 명령으로 CUDA 지원 빌드가 설치됩니다.
pip install torch
.
특정 CUDA 버전 빌드가 필요한 경우에는 PyTorch 공식 사이트에서 환경에 맞는 설치 명령을 확인합니다.
참고: 기본 명령으로 CUDA 빌드가 설치되는 것은 리눅스 한정입니다. 윈도우에서는 pip install torch가 CPU 빌드를 설치하므로, 윈도우 사용자는 반드시 공식 사이트 선택기에서 CUDA 버전을 골라 안내되는 명령으로 설치해야 합니다.
.
설치 후 GPU 인식을 확인합니다.
python -c "import torch; ok=torch.cuda.is_available(); print(ok, torch.cuda.get_device_name(0) if ok else 'GPU 미인식')"
.
그래픽 카드 이름이 출력되면 성공입니다. “GPU 미인식”이 나오면 드라이버 문제이거나 CPU 빌드가 설치된 것이므로, pip uninstall torch 로 삭제한 후, 공식 홈페이지에서 확인하여 다시 설치해보세요.
.
diffusers 및 관련 패키지 설치
pip install diffusers transformers accelerate
diffusers: Stable Diffusion 계열 모델의 파이프라인 라이브러리
transformers: 텍스트 인코더(CLIP 등) 로딩에 필요
accelerate: CPU 오프로딩(enable_model_cpu_offload)에 필요
.
스크립트 배치
이 문서 마지막의 전체 코드를 image_gen_cli.py 라는 이름으로 작업 폴더에 저장합니다.
보여주기 편하도록 터미널에서 진행했습니다.
mkdir -p ~/imagegen
cd ~/imagegen
.
문서 마지막의 전체 코드를 image_gen_cli.py 파일에 붙여넣고 Ctrl +S를 눌러 저장합니다..
code image_gen_cli.py
.
실행
python image_gen_cli.py
.
최초 실행 시
Hugging Face에서 SDXL 모델(약 7GB)과 수정판 VAE(약 0.3GB)를 자동으로 다운로드합니다. 네트워크 속도에 따라 수 분에서 수십 분이 걸릴 수 있으며, 모델은 ~/.cache/huggingface/ 에 저장되어 이후 실행부터는 다운로드 없이 바로 로딩됩니다.
.
다운로드시 다음처럼 HF_TOKEN을 설정하면 더 빨리 다운로드 받을 수 있다는 메시지가 보입니다. 블로그 글 작성시엔 그냥 했더니 다운로드 속도가 느렸습니다.
Please set a HF_TOKEN to enable higher rate limits and faster downloads.
.
사용 방법
SDXL은 영어 프롬프트에서 품질이 좋으므로, 프롬프트는 클로드 웹(claude.ai)에서 생성해 사용합니다.
클로드 웹에 만들고 싶은 이미지를 한국어로 설명하고, SDXL용 영어 프롬프트를 요청합니다.
요청 예: 나무 도마 위에 놓인 갓 만든 김밥을 스튜디오 음식 사진 느낌으로 찍은 이미지를 만들려고 해. SDXL용 영어 프롬프트를 한 줄로 만들어줘.
응답 예: freshly made gimbap slices on a wooden cutting board, glossy seaweed and colorful fillings, professional studio food photography, softbox lighting, shallow depth of field, 85mm macro lens, clean minimal background, appetizing, ultra detailed, 8k
스크립트의 프롬프트 > 입력창에 클로드가 생성한 영어 프롬프트를 붙여넣습니다.
생성이 끝나면 저장 경로가 출력됩니다. 기본 저장 위치는 ./outputs/image_날짜시각.png 입니다.
결과가 마음에 들지 않으면 클로드에 "더 밝게", "배경을 단순하게" 같은 수정 요청을 해서 프롬프트를 다듬은 뒤 다시 붙여넣습니다.
q를 입력하면 종료됩니다.
.
터미널에서 eog 프로그램을 사용하여 결과이미지를 간단히 확인해볼 수 있습니다. 디폴트로 1024 X 1024 이미지가 생성됩니다.
eog /home/webnautes/imagegen/outputs/image_20260721_185355.png
.
.
모델은 실행 중 한 번만 로딩되며 이후, 프롬프트를 바꿔가며 연속으로 생성할 수 있습니다.
.
실행 옵션
옵션
기본값
설명
--outdir
outputs
이미지 저장 폴더
--steps
25
추론 스텝 수 (품질↔속도 조절)
--width
1024
이미지 너비
--height
1024
이미지 높이
--seed
랜덤
시드 고정 (같은 프롬프트로 같은 결과 재현)
--no-offload
꺼짐
CPU 오프로딩 비활성화 (VRAM에 전부 올려 속도 우선)
.
사용 예:
속도 우선 (SDXL은 8GB에 들어가므로 가능)
python image_gen_cli.py --no-offload
결과 재현용 시드 고정
python image_gen_cli.py --seed 42
해상도를 낮춰 빠르게 시안 확인
python image_gen_cli.py --steps 20 --width 768 --height 768
.
문제 해결
CUDA를 사용할 수 없다는 메시지가 나올 때
nvidia-smi로 드라이버 동작을 확인합니다.
4단계의 GPU 인식 확인 명령을 실행해 PyTorch CUDA 빌드가 설치됐는지 확인합니다.
VRAM 부족(OOM)이 발생할 때
스크립트는 OOM 발생 시 종료되지 않고 안내 메시지 후 다음 입력을 받습니다.
--no-offload 옵션을 빼고 기본(오프로딩 켜짐)으로 실행합니다.
해상도를 낮춥니다. 예: --width 768 --height 768
다른 GPU 사용 프로그램(브라우저의 하드웨어 가속 등)을 종료합니다.
모델 다운로드가 중단됐을 때
다시 실행하면 이어받기가 됩니다. 반복 실패 시 ~/.cache/huggingface/hub 아래 해당 모델 폴더를 삭제하고 재시도합니다.
.
전체 코드 (image_gen_cli.py)
!/usr/bin/env python3
"""
대화형 로컬 이미지 생성 CLI (SDXL, RTX 4060 8GB + 램 64GB 기준)
사용법:
pip install torch # CUDA 지원 빌드 (리눅스 기본)
pip install diffusers transformers accelerate
python image_gen_cli.py # 기본 (SDXL, 오프로딩 사용)
python image_gen_cli.py --no-offload # VRAM에 전부 올려 속도 우선
python image_gen_cli.py --steps 30 --width 1024 --height 1024
프롬프트를 입력하면 이미지를 생성하고 저장 경로를 출력합니다.
q 입력 시 종료. 모델은 최초 1회만 로딩됩니다.
"""
import argparse
import datetime
import pathlib
import sys
import torch
def load_pipeline(use_offload: bool):
"""SDXL 파이프라인 로딩. 최초 실행 시 모델(~7GB)을 다운로드합니다."""
from diffusers import AutoencoderKL, StableDiffusionXLPipeline
print("모델 로딩 중... (최초 실행 시 다운로드에 시간이 걸립니다)") # 기본 VAE는 FP16에서 수치 오류가 있어 디코딩 시 FP32 업캐스팅(+약 1GB VRAM)이 # 발생하므로, FP16에서도 안정적으로 동작하는 수정판 VAE로 교체 vae = AutoencoderKL.from_pretrained( "madebyollin/sdxl-vae-fp16-fix", torch_dtype=torch.float16, ) pipe = StableDiffusionXLPipeline.from_pretrained( "stabilityai/stable-diffusion-xl-base-1.0", vae=vae, torch_dtype=torch.float16, variant="fp16", ) if use_offload: # 미사용 컴포넌트를 시스템 램으로 내려 VRAM 절약 (램 64GB 활용) pipe.enable_model_cpu_offload() else: pipe.to("cuda") pipe.enable_vae_tiling() # 고해상도 VAE 단계 OOM 방지 print("모델 로딩 완료.\n") return pipe
def make_output_path(out_dir: pathlib.Path) -> pathlib.Path:
out_dir.mkdir(parents=True, exist_ok=True)
stamp = datetime.datetime.now().strftime("%Y%m%d_%H%M%S")
return out_dir / f"image_{stamp}.png"
def main():
parser = argparse.ArgumentParser(description="대화형 SDXL 이미지 생성기")
parser.add_argument("--outdir", default="outputs", help="이미지 저장 폴더 (기본: ./outputs)")
parser.add_argument("--steps", type=int, default=25, help="추론 스텝 수 (기본: 25)")
parser.add_argument("--width", type=int, default=1024, help="이미지 너비 (기본: 1024)")
parser.add_argument("--height", type=int, default=1024, help="이미지 높이 (기본: 1024)")
parser.add_argument("--seed", type=int, default=None, help="시드 고정 (재현용, 생략 시 랜덤)")
parser.add_argument("--no-offload", action="store_true",
help="CPU 오프로딩 비활성화 (VRAM 여유 시 속도 향상)")
args = parser.parse_args()
if not torch.cuda.is_available(): sys.exit("CUDA를 사용할 수 없습니다. NVIDIA 드라이버와 PyTorch CUDA 빌드를 확인하세요.") out_dir = pathlib.Path(args.outdir).resolve() pipe = load_pipeline(use_offload=not args.no_offload) print("클로드 웹(claude.ai)에서 생성한 영어 프롬프트를 붙여넣어주세요.") print("종료: q 입력\n") while True: try: prompt = input("프롬프트 > ").strip() except (EOFError, KeyboardInterrupt): print("\n종료합니다.") break if not prompt: continue # 붙여넣기 시 딸려온 빈 줄 등은 무시하고 다시 입력 대기 if prompt.lower() == "q": print("종료합니다.") break generator = None if args.seed is not None: generator = torch.Generator(device="cuda").manual_seed(args.seed) print("생성 중...") try: image = pipe( prompt=prompt, num_inference_steps=args.steps, guidance_scale=7.0, width=args.width, height=args.height, generator=generator, ).images[0] except torch.cuda.OutOfMemoryError: torch.cuda.empty_cache() print("VRAM 부족(OOM)이 발생했습니다. --no-offload 옵션을 빼고 실행하거나 " "해상도를 낮춰보세요. (예: --width 768 --height 768)") continue path = make_output_path(out_dir) image.save(path) print(f"저장 완료: {path}\n")
if name == "main":
main()
                generator=generator,
            ).images[0]
        except torch.cuda.OutOfMemoryError:
            torch.cuda.empty_cache()
            print("VRAM 부족(OOM)이 발생했습니다. --no-offload 옵션을 빼고 실행하거나 "
                  "해상도를 낮춰보세요. (예: --width 768 --height 768)")
            continue

        path = make_output_path(out_dir)
        image.save(path)
        print(f"저장 완료: {path}\n")


if __name__ == "__main__":
    main()

관련 글

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다