본문 바로가기

Stable Diffusion

(4)
PyTorch 모델 저장 시 ModuleNotFoundError 오류 해결기: pickle과 버전 호환의 함정 모델을 저장하고 다시 불러오기만 했을 뿐인데 에러가 났다. 그 원인은 다름 아닌 pickle이었다.🧩 문제는 환경의 “미묘한 차이”였다Stable Diffusion 기반 API 서버를 개발하는 과정에서 .pth 파일로 저장한 모델을 불러오는 도중 다음과 같은 오류를 만났다.ModuleNotFoundError: No module named 'diffusers.models.unets' 흥미로운 점은 같은 서버에서 저장한 모델임에도, Docker 컨테이너에서 실행했을 때 이 오류가 발생했다는 것이다. 알고 보니 로컬 환경과 컨테이너 내부의 라이브러리 버전이 미묘하게 달랐고, 바로 그 차이로 인해 모델을 제대로 불러올 수 없었던 것이다.왜 이런 일이 발생했을까?# 저장 시[UNet2DConditionModel..
from_pretrained 없이 로컬 구성요소만으로 Stable Diffusion 파이프라인 조립하기 이전 글에서 Git LFS로 모델을 통째로 받으려다 실패한 경험을 바탕으로, 이번엔 필요한 구성요소만 뽑아서 로컬에서 파이프라인을 직접 조립해봤다. 왜 이 작업을 하게 됐을까?처음엔 Hugging Face의 from_pretrained() 방식으로 모델을 API 호출 시마다 실시간 다운로드하는 구조를 사용했다. 간단하게 구현할 수 있는 장점은 있었지만, 다음과 같은 문제들이 생겼다.네트워크 의존성: 컨테이너 내부나 오프라인 환경에선 사용 불가속도 문제: 모델을 매번 로딩하느라 초기 응답이 느림재현성 부족: 특정 시점의 모델을 안정적으로 고정해두기 어려움그래서 모델을 미리 다운로드하고, 로컬에 저장된 구성 요소들을 직접 불러와 파이프라인을 구성하는 방식으로 전환했다. User Request (FastAPI..
Stable Diffusion 이미지 생성 API 만들기 회사에서 도입한 GPU 머신에 구축한 환경 위에서, Stable Diffusion 모델을 FastAPI로 감싸 간단한 이미지 생성 API를 구현했다. 이미지 기반 AI 기능을 실서비스처럼 테스트하려면, 단순히 모델을 로딩하는 것만으론 부족하다. API 형태로 만들어야 실제로 쓸 수 있기 때문에, FastAPI를 활용해 Stable Diffusion 모델을 쉽게 테스트하고 실행할 수 있도록 구성했다. Hugging Face 연동모델을 허브에서 다운로드하기 위해선 CLI 인증이 필요하다.pip install huggingface_hubhuggingface-cli login 토큰 발급 후 로그인하면 끝. (토큰은 huggingface 사이트에 접속해서 쉽게 발급 가능하다)Stable Diffusion 파이프라..
Ubuntu에서 AI 개발 환경 세팅한 기록 4060 Ti GPU 머신에서 Stable Diffusion 기반 이미지 생성 API를 돌리기 위해, Ubuntu 환경에서 개발 환경을 세팅했다! 최근 회사에 4060 Ti GPU가 탑재된 워크스테이션이 들어오면서, 본격적으로 로컬 GPU 환경에서 AI 모델을 테스트할 수 있게 됐다. Stable Diffusion을 활용한 이미지 생성 API를 운영할 예정이라, 해당 머신 위에 개발 환경을 직접 구축하게 되었다.Ubuntu 22.04 기반에서 Anaconda 설치부터 NVIDIA 드라이버 세팅, PyTorch GPU 버전 설치까지 내가 진행한 세팅 과정을 아래에 공유한다. 추후 유사한 환경을 세팅할 일이 있다면 참고하면 좋을 것 같다. 1. Ubuntu 22.04 + Anaconda 설치리눅스 환경에서는..