근황 토크 및 자유게시판

[AI 이미지 생성] Stable-Diffusion 설치 및 실행

scone 2023. 9. 29. 04:28

https://github.com/CompVis/stable-diffusion

 

GitHub - CompVis/stable-diffusion: A latent text-to-image diffusion model

A latent text-to-image diffusion model. Contribute to CompVis/stable-diffusion development by creating an account on GitHub.

github.com

 

턱시도를 입은 여우의 이미지를 생성하고 싶어서 다음의 설치를 진행하게 되었습니다.

 

실행 환경 및 준비

  • ubuntu 20.04 - Docker 환경
  • Conda 설치 (사이트에 접속하여 다운로드 링크를 가져와 wget으로 설치해줍니다.)
# 설치 파일 다운
wget https://repo.anaconda.com/archive/Anaconda3-2023.07-2-Linux-x86_64.sh

# 설치 파일 실행
bash Anaconda3-2023.07-2-Linux-x86_64.sh 

# bashrc 실행
source ~/.bashrc
  • command not found error가 뜬다면, .bashrc 수정
# 패스 설정 해주기
export PATH="/home/username/anaconda3/bin:$PATH"

출처 : https://dambi-ml.tistory.com/6

 

[ Anaconda ] 아나콘다 설치 방법 및 기초 사용법 ( Linux )

안녕하세요! 오늘 포스팅해볼 내용은 리눅스 환경에서 아나콘다 설치 방법과 간단한 사용법입니다! 일단 아나콘다란 데이터 사이언스에 많이 사용되는 파이썬 패키지들을 효과적으로 관리할

dambi-ml.tistory.com

 

  • git clone
git clone https://github.com/CompVis/stable-diffusion.git

 

Requirements

  • 깃헙에 제시된 대로의 가상환경 설치 하기
    • 왜그런지는 모르겠으나 처음에는 명령어 누락으로 안되다가 터미널 껏다 키니깐 제대로 실행 되었다.
conda env create -f environment.yaml
conda activate ldm
  • 업데이트
conda install pytorch torchvision -c pytorch
pip install transformers==4.19.2 diffusers invisible-watermark
pip install -e .

 

제공 중인 모델 가중치

  • sd-v1-1.ckpt
    • laion2B-en 을 가지고 256*256 이미지를 237k steps, laion-high-resolution 을 가지고 512*512 이미지로 194k steps
  • sd-v1-2.ckpt
    • sd-v1-1.ckpt에서 더 학습한 가중치.
    • laion-aesthetics v2 5+ 을 가지고 512*512 이미지로 515k steps.
  • sd-v1-3.ckpt
    • sd-v1-2.ckpt에서 더 학습한 가중치
    • laion-aesthetics v2 5+ 을 가지고 512*512 이미지로 195k steps.
    • 10% dropping of text-conditioning to improve classifier free guidance sampling
  • sd-v1-4.ckpt
    • sd-v1-2.ckpt에서 더 학습한 가중치
    • laion-aesthetics v2 5+ 을 가지고 512*512 이미지로 225k steps.
    • 10% dropping of text-conditioning to improve classifier free guidance sampling

 

프롬포트 실행

  • 모델 ckpt 다운 받기
  • 말을 타고 있는 우주 비행사
    • --prompt "말을 타고 있는 우주 비행사" 
    • --ckpt {다운 받은 ckpt 주소}
    • 그 밖의 명령어는 위의 깃헙 링크 또는 -h 옵션을 통한 명령어 설명을 통해 확인할 수 있습니다.
python scripts/txt2img.py --prompt "a photograph of an astronaut riding a horse" --plms --ckpt ./models/ldm/stable-diffusion-v1/sd-v1-4.ckpt

output 폴더에 해당 사진이 저장 됩니다.

 

 

 

턱시도를 입은 여우

python scripts/txt2img.py --prompt "a photograph of a fox in a tuxedo" --plms --ckpt ./models/ldm/stable-diffusion-v1/sd-v1-4.ckpt

생각한거랑 조금 다르지만 턱시도를 입은 여우가 만들어졌습니다.

 

재밌네요.

 

Enjoy DeepLearning

 

 

 

 

 

참고하면 좋을 것 같아 보이는 링크

https://www.internetmap.kr/entry/Stable-Diffusion-Absolute-beginners-guide