市面上有很多可以被用于AI繪畫的應用,例如DALL-E、Midjourney、NovelAI等,他們的大部分都依托云端服務器運行,一部分還需要支付會員費用來購買更多出圖的額度,在2022年8月,一款叫做Stable Diffusion的應用,通過演算法迭代將AI繪畫的精細度提上了一個新的臺階,并能在以秒計數的時間內完成產出,還可以在一臺有“民用級”顯卡的電腦上運行,
通過Stable Diffusion,可以繪制出各種風格的作品,比如動漫風、插畫立繪、國風水墨、3D建模,甚至是照片級的擬真影像,而借助諸如LoRa、ControlNet等衍生功能,還可以做到精準控制美術風格、角色細節、姿勢、動作、構圖等,更更重要的是,他是全面開源的,這意味著你可以在自己的電腦上部署整個程式,使用它出圖、作畫是完全免費而且不限量的!市面上大多數商業級的AI繪畫應用,都是基于SD去開發的,
盡管Stable Diffusion非常親民,但他還是有一定的配置要求的,它需要一張性能足夠強大的獨立顯卡提供算力進行繪制,實際上,“跑得動”和“玩得爽”是兩種不同的體驗,算力上的差異會極大的影響AI繪畫時的出圖效率,也正是因為此,有很多同學因為個人電腦捉急的配置而錯失了深入體驗Stable Diffusion的機會,等一下,你知道京東云嗎?京東云GPU云主機是提供GPU算力的彈性計算服務,具有超強的并行計算能力,正在深度學習、科學計算、圖形影像處理、視頻編解碼等場景廣泛使用,為您提供觸手可得的算力,有效緩解計算壓力,提升您的業務效率,并可彈性擴展,助您快速構建異構的計算應用,
在經歷了一系列的探索后,我為你總結出了一套零基礎的、非常好上手的借助京東云GPU云主機部署安裝Stable Diffusion WebUI以及相關工具和插件的保姆集教程,請查收,
一、創建GPU主機實體
1.1 創建GPU云主機
京東云GPU云主機的標準型的配置包含Tesla P40 24G顯卡、12核48G,跑Stable Diffusion體驗非常好,配置推薦如下:
| 配置 | 推薦 | 說明 |
|---|---|---|
| 系統 | Ubuntu 20.04 64位 | |
| 規格 | GPU 標準型 p.n - p.n1p40.3xlarge | 12核 48G Nvidia Tesla P40 24G顯存 |
| 系統盤 | 100G | 系統盤建議100G |
| 帶寬 | 5M | 建議5M |
1.2 創建安全組并系結
首先在左側選單【安全組】創建一個安全組,在【入站規則】和【出站規則】中分別添加并開放7860、7861、8080、8888埠,其中
然后在實體詳情中,點擊【安全組】-【系結安全組】系結剛剛創建的安全組,
二、環境安裝
2.1 安裝GPU驅動
在英偉達官網根據顯卡型號、作業系統、CUDA等查詢驅動版本,官網查詢鏈接https://www.nvidia.com/Download/index.aspx?lang=en-us
注意這里的CUDA版本,如未安裝CUDA可以先選擇一個版本,稍后再安裝CUDA.
點擊Search
如上圖,查詢到合適的版本為510. 然后可以使用apt安裝對應驅動版本,使用apt安裝更方便一些,
# 安裝510版本驅動
apt install nvidia-driver-510
# 查看驅動資訊
nvidia-smi
如安裝成功,則可以展示如下提示資訊,
2.2 安裝CUDA
訪問英偉達開發者網站先選擇CUDA版本(版本要對應2.1中GPU驅動支持的CUDA版本),再根據作業系統選擇對應CUDA安裝命令,訪問鏈接https://developer.nvidia.com/cuda-toolkit-archive
如上面安裝確定所選擇驅動對應的CUDA版本為11.6,根據安裝命令安裝, 以下命令適用Ubuntu 20.04 x86_64, GPU驅動510版本
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.6.2/local_installers/cuda-repo-ubuntu2004-11-6-local_11.6.2-510.47.03-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2004-11-6-local_11.6.2-510.47.03-1_amd64.deb
sudo apt-key add /var/cuda-repo-ubuntu2004-11-6-local/7fa2af80.pub
sudo apt-get update
sudo apt-get -y install cuda
2.3 安裝Python 3.10
Stable Diffusion WebUI目前最低支持Python 3.10,所以直接安裝3.10版本,安裝命令:
apt install software-properties-common
add-apt-repository ppa:deadsnakes/ppa
apt update
apt install python3.10
python3.10 --verison
PIP設定國內源,由于默認源在國外,所以安裝可能經常會出現timeout等問題,使用國內源可以很大程度避免下載包timeout的情況,將如下內容復制到檔案~/.pip/pip.conf當中,如沒有該檔案,先創建touch ~/.pip/pip.conf,
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host = https://pypi.tuna.tsinghua.edu.cn
2.4 安裝Anaconda
非常推薦使用Anaconda,Anaconda可以便捷獲取包且對包能夠進行管理,同時對Python環境可以統一管理的發行版本,安裝命令也很簡單:
wget https://repo.anaconda.com/archive/Anaconda3-2023.03-1-Linux-x86_64.sh
bash ./Anaconda3-2023.03-1-Linux-x86_64.sh
創建Python3.10.9環境,并使用該環境
conda create -n python3.10.9 python==3.10.9
conda activate python3.10.9
2.5 安裝PyTorch
首先在PyTorch官網查詢對應CUDA版本的Torch,如上述章節2.2中CUDA 11.6需要安裝pytorch1.13.1
# 使用conda安裝,兩種安裝方式二選一
conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.6 -c pytorch -c nvidia
# 使用pip安裝,兩種安裝方式二選一
pip install torch==1.13.1+cu116 torchvision==0.14.1+cu116 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu116
三、部署Stable Diffusion WebUI
3.1 下載stable-diffusion-webui
注意首先激活Python3.10環境:
conda activate python3.10.9
然后下載stable-diffusion-webui
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
3.2 安裝依賴
cd到stable-diffusion-webui目錄安裝相應的依賴,如有訪問網路超時、失敗等,注意按照章節2.3中設定國內源,如果再次失敗,重試幾次一般都可完成安裝,
cd stable-diffusion-webui
pip install -r requirements_versions.txt
pip install -r requirements.txt
3.3 啟動stable-diffusion-webui
安裝完成后,執行如下啟動命令:
python launch.py --listen --enable-insecure-extension-access
這一步驟會下載一些常用模型,如果遇到下載失敗,根據報錯提示在huggingface.co下載模型放到對應目錄,如下載stable-diffusion-v1-5模型,搜索找到https://huggingface.co/runwayml/stable-diffusion-v1-5/tree/main
點擊圖中下載按鈕,下載v1-5-pruned-emaonly.safetensors到stable-diffusion-webui/models/Stable-diffusion目錄,其他模型同理,
模型下載完成,再次執行啟動命令,提示已啟動到7860埠,則可以通過IP+7860埠訪問:
公網建議設定訪問密碼,注意替換下面命令當中的username:password為用戶名、密碼,
python launch.py --listen --enable-insecure-extension-access --gradio-auth username:password
上述命令非后臺運行,如需后臺運行可以使用nohup、tmux等方法實作,
3.4 使用stable-diffusions生成圖片
下載一個模型到/stable-diffusion-webui/models/Stable-diffusion目錄,模型可以在https://civitai.com/查找,如下圖所用majicMIX realistic模型,下載完成后點擊左上角重繪按鈕,然后選擇剛下載的模型,輸入Promot和引數即可生成圖片,
附上圖所用Promot和引數
Prompt
1 girl a 24 y o woman, blonde, dark theme, soothing tones, muted colors, high contrast, look at at viewer, contrasty , vibrant , intense, stunning, captured in the late afternoon sunlight, using a Canon EOS R6 and a 16-35mm to capture every detail and angle, with emphasis on the lighting and shadows, late afternoon sunlight, 8K
Negative prompt
(deformed, distorted, disfigured, doll:1.3), poorly drawn, bad anatomy, wrong anatomy, extra limb, missing limb, floating limbs, (mutated hands and fingers:1.4), disconnected limbs, mutation, mutated, ugly, disgusting, blurry, amputation, 3d, illustration, cartoon, flat , dull , soft, (deformed, distorted, disfigured:1.3), poorly drawn, bad anatomy, wrong anatomy, extra limb, missing limb, floating limbs,
其他引數
四、常用相關工具與插件
4.1 安裝LoRa插件Additional Networks
使用Lora必不可少的插件,Additional Networks可以用來控制checkpoint+LoRa或者多個LoRa模型生成混合風格的影像,并且可以設定Lora模型的Weight,安裝方式如下:
打開stable-diffusion-webui,點擊【Extensions】- 【Install from URL】輸入https://ghproxy.com/https://github.com/kohya-ss/sd-webui-additional-networks.git
然后點擊【Install】等待安裝,直到在【Installed】中顯示,然后直接用命令重啟stable-diffusion-webui(不是reload webui),強烈推薦所有插件安裝完成都命令重啟stable-diffusion-webui,可以免去很多麻煩,
最后點擊【Setting】-【Additional Networks】輸入LoRa檔案夾的絕對路徑,如/root/stable-diffusion-webui/models/Lora(示例,請填寫你的系統路徑),然后【Reload UI】等待重啟完成,
然后可以在【txt2img】或【img2img】中選擇Lora模型并設定權重使用,
4.2 安裝ControlNet
作為Stable Diffusion必裝插件,ControlNet 允許用戶對生成的影像進行精細的控制,以獲得更好的視覺效果,ControlNet讓AI繪畫的可控性有了質的突變,讓AGIC真正的可以投入生產使用,
打開stable-diffusion-webui,點擊【Extensions】- 【Install from URL】輸入https://ghproxy.com/https://github.com/Mikubill/sd-webui-controlnet.git
然后點擊【Install】等待安裝,直到在【Installed】中顯示,然后直接用命令重啟stable-diffusion-webui(不是reload webui),
由于controlNet會使用很多模型,所以在重啟的時候會默認下載,如果下載失敗或超時,需要手動下載到controlnet目錄,
訪問huggingface.co找到controlnet的地址:https://huggingface.co/lllyasviel/ControlNet-v1-1/tree/main
手動下載上面模型檔案到stable-diffusion-webui/extensions/sd-webui-controlnet/models目錄,查看已下載controlnet模型:
下載完成,重啟stable-diffusion-webui即可在【txt2img】或【img2img】使用,
4.3 Jupyter Notebook
Jupyter Notebook是一個基于網頁的互動環境,可以用來編輯、運行Python代碼,可視化看到運行結果,同時提供了基礎的檔案樹操作功能等,
如已在章節2.4中安裝了Anaconda,直接使用以下命令運行notebook
jupyter notebook --allow-root --NotebookApp.token='設定你的token'
訪問IP+8888埠,可以開始使用notebook
4.4 模型訓練工具Kohya_ss
Kohya_ss是公認推薦訓練Stable Diffusion模型的可視化工具,尤其在windows平臺支持比較好,經過嘗試在linux直接使用會遇到各種環境原因的問題,為了避免這些問題,十分推薦使用docker安裝,
先按照docker官方檔案安裝好docker,Ubuntu安裝docker檔案:https://docs.docker.com/engine/install/ubuntu/
由于在docker容器中需要使用GPU資源,所以還需要先安裝NVIDIA Container Toolkit
sudo apt-get update \
&& sudo apt-get install -y nvidia-container-toolkit-base
# 查看是否安裝成功
nvidia-ctk --version
然后下載kohya_ss:
git clone https://github.com/bmaltais/kohya_ss.git
如下圖,修改kohya_ss/docker-compose.yaml檔案埠為0.0.0.0:7861:7860(將kohya_ss的7860埠映射到宿主機的7861埠,因為7860會被Stable Diffusion WebUI占用),
啟動引數設定為"--username xxxx --password xxxx --headless",注意替換xxxx為需要設定的賬號密碼
然后執行
docker compose build # 首次執行需要build
docker compose run --service-ports kohya-ss-gui
程序中會從huggingface.co下載模型檔案,如果下載失敗,可以嘗試手動下載到目錄kohya_ss/.cache/user/huggingface/hub/models--openai--clip-vit-large-patch14/snapshots/8d052a0f05efbaefbc9e8786ba291cfdf93e5bff,最后的hash值注意改成對應的版本,
下載地址https://huggingface.co/openai/clip-vit-large-patch14/tree/main,注意下載全部檔案
下載完成,然后訪問埠+7861埠,可以開始使用Kohya_ss訓練模型了,
五、總結
安裝完Stable Diffusion及上面的推薦插件,你的Stable Diffuion已經具備強大的生產力,后續我會繼續同大家一起探索和分享更多的使用經驗,敬請期待系列文章下一集,
現在購買京東云GPU云主機新人即享99元7天的一折體驗價(合0.59元/小時),即刻開啟煉丹之旅,
作者:京東科技 王雷
來源:京東云開發者社區
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/556784.html
標籤:其他
上一篇:以科技創新驅動高質量發展,天翼云作業系統獲國資委權威認證!
下一篇:返回列表
