基于趋动云部署秋葉aaaki的Stable Diffusion整合包v4--linux版

这篇具有很好参考价值的文章主要介绍了基于趋动云部署秋葉aaaki的Stable Diffusion整合包v4--linux版。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

B站大V秋葉aaaki的Stable Diffusion整合V4版发布了,集成度比较高,在windows下解压缩直接就可以使用,整合的非常好。但是笔人没有RTX4090这样级别的显卡,又希望有个高速运行的效果。

所以索性到云GPU主机上来用秋叶aaaki的Stable Diffusion webui,一番研究后,在趋动云部署成功。运行良好,速度飞快。

特此分享。

一、安装包分析

秋叶aaaki的Stable Diffusion安装包下载下来后,目测主要进行了python环境的集成,以及windows下的git工具集成。这样再加上一个windows的启动器程序,就可以很好的控制环境变量的加载和一些安装包扩展组件的安装、升级等。

但是启动器在linux下是不能运行的,所以本文主要是把秋叶的V4版整合包,拿来主义的方式,在云端部署起来用起来。整体过程还算顺利。

为了减小上传云端的文件量首先要改版一下,秋叶的安装包,把里面的py310文件夹和git文件夹删掉,因为这些通常在云平台得用云平台环境的python环境和git环境。并且这2个主要是支持windows下作业的环境,上云之后都是linux,就没必要了。

基于趋动云部署秋葉aaaki的Stable Diffusion整合包v4--linux版

 干掉之后。压缩包从9.44G降到6.58G。这样就比较轻巧了!

二、思路

我们主要是希望在云平台直接使用秋叶集成好的Stable Diffusion WebUI ,并且主要是垂涎pyTorch2.0更高的性能,和秋叶用心对webui的集成成果。所以核心并不是将启动器移植到linux。而是将webui在趋动云的linux平台跑起来。

那么就要选择合适的云平台镜像,进行改造之后,操作起来就方便了!

但是和大多数AI GPU云平台一样,趋动云的GPU主机都是docker镜像的,docker镜像的开发环境都是基于python来运行jupyter来支撑在线多用户的隔离开发。而sd-webui要基于python3.10+pyTorch2.0的环境来跑,这与大多数云平台提供的python3.8/3.9存在冲突,很多奋战在一线的AIGC战友估计都有自己试过,但python的改变,往往会导致保存之后,镜像再也无法启动等问题。

所以最关键的问题就是,以官方最接近的镜像为基础,要进行miniconda的整合,并且要确保整合后形成一个带visual env条件的python环境,这样我们就可以在官方3.8或者3.9的python环境中,起一个3.10的python环境。还互不影响。

三、官方镜像分析&基础镜像制作

目标确定后,我们开始研究官方镜像。目前趋动云只有一版PyTorch2.0的官方镜像,之所以要选这个,是因为我们是要跑torch to GPU的,而如果官方没有提供一个整合好CUDA和显卡驱动的基础镜像的话,由于云硬件的未知性,想要从显卡驱动+CUDA开始往上一路做到miniconda的基础镜像,是不具备信息条件的。所以只能借力发力。

经过分析,最关键是miniconda安装完成后的最后一步,会向/root/.bashrc写入conda的init环境信息,以确保镜像启动后,进入命令行就进入conda的env环境体系。但是就是这个,会破坏趋动云官方的镜像的启动机制,导致镜像保存后就无法再启动。

so,怎么办呢?

办法就是,安装完成之后,把.bashrc里最后miniconda增加的部分,剪切出来,保存到code路径下,以后每次手动运行。避开保存环节,不破坏镜像。

conda在bashrc的末尾就增加了这段儿,一定要删掉,或者剪切掉。保存到自己的code区,随便一个文本文件。注意“/usr/miniconda3”这个路径,是安装miniconda时指定的,根据你得安装路径的不同。可能会不同。

# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/usr/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/usr/miniconda3/etc/profile.d/conda.sh" ]; then
        . "/usr/miniconda3/etc/profile.d/conda.sh"
    else
        export PATH="/usr/miniconda3/bin:$PATH"
    fi
