GCP에서 스테이블 디퓨전 webui 시작해보기

bimo·2023년 6월 12일
0

이제 gcp에서 스테이블 디퓨전 webui를 설치하고 실행하는 과정을 기록해보겠다.

1. gpu가 있는 인스턴스를 생성한다.

생성하는 법은 인터넷에 이미 많으니 알아서 찾기를.

주의할 점!

  1. GPU가 달려 있는 인스턴스의 경우 할당량이 제한되어 있다. 이는 할당량을 따로 요청해야 한다. 참고한 블로그
  2. 부팅 디스크에 gpu 드라이버가 있는 것으로 선택하자. 아니면 굉장히 번거로워진다.
    또 부팅 디스크는 50G 이상을 선택하는게 여유롭다.
    드라이버랑 webui 환경설정만 설치해도 40G 정도를 차지하기 때문에 여유롭게 하는 것을 좋을 듯하다. 하지만 이후에 디스크를 추가할 수 있긴하다.

아래는 내가 선택한 부팅 디스크 이미지 정보이다.

2. ssh로 터미널에 들어간다.

인스턴스를 선택한 후에 ssh 버튼을 클릭하면 쉽게 연결된다.

ssh 연결이 되면 드라이버를 설치할 것인지 묻는다. 지금 한번만 나오고 이후 연결에서는 나오지 않으니 y를 선택한 후 설치한다. 아래 스크린 샷처럼 나오면 드라이버 설치가 완료된 것이다.

디스크 용량을 확인해보면 아직 아무것도 안했는데 27G 사용 중이다..

3. apt 업데이트 및 업그레이드

나는 os를 리눅스 데비안을 사용하기 때문에 apt를 주로 이용한다.
아래 커맨드 라인을 이용해 apt를 업데이트 및 업그레이드를 해준다.

sudo apt update
sudo apt upgrade

4. 파이썬 버전을 맞춘다. => 만약 파이썬 버전이 3.10이라면 바로 5번으로

  1. 파이썬 버전을 확인하고 3.10으로 맞춰준다.나는 3.10.10으로 설정해두었다.

내가 설치한 OS에서는 파이썬 3.7버전이 이미 설치되어 있는데 파이토치에서 파이썬 3.7 지원을 하고 있지 않기 때문에 버전업을 해주어야한다.
이 부분이 굉장히 번거롭다.
파이썬을 버전을 맞추는 과정을 아래 순서대로 하면 된다.

4.1 파이썬 3.10.10을 설치한다.

지금 사용하는 리눅스 운영체제에 파이썬 버전 3.10이 패키지에 저장되어 있지 않다.
그래서 apt를 이용한 설치가 잘되지 않기 때문에 수동으로 파이썬을 설치할 예정이다.
수동으로 설치하는 방법은 아래와 같다.

  • 우선 파이썬 3.10과 종속성이 있는 아래 패키지들을 모두 설치한다.
sudo apt install build-essential libssl-dev zlib1g-dev libncurses5-dev libncursesw5-dev libreadline-dev libsqlite3-dev libgdbm-dev libdb5.3-dev libbz2-dev libexpat1-dev liblzma-dev tk-dev libffi-dev
  • 그리고 공식 홈페이지에서 파이썬 3.10.10을 설치한다.
wget https://www.python.org/ftp/python/3.10.10/Python-3.10.10.tgz
  • 다운받은 소스 코드를 압축 해제한다.
tar xzf Python-3.10.10.tgz
  • 압축을 해제하면 Python-3.10.10 디렉토리가 생길 것이다. 해당 디렉토리로 들어간다.
cd Python-3.10.10
  • 소스코드를 빌드하고 설치한다. (여기서 시간이 꽤 걸린다)
./configure --enable-optimizations
make -j 4
sudo make altinstall
  • 이제 아래 커맨드 라인으로 확인하면 파이썬 설치가 완료되었을 것이다.
python3.10 --version

4.2 기본 파이썬을 3.10.10으로 변경한다.

이제 3.7로 되어 있었던 파이썬 버전을 3.10으로 변경할 차례이다.

  • 새로 설치한 python3.10과 기존 python3의 경로를 확인해보자
which python3.10
which python3
  • 확인한 경로가 /usr/local/bin/python3.10이기 때문에 해당 경로의 파이썬을 기본 파이썬으로 설정해주자!
    sudo update-alternatives --install {witch python3 결과} python {which python3.10 결과} {우선순위}
sudo update-alternatives --install /opt/conda/bin/python3 python3 /usr/local/bin/python3.10 0
  • 이제 파이썬 버전을 확인하면 버전이 변경된 것을 확인할 수 있다.
python --version
python3 --version

5. 깃허브에서 webui 소스 코드를 내려받는다.

이제부터는 github 리드미에서 하라는대로 하면 된다.
스테이블 디퓨전 깃허브 링크
아래는 깃허브 리드미에 적혀 있는 내용이다. 자세한 것은 위 링크를 통해 읽어보자.

  • 깃허브에서 내려받기 전에 필요한 것들을 설치하자. github 리드미를 보면 python3도 설치하라고 하는데 우리는 이미 설치가 되어 있으니 다른 것들만 설치하면 된다. (드라이브가 설치되어 있는 부팅 디스크를 선택했다면 아래 패키지들도 이미 설치되어 있을 가능성이 높다.)
sudo apt install wget git python3-venv
  • 소스코드를 내려받고 설치한다.
bash <(wget -qO- https://raw.githubusercontent.com/AUTOMATIC1111/stable-diffusion-webui/master/webui.sh)
  • 설치가 끝나면 자동으로 서버가 켜지는 것을 확인할 수 있을 것이다.
    만약 에러가 나서 실행이 안되고 끝날 수도 있다.
    그렇다면 생성된 stable-diffusion-webui에 들어가서 ./webui.sh를 실행하면 된다.

  • 대부분의 사람들은 위 쉘 스크립트를 실행하면 되는 것 같지만 나는 추가적으로 패키지들을 설치해야했다. ( 가상환경 때문인 것 같다.. 파이썬 가상환경 너무 어려움..)
    이후에 해당 패키지들이 없다는 에러메세지가 뜨면 apt를 이용해서 하나씩 설치해주면 된다.
    가끔 설치했는데도 등록이 안된다면 설치한 파이썬 패키지를 재설치해주면 된다.

./configure --enable-optimizations
make -j 4
sudo make altinstall

끝!!

끝났다. 이제 webui 설치는 완료! 이제 이 소스코드를 잘 수정해서 원하는 이미지 생성 서버를 만들어 보자!

profile
성장하는 개발자 박지희입니다.

0개의 댓글