반응형

 

목차

 

 

※ 2025-01-09 기준으로, 추후 세팅 방법은 변경될 수 있음

 

가상머신 준비

1. 리소스 생성()을 위한 리소스 그룹 생성

  • 홈화면에서 리소스 그룹 클릭

 

  • 구분 가능한 리소스 그룹명과 사용할 영역(리전) 선택 후 생성

 

2. 머신러닝 관련 리소스 생성을 위한 작업 영역 및 가상머신 생성

  • 리소스 그룹에서 만들기 버튼 클릭

 

  • 'Azure 서비스만' 체크 및 'machine learning' 검색 후 'Azure Machine Learning' 만들기 클릭

  • 작업 영역 이름 작성 후 '검토+만들기' 클릭
    - 리소스 그룹과 지역은 상위 리소스 그룹과 연결되어 자동 입력됨
    - 스토리지 계정, 키 자격, Application insights는 자동으로 신규 생성되지만 필요할 경우 기존 선택 가능

  • 작업 영역 배포 완료 후 '리소스로 이동' 클릭

  • Studio web URL 클릭하여 스튜디오로 이동

  • 관리>컴퓨팅으로 이동 후 '새로만들기' 클릭

 

 

  • 가상머신 이름 및 크기 선택 후 생성 진행
    - 일정 시간 유휴 시 자동 종료 설정 가능(디폴트 60분, ssh 포트 50000)
    - 기본적으로 python 및 conda 설치되어있음

 

Stable-Diffusion 세팅

1. git에서 Stable Diffusion Webui Forge 다운로드 (편하게 유저 폴더에 다운로드 ㅎㅎ)

$ git clone https://github.com/lllyasviel/stable-diffusion-webui-forge.git

 

2. stable-diffusion-webui-forge 디렉토리로 접근

$ cd ~/stable-diffusion-webui-forge

 

3. conda 가상환경 설정 만들기
 - 현재(2025-01-09 기준) stable-diffusion이 가장 잘 동작하는 python 3.10으로 설정

$ conda create -n webui-forge python=3.10

 

4. conda 가상환경 활성화

$ conda activate webui-forge

 

5. Stable-diffusion 모델(체크포인트) 다운로드 받을 폴더로 이동

$ cd ~/stable-diffusion-webui-forge/models/Stable-diffusion

 

6. 각종 모델 다운로드

$ curl -H "Authorization: Bearer [허깅페이스 토큰]" https://huggingface.co/runwayml/stablediffusion-v1-5/resolve/main/v1-5-pruned-emaonly.ckpt --location --output v1-5-pruned-emaonly.ckpt
$ curl -H "Authorization: Bearer [허깅페이스 토큰]" https://huggingface.co/lllyasviel/flux1_dev/resolve/main/flux1-dev-fp8.safetensors --location --output flux1-dev-fp8.safetensors

 

7. VAE 다운로드 받을 폴더로 이동
 - VAE : 이미지 생성 시 보완해주는 역할

$ cd ~/stable-diffusion-webui-forge/models/VAE

 

8. VAE 다운로드

$ curl -H "Authorization: Bearer [허깅페이스 토큰]" https://huggingface.co/black-forest-labs/FLUX.1-dev/resolve/main/ae.safetensors --location --output ae.safetensors

 

9. Text Encoder 받을 폴더로 이동

 - text encoder : stable diffusion이 단어 단위의 처리가 아닌 자연어 처리를 위해 문장 분석을 도와주는 역할

$ cd ~/stable-diffusion-webui-forge/models/text_encoder

 

10. Text Encoder 다운로드

$ curl -H "Authorization: Bearer [허깅페이스 토큰]" https://huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/clip_l.safetensors --location --output clip_l.safetensors

 

11. apt 업데이트 및 Civit.ai 플러그인 다운로드

$ sudo apt-get update
$ sudo apt-get install libgoogle-perftools-dev
$ pip install civitdl
$ sudo apt-get install lynx w3m links

 

12. sd-webui 설치
 - 설치 후 ESC 및 ctrl+c 를 통해 다시 나온다. (필요 패키지 등만 설치)

$ cd ~/stable-diffusion-webui-forge/
$ ./webui.sh

 

13. civit.ai(https://civitai.com/)에서 통해 원하는 모델 검색
 - 해당 사이트를 통해 여러가지 체크포인트와 Lora 등을 다운로드 가능
 - HuggingFace(https://huggingface.co/)에서도 검색 및 다운로드 가능(다운로드는 상위 다운로드 방법과 동일)

 

14. 다운로드 받을 폴더로 이동(Lora를 받을 예정이라 Lora폴더로 이동)

 - Lora 등의 경우 별도 폴더를 생성하여 활용 필요(기본적으로 폴더 미생성)

$ cd ~/stable-diffusion-webui-forge/models/
$ mkdir Lora
$ cd cd ~/stable-diffusion-webui-forge/models/Lora

 

15. 모델 다운로드

$ civitdl [모델 ID] [다운로드받을 경로] -k [본인의 Civit.ai API Key]
ex) civitdl 128657 . -k 254s7cf02153f6e501570144n438d7fd

 

※ civit.ai 및 huggin face api 키 발급 방법(키값은 생성할때 한번만 보여주므로, 메모장 등 저장을 통해 별도 보관 필요)

  • civit.ai
     - 본인의 프로필 클릭 후 하단 톱니바퀴(설정) 클릭 > 하단의 API Keys 부분에서 'Add API key' 클릭

  • Hugging Face
    - 페이지 우측 상단 본인의 프로필 클릭 후 'Access Token' 클릭 > 'Create new token' 버튼 클릭

 

16. webui 실행

 - --gradio-auth 부분은 웹페이지 접근 시 로그인 하는 설정으로, 해당 옵션 없이 실행하면 로그인 없이 접속 가능

 - 해당 id와 pw는 실행 중에만 사용하므로, 실행 중지 및 재실행 시 마다 사라짐 혹은 재설정 가능

 - 실행 시 Public URL을 통해 webui 접속 가능

$ cd ~/stable-diffusion-webui-forge/
$ ./webui.sh --share --enable-insecure-extension-access --gradio-auth id:pw

 

 

 

 

결과물 다운로드

cmd에서 scp 명령어로 다운로드

$ scp -i [경로\공용키.pem] -P 50000 [가상머신 os 유저 id]@[가상머신 ip]:[가상머신 내 다운로드 받을 파일경로] [본인 pc에 다운로드 받을 경로]
ex) scp -i C:/Users/abc/Downloads/pemkey/vm-key.pem -P 50000 azureuser@1.1.1.1:/home/azureuser/stable-diffusion-webui-forge/output.zip .

 

 

나의 출력물 😊

 

 

 

 

 

 

 

 

반응형

+ Recent posts