百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

Stable diffusion AI画图辅助脚本 Script 的使用(一)

toyiye 2024-08-09 10:31 8 浏览 0 评论

一、Script 脚本简单介绍

如果你在使用 Stable diffusion 进行画图时想要使用一些额外功能,但该功能目前又没有对应的扩展可以实现,这时脚本(Script)就派上用场了。

如果你正好熟悉 Python,就可以使用 Python 编写脚本来调用 Stable diffusion 提供的 API 以实现一些额外的扩展功能,当然如果你不会 Python 也没关系,可以直接使用别人做好的脚本。

Script 脚本选项在文生图或图生图的左下角可以找到,点开下拉列表可以看到当前已安装的脚本。

脚本文件一般存放在 Stable diffusion 主目录下的 Scripts 文件夹里,如果是通过扩展安装的脚本,脚本文件则存放在主程序目录下 extensions 文件夹下对应的文件夹里,比如用于脸部修复的 Face editor 脚本。

二、Script 脚本安装

脚本文件是 py 格式的 Python 文件,一般来说一个脚本对应一个文件,如果想要安装脚本,只需要把对应的 Python 文件放到 Scripts 文件夹里即可,安装非常简单,就下载、复制、粘贴 3 个步骤。

目前大部分的 Script 脚本都可以在 AUTOMATIC1111 主页的 Wiki 里找到。

点开右侧 Custom Scripts 自定义脚本选项,在页面上找到需要的脚本点开链接,把 py 格式的 Python 文件下载下来放到 Scripts 文件夹里就可以使用,如果 Webui 正处于运行状态,要重启 UI 界面才能看到新增加的脚本。

三、几个实用 Script 脚本的介绍

现成的脚本有很多个,这里介绍几个比较实用的脚本,至于其他的脚本感兴趣的话可以到官网进行查看。

1、X/Y/Z plot

这应该是目前用得最多的一个脚本了,该脚本目前已经集成到 Stable diffusion Webui 里面,不需要手动下载安装就可以直接使用。

这个脚本的主要功能是使用控制变量法来控制出图的结果,直观对比不同参数下出图的效果,以获得最佳的参数设置。嗯……文字解释可能不太清楚,下面看一个直观的例子。

这 3 张图片除了采样方法不同之外,其他的参数都是一样的。正向提示词只有一个 1girl,反向提示词也只有一个 nsfw,模型用的是 cityedgemix,其他参数全都默认。

正常情况下我们需要手动改变采样方法分 3 次来生成 3 张不同的图片进行对比,这样的操作非常繁琐,所以就有大神制作出 X/Y/Z plot 脚本来解决这个问题。

Script 下拉列表里选择 X/Y/Z plot,下方就会出现很多个输入框,大致可以分成两部分,上面一部分是用来控制出图的参数,下面一部分是用来设置图表的参数。

X/Y/Z type 可以理解成三维坐标系,每一个坐标都可以设置不同的参数类型,比如前面的示例就是使用下面设置来控制出图的。

设置好参数直接点击 Generate 生成按钮,脚本就会按照设置的参数来控制 Stable diffusion 的出图,并将生成的图片组合成一个图表的形式,方便对比观察。

至于 X/Y/Z type 都有哪些选项可以选择,大家可以自行点开查看,这里主要介绍一下 values 值的填写。

values 可填写的值大致可以分成三种类型:枚举类型(比如采样名称)、数值类型(比如采样步数)、文本类型(比如提示词)

在旧版本里面,采样名称、模型名称也是属于文本类型的,需要手动填写,但版本更新了之后,这些可枚举的类型都改成了标签的形式,具体可以看上一篇新版本介绍的文章,这里就不再重复。

a、数值类型

在上面的基础上,增加 Y type,参数设置为 Steps 采样步数,values 填写想要的采样步数,如: 20,40,60,采样步数只能填写数字,不能填写其他类型,不然会出错。跟提示词一样,每个数字之间也用英文半角逗号隔开,如下图。

设置好后直接点击 Generate 按钮出图,就可以得到如下具有横坐标以及纵坐标的二维对比图表,横坐标是采样方法,纵坐标是采样步数。

以上采样步数的 values,除了可以填写指定的步数,还可以以区间的形式填写,如:20-25、20-40(+5)、20-40[5],第一个的意思是在这个区间内,每一步都会执行一次。后面加小括号意思是在这个区间内每隔 5 步执行一次,加中括号的意思是把这个区间内的步数平均分成 5 份来执行。

还可以直接填写多种组合,只要使用英文半角逗号隔开就行,具体的效果这里就不再展示出来了,大家可以自己动手试一下,只有实际操作过才会印象深刻。

b、文本类型

文本类型就以提示词为例,给正向提示词加一个 black hair ,其他参数同样保持不变。

Script 脚本同样使用上面的参数,在前面的基础上加上 Z type,参数设置为 Prompt S/R,这个参数可以用来替换提示词,以观察不同提示词下的出图效果,values 值则填写 black hair,yellow hair

注意这里填写的提示词,第一个提示词在正向提示词里面必须存在,不然会匹配不到。第一个是用来匹配的,后面再跟其他提示词就可以,这里以黑色头发跟黄色头发为例。