fi
unset __conda_setup
# <<< conda initialize <<<

为了方便后续的人使用(毕竟,每个人基于官方镜像,装个miniconda再,修改一下,保存个新镜像,除了浪费时间、浪费存储,没啥作用。)所以我做好镜像后,已开放了该镜像,在镜像开放区去搜就可以找到。

基于趋动云部署秋葉aaaki的Stable Diffusion整合包v4--linux版

懒得自己制作基础镜像的,直接用这个镜像启动项目即可。

四、linux集成迁移

1、迁移思路

首先Stable Diffusion Webui是个web用户应用,秋叶aaaki已近把它该集成的都集成了,这东西本来就是运行在linux要比windows方便的,这一点要注意。我们下面做的所有操作,都是为了在趋动云这个平台的限制条件下把它启动起来。

趋动云的AI GPU环境。一般最关键的就是这3个路径:

/gemini/code   代码区,可读、可写、但是速度比较慢

/gemini/data-1  数据区,通过官方的web页面和传输通道可以往里写数据,但是一旦到运行环境里,就不可写,只能度,但是就使用感觉,读取速度是比code区要快的。

/gemini/data-2 数据区,同上。

基于这个特点,我们的迁移方案就是,要将整个sd-webui的cache缓冲区、python环境区都重定向到code区域。虽然慢一点,但是比如通过webui操作安装的更改,hugging face临时需要自动下载的模型,都可以顺利被保存。如果放在容器的其它路径,或者放在基础镜像里,容器一旦重启就会丢失改动,我想没有人愿意反复的安装里面的各种包和模型吧!

2、具体过程:

首先,通过百度网盘下载我们清理过的安装包sd-webui-aki-v4-linux.zip等文件,创建一个自有数据集,把里面的文件全部传上去。【文后提供百度下载链接】,并将数据集挂载在开发环境。

然后,我们通过Pytorch2.0_ miniconda3这个新做的基础镜像为镜像,启动工作环境。

第三步:把sd-webui-aki-v4-linux.zip解压缩到/gemini/code/sd-webui-aki-v4这个路径。

unzip /gemini/data-1/sd-webui-aki-v4-linux.zip -d /gemini/code >log.txt 

保证形成如图这样的路径结构:

基于趋动云部署秋葉aaaki的Stable Diffusion整合包v4--linux版

第四步,把env.tar.gz,解压缩到/gemini/code/env这个路径

tar -zxf env.tar.gz -C /gemini/code/env

解压后形成这个样子。

基于趋动云部署秋葉aaaki的Stable Diffusion整合包v4--linux版

至此,部署的99%的工作都完成了。只需要写个start.sh脚本,就可以把秋叶的V4版在趋动云启动起来了。需要的文件都齐了。

3、env环境的构建说明(写给那些想举一反三,奋进进取的队友,那些只想直接用的人可以避开这段,技术细节太多,新手估计要补1年课才能理解)

这里说个题外话:

这个env路径下,其实是最费时的。这整个路径里的.cache和sd-webui cnoda的python环境,都是一点点安装出来的。耗时大概有4个多小时(使用了国内镜像加速配置的)。

过程也可以说一下,满足一下看文的人的好奇,但是不建议自己再做了,执行的太慢了。

#背景:
##miniconda已集成进了基础镜像,并且不影响基础镜像启动的情况下,miniconda在指定路径的方式下,手动运行正常。
##miniconda对bashrc增加的内容已剪切至名字叫condainit的一个文本文件里。
##秋叶的sd-web文件已在code指定路径解压完成。

#在code路径下创建env路径
mkdir /gemini/code/env

#进入env路径开始环境构建
cd /gemini/code/env
mv ../condainit ../

## 初始化conda环境,注意如果你构建env的过程中,是分好几天进行的。每次进来都要手动运行这个来初始化环境 
source /gemini/code/env/condainit

