stable diffusion webui + kohya_ss

关于sd,我自己也是新手,就简单记录一下

首先是项目地址,https://github.com/AUTOMATIC1111/stable-diffusion-webui

然后关于这个webui的使用教程,找到一个博客,但是需要科技才能上。

 欢迎 | Stable Diffusion WebUI使用手冊(简体中文)|Ivon的部落格 (ivonblog.com)

在部署方面,也是查了很多博客,我这边是部署在autodl服务器上,安装的时候,碰到第一个问题,root用户下不能安装,但是如果新建一个用户的话,又没有python,两难。后来看了下webui.sh中有关于root的注释,其中有一段,注释掉后就不会报错了

# read any command line flags to the webui.sh script
while getopts "f" flag > /dev/null 2>&1
do
    case ${flag} in
        f) can_run_as_root=1;;
        *) break;;
    esac
done

我是把这个全部注释掉。比较担心会不会有后续影响,直到后来查看输入参数的时候,一直追查,从modules里的launch_utils.py到cmd_args.py,里面定义了很多参数,第一个就是

parser.add_argument("-f", action='store_true', help=argparse.SUPPRESS)  # allows running as root; implemented outside of webui

从这个描述来看,应该就是允许root用户安装,不过我也没有用过,就是提一下,在launch_utils.py当中有一些需要安装的git的地址,如果存在网络问题的话,可以提前将这些地址改为镜像地址,如此的话可以一次成功,不然就自己提前下好装好也是可以的,但是sd他默认是会装一个虚拟环境,也就是不管你的conda是不是新建了环境,他都是使用在自己目录内的venv内的python环境,所以想要pip安装包,应该是venv/bin/python -m pip ...

在顺利装上sd之后,他好像是默认会下载一个model,但我的没有,可能是网络原因,所以我是自己下载的,推荐一个网站模型广场 (aigccafe.com),下载速度还不错,下载的时候需要注意看一下,至少需要一个checkpoint,不要下载到了lora,需要放置在正确的位置上。

对webui的启动,同样,执行webui.sh就可以了,但是autodl的端口,建议是6006,然后远程访问的话,除了对应ip,端口是54482。不过后来发现,用vscode的端口转发的话,什么端口号都可以了。还建议开启api模式,如果用--nowebui,则没有web,只有api模式,用--api的话,就是两个模式都可以,不过如果开启api模式的话,可以查看api文档,虽然也比较简略就是了。

webui支持插件功能,比如可以汉化,这篇帖子写了怎么汉化,还有一些使用教程,不过个人觉得,汉不汉化都无所谓,使用上没有障碍,主要是,在使用提示词的话,基本上不支持中文,所以需要注意使用英文。

推荐这篇浅谈stable diffusion (三) - 知乎 (zhihu.com)对各个参数有讲解,还是不错的,强烈推荐。

接下来说一下lora,在我的理解中,他就是对大模型的一个微调,所以比较小,在使用上,主要是通过<>来进行调用,括号中写上lora名和权重,默认是1,例如<MOXIN:0.9>,前面是lora名,就是文件名,后面0.9就是权重,但是需要注意的是,在web端,通过鼠标点击对应的图标来添加的话,他是使用的lora的别名,但是这个别名不好得到,所以使用文件名也是可以的,关于权重,可以参考下载的时候的模型描述。

因为我主要使用api模式,所以看了下api的代码,他提供了很多方法,这里提到一些坑,比如,需要更换模型,他是没有对应接口的,最开始我是修改了reload接口的代码实现的,后来发现,其实是有的,他有个setconfig可以设置很多信息,但最终其实没有必要,因为在进行文生图的时候,可以指定模型,这样还方便一些,每次发送文本和指定风格就行了,不然还需要先判断当前使用的是什么风格,再判断要不要切换风格并加载对应模型,不如每次都指定风格,省了很多事。