参数填写完成后,直接点击 Generate 按钮出图,就可以得到如下具有 3 个坐标轴的图表,看起来很直观,就不再解释了。

再往下的选项就是关于图表的一些设置,Draw legend 可以设置最终的图表是否显示参数名称;Include Sub Images 是控制最终生成图表的时候是否把图表里面的图像单独生成;Grid margins(px) 是用来控制图表里面每张图片的边距;Keep -1 for seeds 意思是对于图表里的每一张图片是否都采用随机种子;Include Sub Grids Include Sub Images 一样,是用来控制最终生成的图表时是否把图表里的图表单独生成,主要用在三维图表里面。

下图是部分设置以及效果。

最后面的三个按钮是用来交换坐标轴的,Swap X/Y axes 意思就是将图表的 XY 轴进行交换,很简单。

写到这里,发现因为图片太多的原因篇幅又太长了,所以还是分两部分吧,下一篇介绍 Prompt matrix 提示词矩阵以及 Ultimate SD Upscale 终极放大这两个脚本,同时再简单介绍一下如何编写自己的脚本。

相关推荐

「linux专栏」top命令用法详解,再也不怕看不懂top了

在linux系统中,我们经常使用到的一个命令就是top,它主要是用来显示系统运行中所有的进程和进程对应资源的使用等信息,所有的用户都可以使用top命令。top命令内容量丰富,可令使用者头疼的是无法全部...

Linux 中借助 perf 对 php 程序模拟CPU高的案例分析

导语本文是一篇Linux借助工具分析CPU高的优化案例,没有任何干货内容,很详细的展示了优化CPU高的具体步骤,非常适合初中级读者阅读!...

centos漏洞处理方法(centos podman)

centos服务器最近有诸多漏洞,修复命令及对应的漏洞整理后,分享给大家RHSA-2020:1176-低危:avahi安全更新yumupdateavahi-libsRHSA-2017:326...

Linux上的free命令详解(Buffer和Cache)

解释一下Linux上free命令的输出。下面是free的运行结果,一共有4行。为了方便说明,我加上了列号。这样可以把free的输出看成一个二维数组FO(FreeOutput)。例如:FO[2][1]...

linux 命令行之你真的会用吗?--free 基本用法篇

free命令行统计内存使用率及swap交换分区的使用率数据。是由sourceforge负责维护的,在ubuntu上其包名为procps,这个源码包中,除了free还有ps,top,vmstat,ki...

kong api gateway 初体验(konga github)

kongapigateway初体验(firstsight?)。Kong是一个可扩展的开源API层(也称为API网关或API中间件)。Kong运行在任何RESTfulAPI的前面,并通过插件...

在Ubuntu下开启IP转发的方法(ubuntu20 ip)

IP地址分为公有ip地址和私有ip地址,PublicAddress是由INIC(internetnetworkinformationcenter)负责的,这些IP地址分配给了注册并向INIC提...

基于 Kubernetes 的 Serverless PaaS 稳定性建设万字总结

作者:许成铭(竞霄)数字经济的今天,云计算俨然已经作为基础设施融入到人们的日常生活中,稳定性作为云产品的基本要求,研发人员的技术底线,其不仅仅是文档里承诺的几个九的SLA数字,更是与客户切身利益乃...

跟老韩学Ubuntu Linux系列-sysctl 帮助文档

sysctl一般用于基于内核级别的系统调优,man帮助手册如下。...

如何在 Linux/Unix/Windows 中发现隐藏的进程和端口

unhide是一个小巧的网络取证工具,能够发现那些借助rootkit、LKM及其它技术隐藏的进程和TCP/UDP端口。这个工具在Linux、UNIX类、MS-Windows等操作系统下都...

跟老韩学Ubuntu Server 2204-Linux性能管理-uptime指令帮助手册

uptime指令是每个从事Linux系统工作的相关同学必知必会的指令之一,如下是uptime指令的帮助手册。UPTIME(1)...

Openwrt+Rclone+emby+KODI搭建完美家庭影音服务器

特别声明:本篇内容参考了波仔分享,在此表示感谢!上一篇《Openwrt+emby+KODI搭建家庭影音服务器》只适用影音下载到本地的情形,不能播放云盘中的影音,内容较少,缺少了趣味性,也不直观。...

Linux Shell脚本经典案例(linux shell脚本例子)

编写Shell过程中注意事项:开头加解释器:#!/bin/bash语法缩进,使用四个空格;多加注释说明。命名建议规则:变量名大写、局部变量小写,函数名小写,名字体现出实际作用。默认变量是全局的,在函数...

解决 Linux 性能瓶颈的黄金 60 秒

如果你的Linux服务器突然负载暴增,告警短信快发爆你的手机,如何在最短时间内找出Linux性能问题所在?来看Netflix性能工程团队的这篇博文,看它们通过十条命令在一分钟内对机器性能问题进行诊断。...

跟老韩学Ubuntu Server 2204-Linux性能管理-vmstat指令帮助手册

vmstat可查看ubuntlinux的综合性能,是每个从事Linux人员必知必会、需掌握的核心指令之一。vmstat指令帮助手册如下。VMSTAT(8)...

取消回复欢迎 发表评论:

请填写验证码