# 迁移并映射/root/.cache等环境路径,映射到code路径,这样即使退出,相关的改动也会被保存,不会丢
# 注意这里.gitconfig,.config 有加速镜像配置,可以从tar包里得到。
export PATH="/root/.local/bin:$PATH"


rm -rf /root/.cache /root/.local 
ln -s /gemini/code/env/.gitconfig /root/.gitconfig
ln -s /gemini/code/env/.cache /root/.cache
ln -s /gemini/code/env/.config /root/.config
ln -s /gemini/code/env/.local /root/.local

## 创建conda虚拟环境,给秋叶V4版用的python3.10.11 +PyTorch2.0.0的环境。也就是之后大家在env.tar.gz里见到的那个sd-webui文件夹。注意这里创建环境是指定的路径的方式,所以是不需要指定name的,也不能以name方式active。

conda create python=3.10.11 pytorch=2.0  -p /gemini/code/env/sd-webui

#经过漫长、漫长的等待终于各种该安装的都装完了。sd-webui的基础环境算是ok了。
#激活环境,注意之后的所有操作,都要在激活sd-webui这个python环境的前提下操作。
#聪明的朋友估计已近发现了。如果自己断断续续的搞。那么这里就是个存盘点。每次进入环境,第一步先
#source condainit 进入到conda的base环境,然后再激活sd-webui环境,这两步,只要是你想手动对环境做什么变动,就必须要先操作。确保每次自己pip install也好,conda install也好,都是在sd-webui的虚拟环境启动的情况下来操作。迁移并映射确保能利用cache。
conda activate /gemini/code/env/sd-webui

#开始安装Stable Diffusion webui相关的python依赖,这个时间巨长务必,下载N个G的文件。记住有先后顺序!请依次安装
pip install  -r  requirements_version.txt
pip install  -r  requirements.txt 

最后一个requirements.txt 安装完。恭喜你,全部的需要安装的过程就完事了。
只差最后一步,写个,每次进入环境后,需要执行的start.sh


可以看到步骤不多,但是过程巨慢,很费时间。不想自己搞的,就直接解压我的env包,到指定路径。上面的env环境的构建步骤就都省了。

4、start.sh

最重要最好的放在最后。start.sh内容:

#!/bin/bash

#初始化conda环境
source /gemini/code/env/condainit
#激活sd-webui的python环境
conda activate /gemini/code/env/sd-webui

#gnu Lib的路径环境变量要声明一下,不然有些so找不到的问题
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu

#这个就和env构建过程一样,把容器的/root下的缓存、配置文件等路径全都映射到code来!这样退出不保存镜像,改动也不会丢
export PATH="/root/.local/bin:$PATH"

cache_path="/root/.cache"

#比env构建时复杂了点点,主要是防止start.sh反复执行的时候,把code里的文件、文件夹给删了
if [ -L $cache_path ]
then
       echo "$cache_path is a symlink,"
       rm $cache_path
else
       echo "$cache_path is a directory, deleting."
       rm -rf $cache_path
fi

local_path="/root/.local"

if [ -L $local_path ]
then
       echo "$local_path is a symlink,"
       rm $local_path
else    
       echo "$local_path is a directory, deleting."
       rm -rf $local_path
fi

#创建文件、文件夹链接
ln -s /gemini/code/env/.gitconfig /root/.gitconfig
ln -s /gemini/code/env/.cache /root/.cache
ln -s /gemini/code/env/.config /root/.config
ln -s /gemini/code/env/.local /root/.local



#注意这里把秋叶启动加的xformers去掉了,都上云平台了,还节省个什么显存,可劲的造吧!显存不够,就换更强的主机型号呗,我发现大部分模型在24G显存的large主机都是可以顺利跑的,如果有更大的,就用80G显存的呗。都上云了,就好好发挥!

export COMMANDLINE_ARGS="--deepdanbooru --share --port 19527 --theme dark --listen   --enable-insecure-extension-access"

python_cmd="python"
LAUNCH_SCRIPT="launch.py"

"${python_cmd}" "${LAUNCH_SCRIPT}" "$@"




5、运行

把start.sh复制到/gemini/code/sd-webui-aki-v4路径下,直接运行即可。注意加个 &,万一终端掉线,不影响使用。

cd /gemini/code/sd-webui-aki-v4

cp /gemini/data-1/start.sh /gemini/code/sd-webui-aki-v4

chmod 755 start.sh

./start.sh &

等到出现gradio的链接,就可以访问拉~~~~

模型装载的速度有点慢,一旦装载完,GPU全速跑起来还是很快的,而且图像质量普遍要高。xformers对速度和质量是有牺牲的。所以除非你得操作爆显存了,80G的large机型也不够用,再加这个参数。

6、模型的安装

通常模型都比较大,建议大家自己建好数据集之后,把模型文件放在数据集,然后通过ln -s的方式,映射到/gemini/code/sd-webui-aki-v4路径下对应的文件夹里即可。数据集的路径的文件的读取速度,还是显著的高于code路径的。

这是使用的经验。

ln -s  /gemini/data-1/xxxxxx你得模型   /gemini/code/sd-webui-aki-v4/models/xxxxx/xxxxx你得模型名字

这样就可以把数据集的模型,直接创建软连接到webui里,完成手动安装了。

至于webui界面上自动安装的那些。因为这个环境都配置了git和conda、pip的加速,所以只管直接按就行了。都会在code路径下。

 五、效果

基于趋动云部署秋葉aaaki的Stable Diffusion整合包v4--linux版

基于趋动云部署秋葉aaaki的Stable Diffusion整合包v4--linux版

 正向提示词:

space girl, standing alone on hill, centered, detailed gorgeous face, anime style, key visual, intricate detail, highly detailed, breathtaking, vibrant, panoramic, cinematic, Carne Griffiths, Conrad Roset, ghibli

 反向提示词:

easynegative,,badhandv4,nfixer, nartfixer, nrealfixer, (jewelry),(big breasts, large breasts), CGI, 3d, doll, octane, render, cartoon, anime, illustration, drawing, digital art, digital painting, sketch, lowres, text, cropped, worst quality, low quality, jpeg artifacts, ugly, duplicate, poorly drawn hands, poorly drawn face, deformed, blurry, logo, big hands, ugly mouth, ugly eyes, missing teeth, crooked teeth, close up, out of frame, morbid, mutilated, extra fingers, mutation, dehydration, bad anatomy, bad proportions, extra limbs, cloned face, disfigured, gross proportions, malformed limbs, missing arms, missing legs, extra arms, extra legs, fused fingers, too many fingers, long neck, (more than two arms per body:1.5),(more than two legs per body:1.5),(more than five fingers on one hand:1.5)

 基于趋动云部署秋葉aaaki的Stable Diffusion整合包v4--linux版

基于趋动云部署秋葉aaaki的Stable Diffusion整合包v4--linux版

基于趋动云部署秋葉aaaki的Stable Diffusion整合包v4--linux版

六、相关文件

百度云盘文件:

相关安装文件百度网盘分享


 文章来源地址https://www.toymoban.com/news/detail-451278.html

到了这里,关于基于趋动云部署秋葉aaaki的Stable Diffusion整合包v4--linux版的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [Datawhale]使用趋动云的stable-diffusion项目实践

    目录 0 写在前面 1 内容简介 2 任务二,用免费GPU部署自己的stable-diffusion 2.1 创建项目 2.2 初始化开发环境实例 2.3 部署模型 1 解压代码及模型 2 解压配置文件到隐藏目录/root/.cache 3 拷贝frpc内网穿透文件 (注意有两行 - 两条指令) 4 拷贝模型文件到项目目录下 ​编辑5 更新

    2024年03月27日
    浏览(31)
  • 如何在趋动云上跑stable diffusion进行AI绘图

    一、注册个人账号 打开趋动云算力平台注册链接:https://growthdata.virtaicloud.com/t/tA ,填写相关注册信息并进行注册 二、创建绘图项目 1、在个人空间的右上角点击 创建项目 2、然后填写相关的项目信息 项目名称:可自定义。 镜像:选择 公开 镜像 AUTOMATIC1111/stable-diffusion-webu

    2024年04月14日
    浏览(33)
  • 基于 huggingface diffuser 库本地部署 Stable diffusion

    Stable Diffusion 是用 LAION-5B 的子集(图像大小为512*512)训练的扩散模型。此模型冻结 CLIP 的 ViT-L/14 文本编码器建模 prompt text。模型包含 860M UNet 和123M 文本编码器,可运行在具有至少10GB VRAM 的 GPU 上。 HF主页:https://huggingface.co/CompVis/stable-diffusion Colab:https://colab.research.google.c

    2024年02月03日
    浏览(27)
  • 基于LoRA微调部署Stable Diffusion【免费试用阿里云】

    Stable Diffusion 是一种文本到图像的潜在扩散模型,由 Runway 和慕尼黑大学合作构建,第一个版本于 2021 年发布。目前主流版本包含 v1.5、v2和v2.1。它主要用于生成以文本描述为条件的详细图像,也应用于其他任务,如修复图像、生成受文本提示引导的图像到图像的转换等。 体验

    2024年02月13日
    浏览(78)
  • 基于Amazon SageMaker平台部署Stable Diffusion模型实现——图片识别

    当谈到机器学习和人工智能的开发和部署时,Amazon SageMaker是一个非常强大和全面的平台。作为一项托管式的机器学习服务,Amazon SageMaker提供了一套完整的工具和功能,帮助开发者轻松构建、训练和部署机器学习模型。 首先,让我们谈谈我对Amazon SageMaker的看法。我认为它是一

    2024年02月09日
    浏览(33)
  • 基于 PAI-EAS 一键部署 Stable Diffusion AIGC 绘画

    人工智能平台PAI完成云上Stable Diffusion以文生图应用搭建, 支持两种方式: 使用交互式建模 PAI-DSW 使用模型在线服务 PAI-EAS 两种部署适用人群: 1.使用交互式建模 PAI-DSW 部署Stable Diffusion 亮点: Notebook经典界面,对习惯代码操作的开发者更加友好; 支持微调训练等操作,灵

    2024年01月20日
    浏览(36)
  • Linux云端部署stable diffusion保姆级教程——基于腾讯云,ubuntu系统

    #本教程也参考了其他教程,这个是整合版,带#的是注释,不带#的就是命令,需要一行一行复制,然后按回车执行 #最好选择境外Linux,网络环境好,境内需要魔法,下面开始—— #从控制台登录,最好是OrcaTerm登录,复制比较方便 #第一步下载miniconda安装包 #第二步安装 #第三

    2024年02月13日
    浏览(30)
  • 基于CPU的云部署Stable-diffusion-webui的详细过程

    最近看到很多很精美的AI图片,也想体验下,正好我有台2vCPU和2G内存轻量云服务器,但是不想再额外买GPU,就想着用CPU模式自己部署,部署经过摸索能顺利完成,但是加载模型已经很吃力,老是提示没有足够内存。本过程主要是用来记录部署的详细过程,仅针对于CPU跑Stable-d

    2024年01月22日
    浏览(40)
  • 如何本地部署基于stable-diffusion的AI绘画(jupyter,python实现,详细,附代码)

    自从Stable Diffusion 1.0模型发布以来,“AI文本图片生成”真正的变成普通人也能使用的技术。同时各种国内外AI绘图软件,也不断频繁更新,AI绘画的关注度也越来越高。 以下是本人自己生成出来的一些AI绘图(夹带私货木木枭^ ^) 对应的提示语prompt为: 那么如果我们想要 本

    2023年04月22日
    浏览(50)
  • Stable Diffusion-安装(整合版)

    一、概述 本文使用秋叶大佬发布的【绘世整合包】作为软件,它是目前市面上最易于使用的整合包之一,无需对网络和Python有太多的前置知识,已经为AI绘画的普及做出了巨大贡献。绘世启动器整合包于2023年4月16日发布,集成了过去几个月中AI绘画集中引爆的核心需求,例如

    2024年02月12日
    浏览(22)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包