然后他的默认api好像是没有提供获取全部lora模型信息的,至少在api的py文件中没有,通过web端下方点击api按钮跳转api文档能看到有,如果没有的话,可能是需要安装一个插件,可以查看这个帖子,这个帖子主要是lora的训练和对比,但也提到安装一个插件。

对于lora的训练,首先,sd好像是没有提供训练的方法,他提供的训练也不太清楚是啥,有篇帖子介绍了比较详细,然后训练的话,最开始看的就是这篇,什么是LoRA模型,如何使用和训练LoRA模型?你想要的都在这! - 知乎 (zhihu.com)

他提到了训练的方式是,通过 bmaltais/kohya_ss (github.com)这个项目,这个项目也是有坑。

我这边不是按照那个lora训练的帖子来的,基本流程是,1.准备图片

2.通过sd webui做数据预处理,也就是生成图片标签,具体是训练标签中的数据预处理,填写好路径之后,下面勾选生成tags

3.生成的文本是txt格式的,此时遇到第一个坑,再kss这个项目中,他默认的标签文件格式是.caption,所以记住一定要在训练参数那一栏中找到,文本格式,填上.txt,不然在开始训练的时候,会有提示,找不到caption,但是仍然可以开始训练,所以是不会报错的,一定要注意看打印日志。

kss这个项目,在安装的时候,似乎也是会自己安装虚拟环境,但我的似乎是检测到什么,所以没有,直接使用的当前本地的python,但是他有个巨坑是,他第一步是检查自己是不是最新的,所以会先git自己,但是由于网络原因,不成功,虽然不影响后面进程,但是会很拖时间,通过什么参数可以取消这一步;然后由于他需要的库都指定了版本,且太新了,很可能pip会报错,此时,先不要急,想一想是不是使用国内的pip源,切换回原始源,然后更新pip,就可以了。这里吐槽一下,感觉实在没有必要,一定要最新的么,是不是过于新了,在安装的时候没折腾死。

总结一下,这篇简单的写了一下踩坑,但是并没有很详细的写具体怎么用,怎么训练,因为我觉得,怎么用sd,网上一搜一大把,至于训练,效果远不如网上下载的,有点折腾,而且生成的标签也需要人工校对,如果这些都愿意花时间解决,那区区一个训练,相对而言,花很少的时间就能解决

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Stable Diffusion WebUI ChilloutMix/ControlNet是一种稳定的网络用户界面,适用于ChilloutMix/ControlNet系统。该系统是一种用于控制和管理网络的解决方案。 Stable Diffusion WebUI ChilloutMix/ControlNet具有以下特点和功能。首先,它提供了直观和用户友好的界面,使用户能够轻松地操作和管理系统。该界面具有清晰的布局和易于理解的图形化界面,使用户可以快速找到所需的信息和功能。 其次,Stable Diffusion WebUI ChilloutMix/ControlNet具有高度稳定和可靠的性能。它能够处理大量的数据和信息,并在工作中保持稳定,从而确保系统的高效运行。 此外,该用户界面还提供了多种功能,包括远程监视和控制系统,实时数据显示和记录,警报和通知管理,以及系统配置和设置等。通过远程监视和控制功能,用户可以在任何地点实时监视和控制系统的状态和运行情况。同时,实时数据显示和记录功能可以提供关于系统运行的实时数据,帮助用户更好地了解系统的性能。 此外,该用户界面还提供警报和通知管理功能,以便及时通知用户系统的异常情况。用户可以配置所需的警报条件,并接收警报和通知消息,以便及时采取措施。 最后,通过Stable Diffusion WebUI ChilloutMix/ControlNet,用户可以对系统进行配置和设置,以满足特定的需求和要求。用户可以根据系统的工作要求进行参数配置,并进行必要的设置和调整,以确保系统的最佳性能。 总的来说,Stable Diffusion WebUI ChilloutMix/ControlNet是一款稳定可靠、功能丰富的网络用户界面,能够有效地管理和控制ChilloutMix/ControlNet系统。它提供了直观和易于使用的界面,具有多种功能,可以满足用户对系统控制和监视的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值