赞
踩
由于本地环境的原因,Aloereed的自动脚本总是执行不成功,懒得调了,所以参照网上大佬们的博客自己走了一遍流程
自动脚本的教程网上有不少,这里贴一篇我搜到的:stable diffusion本地部署教程
总的来说,就是在win11上安装显卡驱动,在docker里拉取intel官方配置好环境的镜像,然后把绘图模型拉下来,最后部署推理模型。部署jupyter是为了调测自己的代码。使用wsl是因为docker是之前安装好的,其实不需要wsl也可以
#在cmd/powershell中查看wsl版本
wsl -l -v
mkdir c:\data
cd c:\data
#安装lfs,先拉取代码,后面再拉取大文件
git lfs install --skip-smudge
#从git上拉取
git clone https://huggingface.co/runwayml/stable-diffusion-v1-5
#git配置socket代理地址
git config --global http.https://github.com.proxy socks5://127.0.0.1:7890
#拉取大文件
git lfs pull
#重试
git lfs install --force
Arc独显用户理论上应该使用gpu这个镜像,但也可以试试latest。镜像中已经包含了OneAPI Toolkit等环境依赖,比较方便。
docker run -it --device /dev/dxg -v /usr/lib/wsl:/usr/lib/wsl -v c:\info:/info -v g:\data:/data -p 9999:9999 -p 9922:22 intel/intel-extension-for-pytorch:gpu
#备份apt源配置文件
cp /etc/apt/sources.list /etc/apt/sources.list.bak
换源:
sources.list :
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
sources.list.d/deadsnakes-ubuntu-ppa-jammy.list :
deb https://launchpad.proxy.ustclug.org/deadsnakes/ppa/ubuntu/ jammy main
安装sshd服务:
apt update
apt-get install openssh-server
#确认sshserver是否启动了
ps -e |grep ssh
如果没有启动,手动启动
/etc/init.d/ssh start
修改配置文件 /etc/ssh/sshd_config
#PermitRootLogin prohibit-password
改为:
PermitRootLogin yes
重启sshd服务
service ssh restart
初始化root用户密码
passwd root
安装编辑器(习惯用nano)
apt install nano
配置自动启动sshd
nano ~/.bashrc
#在最后一行添加
service ssh start
ssh连接配置:
url: 127.0.0.1
port: 9922
userName: root
passWord: root
python -c "import torch;import intel_extension_for_pytorch as ipex;print(ipex.xpu.get_device_name(0))"
生成配置文件,使用脚本自动启动:
cd c:/data pip install -q jupyter # 生成配置文件,使用脚本自动启动 jupyter notebook --generate-config --allow-root 配置文件生成在 ~/.jupyter/jupyter_notebook_config.py 生成用于登录的密码 jupyter notebook password 密码:root 编辑启动脚本: nano startjupyter.sh chmod u+x startjupyter.sh 文件内容: #!/bin/bash jupyter notebook --allow-root --ip 0.0.0.0 --port 9999 & 配置自动启动: nano ~/.bashrc #在最后一行添加 service ssh start
pip install -q diffusers transformers accelerate
简单的样例代码:
import intel_extension_for_pytorch as ipex import torch from diffusers import StableDiffusionPipeline # check Intel GPU print(ipex.xpu.get_device_name(0)) # load the Stable Diffusion model pipe = StableDiffusionPipeline.from_pretrained("./stable-diffusion-v1-5", revision="fp16", torch_dtype=torch.float16) # move the model to Intel Arc GPU pipe = pipe.to("xpu") # model is ready for submitting queries pipe("an astronaut riding a horse on mars").images[0] # run another query pipe("cat sitting on a park bench").images[0]
可以参考以下网站:
https://github.com/Aloereed/stable-diffusion-webui-ipex-arc
https://huggingface.co/runwayml/stable-diffusion-v1-5/tree/main
https://blog.csdn.net/coroutines/article/details/109325210
https://ericclose.github.io/git-proxy-config.html
http://kerwenzhang.github.io/git/2020/04/14/Git-LFS-issue/
https://blog.csdn.net/qq_41699621/article/details/103064684
https://blog.csdn.net/winter2121/article/details/119892416
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。