前言#
最近AI很火,先是AI画图,然后就ChatGPT,后者我已经用了一段时间了,用来写作文挺不错的,但OpenAI屏蔽了中国IP,加上用户太多啥的,用起来没那么爽,但没办法全球只此一家,只能捏着鼻子用。而AI画图就不一样了,全是开源的,自己部署一下可以玩个爽~
正好我们这有台2080Ti的工作站,之前用来训练模型的,现在部署个画图应该轻轻松松,于是就开始了折腾之路~
效果#
先看看我生成出来的一些图片 终于要开始搞了 先把代码 clone 下来 build step 1: 下载模型,需要十几个G的模型 (只要网络通畅,一次搞定没问题的) build step 2: 运行本体 这里是选择一套 UI 来启动,这个 直接 驱动、网络没问题的话,等它构建完可以看到类似的信息 然后浏览器打开 输入 prompt 就可以画图了,这里我用了一个风光图的模型,画一幅风景画 如果跑不起来也没事,可以看看后面的「疑难解答」部分。 刚开始肯定一脸懵逼,咋画不出高大上的效果啊? prompt 模型 首先,得学会使用 prompt,也就是生成图片的描述,Stable Diffusion 通过英文文字内容来描述场景或物体,以此来决定生成的图像中会出现什么。文字描述是决定图像生成质量的关键因素。具体如何写 prompt 不在本文讨论范围,请自行搜索相关文章,网上很多。 模型是个统称,其中包含了Checkpoints、LORA、Texture之类的,不细说了,按照模型网站上的教程安装使用就行。 这几个网站可以按提示组合生成 prompt: 这几个网站有很多人分享的成品图和描述文案: 然后模型的话,可以去这几个网站下载: 修改 将第一行 改为 然后加上 网络问题,虽然前面已经配置好了 docker 的代理,但 build 过程中不会走配置好的代理,需要添加 build args 再配置一次。 在 docker compose 配置中添加 build args 配置代理服务器。 参考文档: https://docs.docker.com/compose/compose-file/compose-file-v3/ 修改 改为 报错信息 需要安装 NVIDIA Container Toolkit 注意这个东西要求 cuda 版本 11.6 以上,如果没有请先更新 cuda 版本。 注意如果是使用 LinuxMint 之类的 Ubuntu 衍生版,请手动指定 项目地址 – https://github.com/AbdBarho/stable-diffusion-webui-docker 基础入门博客 – https://newzone.top/posts/2022-09-05-stable_diffusion_ai_painting.html 推荐本站淘宝优惠价购买喜欢的宝贝: 本文链接:https://sg.hqyman.cn/post/6262.html 非本站原创文章欢迎转载,原创文章需保留本站地址! 休息一下~~ ◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。 您的IP地址是:效果#
汉服 COSER CUDA版本是12,完美~
搭建步骤#
git clone https://github.com/AbdBarho/stable-diffusion-webui-docker.git
cd stable-diffusion-webui-dockerdocker compose --profile download up --build
auto
就是 UI 的名称,除了这个,还有 auto-cpu
(没显卡用的)、 invoke
、sygil
这几个,我试了之后还是 auto
最好,功能最多。invoke
的界面比较简洁,似乎速度也比较快,但很多模型和LORA之类的都没法用了~auto
吧,不要纠结docker compose --profile auto up --build
stable-diffusion-webui-docker-auto-1 | Creating model from config: /stable-diffusion-webui/configs/v1-inference.yamlstable-diffusion-webui-docker-auto-1 | LatentDiffusion: Running in eps-prediction modestable-diffusion-webui-docker-auto-1 | DiffusionWrapper has 859.52 M params.stable-diffusion-webui-docker-auto-1 | Applying xformers cross attention optimization.stable-diffusion-webui-docker-auto-1 | Textual inversion embeddings loaded(1): pureerosface_v1stable-diffusion-webui-docker-auto-1 | Model loaded in 41.4s (calculate hash: 38.2s, load weights from disk: 1.6s, create model: 0.3s, apply weights to model: 0.3s, apply half(): 0.2s, load VAE: 0.8s).stable-diffusion-webui-docker-auto-1 | Running on local URL: http://0.0.0.0:7860
http://ip:7860
就可以看到这个界面如何使用#
疑难解答#
failed to solve: rpc error:#
报错信息#
failed to solve: rpc error: code = Unknown desc = failed to solve with frontend dockerfile.v0: failed to solve with frontend gateway.v0: rpc error: code = Unknown desc = dockerfile parse error on line 8: unknown instruction: cat (did you mean cmd?)
解决方案#
stable-diffusion-webui-docker/services/AUTOMATIC1111/Dockerfile
# syntax=docker/dockerfile:1
# syntax=docker/dockerfile:1.3-labs
DOCKER_BUILDKIT=1
参数进行 buildDOCKER_BUILDKIT=1 docker compose --profile auto up --build
pip依赖安装失败#
docker-compose.yml
文件auto: &automatic <<: *base_service profiles: ["auto"] build: ./services/AUTOMATIC1111 image: sd-auto:49 environment: - CLI_ARGS=--allow-code --medvram --xformers --enable-insecure-extension-access --api
auto: &automatic <<: *base_service profiles: ["auto"] build: context: ./services/AUTOMATIC1111 args: - HTTP_PROXY=http://host:port/ - HTTPS_PROXY=http://host:port/ image: sd-auto:49 environment: - CLI_ARGS=--allow-code --medvram --xformers --enable-insecure-extension-access --api
显卡驱动问题#
Error response from daemon: could not select device driver "nvidia" with capabilities: [[gpu]]
添加软件源#
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \ && curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \ && curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \ sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \ sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
distribution
环境变量为对应的 Ubuntu 发行版,比如我现在用的 Mint 21 相当于 Ubuntu 22.04,所以需要设置 distribution=ubuntu22.04
安装#
sudo apt install -y nvidia-container-toolkit
配置#
sudo nvidia-ctk runtime configure --runtime=docker
重启 docker daemon#
sudo systemctl restart docker
参考资料#
发表评论: