如何在算力云上部署Stable Diffusion
算力云網址 https://www.autodl.com/home
這回真的是無任何閹割的版本了,截至4月19日,所有的webui最新版功能都能正常用
零、基礎環(huán)境
算力云環(huán)境
鏡像
Miniconda conda3
Python 3.10(ubuntu22.04)
Cuda 11.8
GPU
Tesla T4(16GB) * 1升降配置
CPU8 vCPU Intel Xeon Processor (Skylake, IBRS)
內存56GB
硬盤
系統(tǒng)盤:25 GB
數據盤:免費:50GB SSD
目前服務器是包天租的,一天19.13,包周1周124.42,包月的話,一個月463.48。試驗階段可以租按小時算的,我這個配置1小時0.83元。
一、初始準備,用戶權限的設置
1.創(chuàng)建非root管理員用戶并改主目錄為數據盤
使用以下步驟創(chuàng)建一個名為"autodl"的管理員用戶,并將其主目錄設置為/root/autodl-tmp
。
-
以具有管理員權限的用戶身份登錄。
-
打開終端窗口。
-
輸入以下命令以創(chuàng)建一個新用戶:
sudo adduser autodl ?``` 這將提示您設置新用戶的密碼和其他詳細信息。
-
更改新用戶的主目錄:
sudo usermod -d /root/autodl-tmp autodl ?```
2.刪除lock鎖
sudo rm -rf /var/lib/dpkg/lock
sudo rm -rf /var/cache/apt/archives/lock
3.更改這兩個目錄權限
sudo chmod 777 /root /root/autodl-tmp
sudo chown -R root:autodl /root /root/autodl-tmp
4.改python的用戶權限
可以按照以下步驟將其添加到autodl
用戶的環(huán)境變量中:
-
找到Python的安裝路徑。在終端中輸入以下命令來查找:
which python ?``` 這將輸出Python的路徑,例如`/root/miniconda3/bin/python`。
-
將Python的路徑添加到
autodl
用戶的環(huán)境變量中。在終端中輸入以下命令:echo 'export PATH="$PATH:/root/miniconda3/bin"' >> /home/autodl/.bash_profile ?``` 這將將Python的路徑添加到`/home/autodl/.bash_profile`文件中,該文件是`autodl-tmp`用戶的默認bash shell配置文件。
-
使新的環(huán)境變量生效。在終端中輸入以下命令:
source /home/autodl-tmp/.bash_profile ?``` 這將使新的環(huán)境變量立即生效,您現在應該可以在`autodl-tmp`用戶的終端中使用Python了。
請注意,您需要在autodl-tmp
用戶下運行source /home/autodl-tmp/.bash_profile
命令以使環(huán)境變量生效。如果您使用了不同的shell或終端,可能需要調整上述步驟以適應您的系統(tǒng)和配置。
5.打開目錄
cd /root/autodl-tmp
二、安裝
1.下載webui包
git clone http://ghproxy.com/https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
2.webui.sh
把有github網址的地方加上ghproxy,第151行
"${GIT}" clone http://ghproxy.com/https://github.com/AUTOMATIC1111/stable-diffusion-webui.git "${clone_dir}"
install路徑也改了,改成
# Install directory without trailing slash
if [[ -z "${install_dir}" ]]
then
install_dir="/root/autodl-tmp"
fi
3.launch.py
把所有git鏈接前面加上http://ghproxy.com/
def prepare_environment():
global skip_install
torch_command = os.environ.get('TORCH_COMMAND', "pip install torch==1.13.1+cu117 torchvision==0.14.1+cu117 --extra-index-url https://download.pytorch.org/whl/cu117")
requirements_file = os.environ.get('REQS_FILE', "requirements_versions.txt")
xformers_package = os.environ.get('XFORMERS_PACKAGE', 'xformers==0.0.16rc425')
gfpgan_package = os.environ.get('GFPGAN_PACKAGE', "git+http://ghproxy.com/https://github.com/TencentARC/GFPGAN.git@8d2447a2d918f8eba5a4a01463fd48e45126a379")
clip_package = os.environ.get('CLIP_PACKAGE', "git+http://ghproxy.com/https://github.com/openai/CLIP.git@d50d76daa670286dd6cacf3bcd80b5e4823fc8e1")
openclip_package = os.environ.get('OPENCLIP_PACKAGE', "git+http://ghproxy.com/https://github.com/mlfoundations/open_clip.git@bb6e834e9c70d9c27d0dc3ecedeebeaeb1ffad6b")
stable_diffusion_repo = os.environ.get('STABLE_DIFFUSION_REPO', "http://ghproxy.com/https://github.com/Stability-AI/stablediffusion.git")
taming_transformers_repo = os.environ.get('TAMING_TRANSFORMERS_REPO', "http://ghproxy.com/https://github.com/CompVis/taming-transformers.git")
k_diffusion_repo = os.environ.get('K_DIFFUSION_REPO', 'http://ghproxy.com/https://github.com/crowsonkb/k-diffusion.git')
codeformer_repo = os.environ.get('CODEFORMER_REPO', 'http://ghproxy.com/https://github.com/sczhou/CodeFormer.git')
blip_repo = os.environ.get('BLIP_REPO', 'http://ghproxy.com/https://github.com/salesforce/BLIP.git')
stable_diffusion_commit_hash = os.environ.get('STABLE_DIFFUSION_COMMIT_HASH', "cf1d67a6fd5ea1aa600c4df58e5b47da45f6bdbf")
taming_transformers_commit_hash = os.environ.get('TAMING_TRANSFORMERS_COMMIT_HASH', "24268930bf1dce879235a7fddd0b2355b84d7ea6")
k_diffusion_commit_hash = os.environ.get('K_DIFFUSION_COMMIT_HASH', "5b3af030dd83e0297272d861c19477735d0317ec")
codeformer_commit_hash = os.environ.get('CODEFORMER_COMMIT_HASH', "c5b4593074ba6214284d6acd5f1719b6c5d739af")
blip_commit_hash = os.environ.get('BLIP_COMMIT_HASH', "48211a1594f1321b00f14c9f7a5b4813144b2fb9")
到這里跑一下webui.sh
到了install gfpgan
4.GFPGAN安裝
cd /root/autodl-tmp/stable-diffusion-webui/venv/lib64/python3.10/site-packages
git clone https://github.com/TencentARC/GFPGAN.git
pip install cpython
python -m pip install basicsr facexlib
python -m pip install -r requirements.txt
5.多運行幾遍webui.sh,
因為網絡問題,這玩意有時候是個玄學。
一次往往不能完整的運行完。
多運行幾次,就可以了
四、打包,裝model模型之前打個包
先把它默認的v1-5模型刪了,再打包,那個模型比較老了,其實
tar -zcvf stable-diffusion-webui.tar.gz stable-diffusion-webui/
打好包后下載下來
這樣下次安裝比較方便
然后把自己準備好的safetensor或cpkg模型上傳到models/stable-diffusion/目錄下。
五、快速啟動設置
修改webui-user.sh
export COMMANDLINE_ARGS="--share --gradio-auth username:password"
--share
是出一個臨時公網ip,--gradio-auth username:password
是設置登錄口用戶名和密碼。
六、使用
再次開機,是在root用戶下
su autodl
source /home/autodl/.bash_profile
cd /root/auto-tmp/stable-diffusion
./webui.sh
七、安全提示
1、臨時公網ip最好不要到處說
2、自己創(chuàng)建的autodl(那個非root用戶),密碼要設成強密碼!
3、登錄口密碼,最好也不要用弱口令。
第二個尤其重要,要不然別人就能憑借ssh弱口令用你的顯卡服務器了。ssh弱口令是一個高危漏洞。
八、后續(xù)SD教程
常用插件和腳本、webui-user.sh的常用參數講解、模型種類的講解、模型從哪里找。文章來源:http://www.zghlxwxcb.cn/news/detail-454231.html
下一節(jié)教程計劃講雙語對照插件和格式轉換插件、還有補間動畫腳本。這幾個都是比較基本簡單的插件和腳本。文章來源地址http://www.zghlxwxcb.cn/news/detail-454231.html
到了這里,關于在autodl算力云上部署Stable Diffusion的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!