关于stable-diffusion:糟了糟了总部被SD画完都Q了这篇深入浅出贴助你早日实现Stable-Diffusion自由-京东云技术团队

我也不想题目党,可乐高积木版的总部大楼就是好萌啊! 我是憨憨,一个不会画画的设计师。过来半年里,AI绘画已经屡次引爆公众探讨,网络上那些粗劣的二次元同人插画、堪比真人的AI穿搭博主、突破次元壁的赛博Coser……背地都有一个“幕后黑手” —— Stable Diffusion,其背地的技术便是人们常说的扩散模型(扩散模型这个概念源自热力学,在图像生成问题中得以利用)。 想晓得下面这些粗劣的插画是如何实现的吗?接下来,我将联合这个案例带你走进 Stable Diffusion 的世界,帮你系统性地理解并把握这神奇AI绘画魔法。 尽管咱们把这个过程称之为AI绘画,但实际上它并不是像人类画图一样打草稿、构线描边,再去上色、对细节加工……这样循序渐进地去实现一幅画作的,它采取了一个人类未曾构想的门路 —— Diffusion(扩散)。 一、Diffusion:眼一闭一睁,一张图画好了有一个十分形象的形式,来解释 Diffusion 的原理。 这是我家的傻狗,你能够将本人的角色带入到执行绘画指令的AI中,当初让你把这幅画用宫崎骏格调从新绘制一遍,你做失去吗?你能够尝试着把眼睛眯成一条缝去看它(如果你远视能够摘掉本人的眼镜),它是不是变得含糊了?放弃这个状态,设想着它正在逐步变成动漫里的样子,随后缓缓睁开眼睛…… 这就是一个扩散模型工作的根本流程了。 在这个过程中,AI会将图片通过减少噪声的形式进行“扩散”,使它变得含糊,就像是眯起眼睛的你一样,当内容含糊了当前,你就有更充沛的空间去从它本来的状态抽离,并且设想它是否能变成其余模样。AI通过深度学习的形式,将很多不同的图像都转换成了这样的形象内容,并逐步开始了解了这个“扩散”的过程,每学一张图,它就会通过一些形式提取图像里的信息特色,并和它的原图建设关联。 在方才的例子中,当提到宫崎骏格调的时候,你的脑海里必定也会跳出跟这类作品相干的格调特质来,因为你看过并且记得,这个时候,咱们开始去设想它变成动画片里的样子,并且用一个动漫的形式“睁开眼睛”,让图片复原清晰,这就是在对图像进行逆向的扩散,也就是去噪。这幅画,就曾经被你脑海里对于宫崎骏的设想从新绘制一遍了。 这一原理,为咱们在AI绘画中的操作提供了实践根底和指导思想。当然,这只是一个简略的比喻,在实在的AI图像生成过程中要远简单得多,咱们只须要晓得,在SD外面咱们能接触到的各种提醒词、模型、controlNet 等,其实管制的都只是AI的学习、转化、去噪过程,而非它一笔一画的动作。 二、一副AI绘画作品 = 提醒词 + 参数设置 + 模型这是 Stable Diffusion webUI,咱们所有的操作都是在这里实现的。webUI其实只是一个执行的程序,用来屏蔽掉 Stable Diffusion 简单的模型和代码操作。当你在浏览器里关上了这个webUI当前,就能够利用它开始作画了。 WebUI 下面一整排标签栏对应了不同的性能,做图最罕用的是前两个:文生图与图生图,它代表的是两种绘制的根本形式,第三个标签的更多次要用于对图片进行AI放大解决,它能够让你生成更清晰的大图。 看过《哈利波特》的影迷肯定会记得,在霍格沃滋的魔法世界里,一个魔咒想要胜利施展,不仅须要集中精力念对咒语,还须要一根魔杖,以及正确地挥动魔杖的手势,任何一个步骤呈现谬误,都有可能导致魔咒动员的失败,极其状况甚至会被反噬,在AI绘画的魔法世界里也是相似。 1、提醒词:指挥AI作图的咒语WebUI 中被咱们输出进去的形容文字或图像信息,就是 Prompts (提醒词):用于生成图像的文字输出,须要应用英文输出,但你也能够通过摸索 Extensions 来实现中文输出。提醒词的涵盖范畴很广,能够包含:主体、格调、色彩、质感特点等一些具体因素。 提醒词分成两局部,一部分是正向的提醒词,另一部分是反向提醒词,别离用来管制你想要在画面里呈现的、想排除在外的内容。 AI 生成进去的货色是具备随机性的,每次生成进去的货色都会不太一样,这个过程就像是在“抽卡”:想出好的图片,得靠运气来抽。 比方:一个女孩在林中散步,这其实只是一个十分概括的形容,这个女孩长什么样子、森林里有什么、工夫是早上还是早晨、天气如何……这些AI都不晓得,提醒词太过于抽象,那AI就只能瞎蒙、抽卡了。咱们能够把本人设想成一个有情的甲方,向AI沟通你的需要、AI须要改良的中央。咱们对AI提的要求其实就是提醒词 Prompts ,如果AI没有达到想要的成果,就一直补充、阐明,多试几次总有一次能够抽到想要的成果~ 虽说AI是人工智能,但它和人类智慧还是有肯定差距的,有时候你会发现即便提醒词曾经给了很多,本人仍然很难向AI表白分明本人的需要。其实在现实生活里,这种对于需要的传递偏差与谬误解读其实也普遍存在着,比方:总是干架的产品经理和程序员、甲方客户与设计师。拿我相熟的设计举例,如果你是需求方,除了一直对着设计师一遍又一遍的怒吼需要以外,还有什么方法让他疾速开窍呢? 你能够拿着一张海报或者banner,通知设计师我想要的感觉是这样的,那他就会更直观、具体的感触到你的想法。AI绘画也是一样,当你感觉提醒词不足以表白你的想法,或者心愿以一个更为简略清晰的形式传递一些要求的时候,那就再丢一张图片给他就好了。此时,图片的作用和文字是相当的,就是都作为一种信息输送到AI那里,让它拿来生成一张新的图片,这就是图生图。 2、参数设置:管制咒语施放的魔杖这部分内容介绍一下在AI绘画过程中,webUI外面这些简单的参数设置。 (1)采样算法(Sampler) 简略来说,通过这些采样算法,噪声图像能够逐步变得更清晰。webUI提供的算法选项十分多,包含 Euler a、DPM、DDIM 等。我分享几个咱们常常会用到的: 想应用疾速、新鲜且品质不错的算法,能够尝试 DPM++ 2M Karras,设置 20~30 步;想要高质量的图像,那么能够思考应用 DPM++ SDE Karras,设置 10~15 步(计算较慢的采样器)、或者应用 DDIM 求解器,设置 10~15 步;喜爱稳固、可重现的图像,请防止应用任何原始采样器(SDE 类采样器);Euler、Euler a 比拟适宜插画格调,出图比拟奢侈;(2)采样迭代步数(Steps) 与采样算法配合应用,示意生成图像的步数。步数越大,须要期待的工夫越长。通常 20-30 步就足够了。默认的采样步数个别都是20。如果你的算力短缺且想谋求更高的粗疏度,就设置为30-40,最低不要低于10,不然你可能会被你本人产出的作品吓到。 ...

August 17, 2023 · 1 min · jiezi

关于stable-diffusion:一份保姆级的Stable-Diffusion部署教程开启你的炼丹之路-京东云技术团队

市面上有很多能够被用于AI绘画的利用,例如DALL-E、Midjourney、NovelAI等,他们的大部分都依靠云端服务器运行,一部分还须要领取会员费用来购买更多出图的额度。在2022年8月,一款叫做Stable Diffusion的利用,通过算法迭代将AI绘画的精密度提上了一个新的台阶,并能在以秒计数的工夫内实现产出,还能够在一台有“民用级”显卡的电脑上运行。 通过Stable Diffusion,能够绘制出各种格调的作品,比方动漫风、插画立绘、国风水墨、3D建模,甚至是照片级的拟真图像,而借助诸如LoRa、ControlNet等衍生性能,还能够做到精准管制美术格调、角色细节、姿态、动作、构图等。更更重要的是,他是全面开源的,这意味着你能够在本人的电脑上部署整个程序,应用它出图、作画是完全免费而且不限量的!市面上大多数商业级的AI绘画利用,都是基于SD去开发的。 只管Stable Diffusion十分亲民,但他还是有肯定的配置要求的,它须要一张性能足够弱小的独立显卡提供算力进行绘制。实际上,“跑得动”和“玩得爽”是两种不同的体验,算力上的差别会极大的影响AI绘画时的出图效率,也正是因为此,有很多同学因为个人电脑捉急的配置而错失了深刻体验Stable Diffusion的机会。等一下,你晓得京东云吗?京东云GPU云主机是提供GPU算力的弹性计算服务,具备超强的并行计算能力,正在深度学习、科学计算、图形图像解决、视频编解码等场景宽泛应用,为您提供触手可得的算力,无效缓解计算压力,晋升您的业务效率,并可弹性扩大,助您疾速构建异构的计算利用。 在经验了一系列的摸索后,我为你总结出了一套零根底的、十分好上手的借助京东云GPU云主机部署装置Stable Diffusion WebUI以及相干工具和插件的保姆集教程,请查收。 一、创立GPU主机实例1.1 创立GPU云主机京东云GPU云主机的标准型的配置蕴含Tesla P40 24G显卡、12核48G,跑Stable Diffusion体验十分好,配置举荐如下: 配置举荐阐明零碎Ubuntu 20.04 64位 规格GPU 标准型 p.n - p.n1p40.3xlarge12核 48G Nvidia Tesla P40 24G显存系统盘100G系统盘倡议100G带宽5M倡议5M1.2 创立平安组并绑定首先在左侧菜单【平安组】创立一个平安组,在【入站规定】和【出站规定】中别离增加并凋谢7860、7861、8080、8888端口。其中 而后在实例详情中,点击【平安组】-【绑定平安组】绑定刚刚创立的平安组。 二、环境装置2.1 装置GPU驱动在英伟达官网依据显卡型号、操作系统、CUDA等查问驱动版本。官网查问链接https://www.nvidia.com/Download/index.aspx?lang=en-us 留神这里的CUDA版本,如未装置CUDA能够先抉择一个版本,稍后再装置CUDA. 点击Search 如上图,查问到适合的版本为510. 而后能够应用apt装置对应驱动版本,应用apt装置更不便一些。 # 装置510版本驱动apt install nvidia-driver-510# 查看驱动信息nvidia-smi如装置胜利,则能够展现如下提示信息。 2.2 装置CUDA拜访英伟达开发者网站先抉择CUDA版本(版本要对应2.1中GPU驱动反对的CUDA版本),再依据操作系统抉择对应CUDA装置命令,拜访链接https://developer.nvidia.com/cuda-toolkit-archive 如下面装置确定所抉择驱动对应的CUDA版本为11.6,依据装置命令装置, 以下命令实用Ubuntu 20.04 x86_64, GPU驱动510版本 wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pinsudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600wget https://developer.download.nvidia.com/compute/cuda/11.6.2/local_installers/cuda-repo-ubuntu2004-11-6-local_11.6.2-510.47.03-1_amd64.debsudo dpkg -i cuda-repo-ubuntu2004-11-6-local_11.6.2-510.47.03-1_amd64.debsudo apt-key add /var/cuda-repo-ubuntu2004-11-6-local/7fa2af80.pubsudo apt-get updatesudo apt-get -y install cuda2.3 装置Python 3.10Stable Diffusion WebUI目前最低反对Python 3.10,所以间接装置3.10版本,装置命令: ...

July 7, 2023 · 2 min · jiezi

关于stable-diffusion:Ubuntu204-docker运行stable-diffusion-webui

环境前提零碎环境ubuntu20.04 uname -anvida cuda显卡驱动默认曾经装置胜利 nvidia-smi 装置配置dockerupgrade零碎更新零碎依赖: apt-get upgrade卸载之前的Docker环境确认是否之前装置过docker并卸载: sudo apt-get remove docker docker-engine docker.io containerd runc 装置相干工具并增加docker 阿里云源#装置相干工具sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common#增加阿里云的docker GPG密钥curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -#增加阿里镜像源sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"#更新sudo apt-get update 装置dockersudo apt-get install -y docker-ce启动并查看docker运行状态: sudo systemctl restart dockersudo systemctl status docker 5. 配置镜像加速器注:这一部步根本能够疏忽,因为没有应用国外dockerhub镜像! sudo mkdir -p /etc/dockersudo tee /etc/docker/daemon.json <<-'EOF'{ "registry-mirrors": ["https://7zk8hbh7.mirror.aliyuncs.com"]}EOFsudo systemctl daemon-reloadsudo systemctl restart docker ...

June 6, 2023 · 2 min · jiezi

关于stable-diffusion:使用-PAIBlade-优化-Stable-Diffusion-推理流程二

背景上一篇中,咱们应用了 PAI-Blade 优化了 diffusers 中 Stable Diffusion 模型。本篇,咱们持续介绍应用 PAI-Blade 优化 LoRA 和 Controlnet 的推理流程。相干优化曾经同样在 registry.cn-beijing.aliyuncs.com/blade_demo/blade_diffusion镜像中能够间接应用。同时,咱们将介绍 Stable-Diffusion-webui 中集成 PAI-Blade 优化的办法。 LoRA优化PAI-Blade优化LoRA的形式,与前文办法基本相同。包含:加载模型、优化模型、替换原始模型。以下仅介绍与前文不同的局部。 首先,加载Stable DIffusion模型后,须要加载LoRA权重。 pipe.unet.load_attn_procs("lora/") 应用LoRA时,用户可能须要切换不同的LoRA权重,尝试不同的格调。因而,PAI-Blade须要在优化配置中,传入freeze_module=False,使得优化过程中,不对权重进行编译优化,从而不影响模型加载权重的性能。通过这种形式,PAI-Blade优化后的模型,仍然能够应用pipe.unet.load_attn_procs()形式加载LoRA的权重,而不须要从新编译优化。 因为模型权重未进行优化流程,一些对常量的优化无奈进行,因而会损失局部优化空间。为了解决性能受损的问题,PAI-Blade中,应用了局部patch,对原始模型进行python层级的替换,使得模型更适宜PAI-Blade优化。通过在优化前,应用 torch_blade.monkey_patch优化 Stable Diffusion 模型中的 unet和vae局部,能更好的施展PAI-Blade能力。 from torch_blade.monkey_patch import patch_utilspatch_utils.patch_conv2d(pipe.vae.decoder)patch_utils.patch_conv2d(pipe.unet)opt_cfg = torch_blade.Config()...opt_cfg.freeze_module = Falsewith opt_cfg, torch.no_grad(): ...如果没有LoRA权重切换的需要,能够疏忽上述步骤,取得更快的推理速度。 Benchmark咱们在A100/A10上测试了上述对LoRA优化的后果,测试模型为 runwayml/stable-diffusion-v1-5,测试采样步数为50。 ControlNet适配依据 ControlNet 的模型结构图以及diffusers中ControlNet实现,能够将ControlNet的推理分为两局部。 ControlNet局部,其input blocks和 mid block 构造与Stable DiffusionUnet的前半部分雷同,残余局部为卷积。ControlNet所有输入传入到Stable DIffusion的Unet中,作为输出;Stable Diffusion 的Unet除了原始输出外,额定减少了ControlNet的输入作为输出。根据上述特点,咱们能够做出以下的优化: 首先,优化ControlNet, controlnet = torch_blade.optimize(pipe.controlnet, model_inputs=tuple(controlnet_inputs), allow_tracing=True)在优化unet模型时,因为torch2.0之前的版本,torch.jit.trace不反对应用dict作为输出,所以咱们应用Wrapper包装Unet后便于trace和优化。同时,应用优化后的ControlNet执行一次推理,将其输入增加到Unet输出中。 class UnetWrapper(torch.nn.Module): def __init__(self, unet): super().__init__() self.unet = unet def forward( self, sample, timestep, encoder_hidden_states, down_block_additional_residuals, mid_block_additional_residual, ): return self.unet( sample, timestep, encoder_hidden_states=encoder_hidden_states, down_block_additional_residuals=down_block_additional_residuals, mid_block_additional_residual=mid_block_additional_residual, )...down_block_res_samples, mid_block_res_sample = controlnet(*controlnet_inputs)unet_inputs += [tuple(down_block_res_samples), mid_block_res_sample]unet = torch_blade.optimize(UnetWrapper(pipe.unet).eval(), model_inputs=tuple(unet_inputs), allow_tracing=True)联合上述性能,能够同时实现: ...

May 29, 2023 · 1 min · jiezi

关于stable-diffusion:使用-PAIBlade-优化-Stable-Diffusion-推理流程

背景AIGC是人工智能计算畛域里倒退迅速的重要业务。Stable Diffusion 是其中最热门的开源模型,受到宽泛关注。然而,随着利用场景不断扩大,Stable Diffusion所面临的推理时延和计算成本问题也越来越突出。 简介PAI-Blade是 PAI 推出的通用推理优化工具,能够通过模型零碎联结优化,使模型达到最优推理性能。PAI-Blade依靠于齐全动静尺寸的AI编译器BladeDISC 和 基于深度学习主动调度的高性能计算库BlaDNN, 为包含图像生成模型Stable Diffsuion, 大语言模型LLM, 大规模稠密举荐模型CTR, 语音辨认模型ASR等等在内的泛滥模型提供主动的高性能推理优化。 BladeDISC 是一款反对齐全动静尺寸的AI编译器,前端反对Pytorch和Tensorflow模型。对于Pytorch模型可能反对 TorchScript 和 TorchDynamo 两种输出模式,后端通过 AStitch 大尺度算子交融技术和高效的 codegen 逻辑晋升模型访存密集算子的执行效率。BladeDISC现已在github开源,我的项目地址:https://github.com/alibaba/BladeDISC 。 BlaDNN 是基于深度学习主动调度的高性能计算库。BlaDNN 作为Ansor的升级版,不仅生成的kernel性能超过Ansor,而且能够齐全依赖DNN主动调度而不应用Tuning调优,使得Dynamic Shape业务场景的在线主动调度成为可能,基于DNN主动调度生成的GPU计算密集算子的均匀性能达到极致tuning性能的99.39%,通过模型零碎联结优化DNN推理延时低至2us, 并且只应用一个CPU Core,从而不会对GPU模型自身的性能造成任何抖动。 通过采纳 PAI-Blade 减速推理优化技术,对访存密集型算子进行大尺度交融及优化代码生成,对计算密集型算子进行主动调度,能够大幅度降低Stable Diffusion的推理提早和显存占用,从而缩小计算成本。应用 PAI-Blade 优化Stable Diffusion 具备以下三点劣势: 高性能,应用Blade能够升高 Text2Img、Img2Img 等推理流程的端到端提早 2.42-3.05 倍,同时可升高省显存占用至少 5.27 倍,超过TensorRT-8.5等业内SOTA优化伎俩。齐全动静shape反对,一次优化后,能够反对任意形态、batch size的输出。易用性、可扩展性:仅需数行代码即可在多类pipeline中启用 Blade优化,同时能反对LoRA等推理计划的优化。应用示例本文接下来以社区风行的 "runwayml/stable-diffusion-v1-5" 的 Text2Img pipeline 为例,具体介绍 PAI-Blade 在各类应用场景下的应用办法。 环境装置下述示例残缺的运行脚本及相干环境已集成到 registry.cn-beijing.aliyuncs.com/blade_demo/blade_diffusion docker 中。在该docker中,间接通过 python /blade/blade_diffusion.py 即可运行推理示例。 官网模型优化应用 PAI-Blade 优化 Stable Diffusion 模型能够分为以下几个步骤。 首先,加载预训练的模型。 from diffusers import StableDiffusionPipelinedevice = torch.device("cuda:0")pipe = StableDiffusionPipeline.from_pretrained("runwayml/stable-diffusion-v1-5", revision="fp16", torch_dtype=torch.float16).to(device)第二步,应用 PAI-Blade 进行优化。留神,因为 PAI-Blade 是齐全动静shape的优化工具,优化实现后可应用任意shape进行推理。 ...

May 29, 2023 · 1 min · jiezi

关于stable-diffusion:AI-绘画基础-细数-Stable-Diffusion-中的各种常用模型--魔导士装备图鉴

AI 绘画老手魔导士在刚开始玩 Stable Diffusion 时总会遇到各种新的概念,让人困惑,其中就包含各种模型和他们之间的关系。 魔法师入门得先意识各种法师配备(各种模型),让咱们遇到问题晓得应用何种配备来帮助本人施展更大的成果。 safetensors在理解各种模型之前,有必须先理解下 safetensors,玩过的应该都意识,就是很多模型的后缀。然而各种模型的后缀形形色色,然而总是能看到 safetensors 的影子,让人有些缭乱。 其实次要是因为 safetensors 反对各种 AI 模型,而在 safetensors 呈现前,各种 AI 模型都有着本人独特的后缀。这就导致每种模型既能够应用 safetensors 又能够应用本人原有的后缀,所以入门的时候就会让人有点分不清。 其实 safetensors 是由 huggingface 研发的一种开源的模型格局,它有几种劣势: 足够平安,能够避免 DOS 攻打加载迅速反对懒加载通用性强所以当初大部分的开源模型都会提供 safetensors 格局。 开源地址: https://github.com/huggingface/safetensors 模型分类说完了 safetensors 咱们进入正题,聊一聊在 Stable Diffusion 中常见的各种模型。 Checkpoint | Stable DiffusionCheckpoint 是 Stable Diffusion 中最重要的模型,也是主模型,简直所有的操作都要依靠于主模型进行。而所有的主模型都是基于 Stable Diffusion 模型训练而来,所以有时会被称为 Stable Diffusion 模型。 主模型后缀个别为 .ckpt 或者 .safetensors,并且体积比拟宏大,个别在 2G - 7G 之间。而要治理模型咱们须要进入 WebUI 目录下的 models/Stable-diffusion 目录下。 在应用 WebUI 时左上角切换的就是主模型了。 ...

May 10, 2023 · 2 min · jiezi

关于stable-diffusion:AI-绘画咒语入门-Stable-Diffusion-Prompt-语法指南-成为初级魔导士吧

要用好 Stable Diffusion,最最重要的就是把握 Prompt(提醒词)。因为提醒词对于生成图的影响甚大,所以被称为魔法,用得好惊天动地,用不好魂飞魄散 。 因而本篇整顿下提醒词的语法(魔法咒语)、如何应用(如何吟唱)、以及一些须要留神的细节问题(防止翻车)。 根底语法在提醒词中咱们应用 , 对提醒词进行宰割,而每个局部的提醒语能够有不同类型,比方:天然语法、标签语法、emoji 或者是颜文字。 天然语法Stable Diffusion 的提醒词反对天然语法,比方通知它 a girl is touching a cat 能够失去如下图片: 也反对肯定水平的中文、日文,比方 睡觉的狗: 然而中文理解力反对非常无限,所以个别都会应用英文来作为提醒词。 标签语法/Tag除了天然语法外, 提醒词中最罕用的是标签语法,以单词或短语来给 AI 做提醒,比方 masterpiece, best quality, 1dog, 1cat, sun, grass: 会失去一张有狗、猫、太阳和草坪的图片。 emoji除了个别语言外,咱们还能够应用 emoji 来作为提醒词,比方应用 能够让 Stable Diffusion 画出这样的表情: 应用 能够失去这样的图: 想要应用 emoji 的能够参考 这个 wiki 查看各个 emoji 代表的意思。 颜文字此外 Stable Diffusion 还反对应用颜文字来作为提醒词,比方能够应用 XD 来让人物笑起来: 用 T_T 让人物体现伤心: ...

April 22, 2023 · 1 min · jiezi

关于stable-diffusion:阿里云-AIGC-白嫖-FC-搭建-stable-diffusion

下午瞎逛在 V 站看到阿里在做推广,正好这几天在钻研 stable-diffusion,就进去看了看,流动地址: https://developer.aliyun.com/topic/aigc 。 次要就是阿里云的 FC 收费提供 3 个月的试用(留神,只有 150 元额度,所以重度应用可能一会就玩没了),能够疾速搭建 AiGC 服务。 装置留神阿里云官网有提供试用,有比拟残缺的教程,能够间接进入 试用教程 查看,我这里只做最根底的记录。 首先进入流动页面,点击立刻参加,当初参加的人数如同还不多。 而后抉择收费开明试用。 之后依照步骤一步步确定并购买。 购买实现后进入 FC 页面,进入利用面板,创立利用,搜寻一下 stable-diffusion 能够看到官网提供的镜像。 创立时抉择间接部署,并点击按钮进行角色的受权。 而后需恩泽好地区等就能够间接创立了。 创立实现后须要留神会须要期待很久,在利用详情里有生成的域名,用于拜访 stable-diffusion-webui。 如果部署没有实现的话进入页面会看到如下页面,而后他会始终加载中,加载超时还会报错。 等大略 20 分钟左右进入就能够胜利展现 WebUI 的页面了。 应用应用就不多说了,就是一般的 WebUI,不过他的版本略微旧了点,须要留神进入页面后手动抉择 model,而后点击生成也没有进度条,要等好一会他会把图片展现进去就是生成胜利了。 问题无奈装置插件因为该镜像启动 WebUI 应用了 --host 让 http 服务能够从内部拜访,然而并没有增加 --enable-insecure-extension-access,所以无奈间接装置插件。(兴许设置环境变量能够) 无奈装置 model(目前看来)因为 FC 应用镜像启动,而后管制台上也没有找到任何能够进入 container 的命令行入口等,插件又被封禁,我目前已知的装置 model 的形式都无奈应用,只能应用自带的 SD-1.5。 偶然图片加载不进去有时候生成的图片无奈加载,我猜想是碰到了平安检测之类的。因为该 WebUI 地址和图片地址是能够提供给别人应用的,预计为了避免被请喝茶所以。 图片治理不不便每次图片生成后只能右键保留下来,不然一会就找不到了,没有文件治理等性能。(如同能够挂载到 OSS 或者 NAS 上,不过对于白嫖的我来说等于没有)。 ...

April 21, 2023 · 3 min · jiezi

关于stable-diffusion:最新版本-Stable-Diffusion-开源-AI-绘画工具之中文自动提词篇

标签生成器因为输出正向提醒词 prompt 和反向提醒词 negative prompt 都是应用英文,所以对学习母语的咱们十分不敌对应用网址:https://tinygeeker.github.io/p/ai-prompt-generator这个网址是为了让大家在应用 AI 绘画的时候更容易去生成想要的提醒词,反对降权,加权等性能我的项目已开源在 Github 上,开源网址:https://github.com/tinygeeker/ai-prompt-generator这个标签生成器,依照分类,将罕用的提醒词都进行了分类,十分的清晰明了根本从上到下抉择一遍,即可是你想要生成的标签了只须要点击想要的提醒词,生成好提醒词后,点击复制即可应用,十分的不便,甚至还有一些暗藏性能 提醒词主动补全有些小伙伴喜爱在输出中文的时候,主动补全英文这个适宜绘画的时候,你晓得本人想要什么样的成果,也晓得本人想要哪些提醒词这就须要提醒词主动补全插件解决,Booru tag autocompletion 这个插件就是用来实现提醒词主动补全的性能插件地址:https://github.com/DominikDoom/a1111-sd-webui-tagcomplete.git对于插件的装置,我在之前的AI绘画汉化篇文章中提到过,如果不晓得怎么装置的,能够去看下这篇文章装置好插件后,须要下载中文 tag 文件,将其搁置在 extensions/a1111-sd-webui-tagcomplete/tags 文件夹上面中文 tag 下载地址:https://github.com/DominikDoom/a1111-sd-webui-tagcomplete/files/9834821/danbooru.csv下载胜利后,将其改一个名字,不然会笼罩原始的文件,这里我改成了 zh-cn.csv而后设置一下即可:关上设置 ▶ Tag Autocomplete ▶ 在 Translation filename 中抉择下载好的中文 tag 文件 ▶ 而后勾选 Translation filename 上面的两个选项 ▶ 保留配置,重启 UI 即可比方输出中文分辨率,上面就会呈现分辨率的英文解释,间接点击即可

April 19, 2023 · 1 min · jiezi

关于stable-diffusion:最新版本-Stable-Diffusion-开源-AI-绘画工具之图生图进阶篇

图生图基本参数图生图性能次要包含六大类:图生图 / img2img、涂鸦绘制 / sketch、部分绘制 / inpaint、部分绘制之涂鸦蒙版 / inpaint sketch、部分绘制之上传蒙版 / inpaint upload、批量解决 / batch而图生图的基本参数包含但不限于以下几种:Resize mode: 缩放模式,包含 拉伸/Just resize、裁剪/crop and resize、填充/resize and fill、仅调整大小(潜空间放大/just resize (latent ipscale) ,缩放模式指的是当原图和要生成的图的宽和高不统一的时候,抉择的缩放模式,个别抉择裁剪,如果原图和生成图的宽高统一的时候,抉择任意均可Mask blur: 蒙版含糊度,在 0-64 之间调节,就是将咱们涂抹区域,从边缘向两头通明过渡。数值较小的时候,边缘越锐利,所以一个适合的值会让图片看起来更实在,数值个别默认即可Masked content: 蒙版蒙住的内容,包含 填充/fill、原图/original、潜在噪声/latent noise、无潜在空间/latent nothing。这是一种预处理的步骤,其中填充是指应用蒙版边缘图像的色彩填充,不过色彩曾经被高度含糊;原图则是同原图一样不扭转任何细节;而潜在噪声则是应用噪点进行填充;而无潜在空间就是噪点值为0的状态,能够看到只有原图保留了原来的画面,所以个别抉择原图即可Mask transparency: 蒙版的透明度,个别默认为0,即不通明,因为透明度越高,AI施展的空间越小,基本上当透明度大于60,预处理就会失去作用Mask mode: 蒙版模式,包含 绘制蒙版内容/inpaint masked、绘制非蒙版内容/inpaint not masked,这个很好了解,抉择第一个就是只在蒙版区域重绘,另一种则相同,失常个别默认第一个即可Inpaint area: 绘制区域,包含 全图/whole picture、仅蒙版/only masked。全图重绘是指在原图大小的根底下绘制蒙版区域,长处就是内容与原图交融的更好,毛病是不够细节;而蒙版重绘是只解决的时候将蒙版区域进行放大到原图的尺寸,画完之后再放大放到原图的相应的地位,长处就是细节更好,毛病也是细节太多,与原图交融的不够好Denoising strength: 重绘强度,默认0.75,低强度就是根本不重绘,越高重绘越强,交融越不好,所以默认即可尽管图生图的参数比拟多,但大多数的时候,咱们抉择默认即可,因为很多时候,只须要正确的抉择而非过多的抉择,集体也仅仅设置一下缩放模式、采样器、采样步骤和宽高进行出图 图生图(img2img)能够依据你上传的图片生成一张在原图根底上创作的新图片能够通过批改 Prompt 去自定义想要的后果图片,比方红色头发,红色眼睛等等 涂鸦绘制(Sketch)在原图根底上涂鸦后,进行二次创作,这是最根底的用法,当然也能够进行线稿的上色模型要抉择好,如果想要生成二次元的,记得抉择二次元模型,下图测试抉择的是真人模型在进行线稿上色的时候,设置 缩放模式为裁剪 ▶ 采样器是 DPM++ 2M Karras ▶ 采样步骤设置的是30 ▶ 脚本 Script 中抉择是图像迭代 Loopback ▶ 迭代次数设置成多少生成的图片就是多少张,个别设置2-4,避免显卡撑不住 ▶ 最终的重绘强度 Final denoising strenght 设置成了 0.88 ▶ 重绘曲线抉择 Linear ▶ 迭代中反推提醒词抉择 DeepBooru,生成的最终图片成果还是很棒的 ...

April 12, 2023 · 1 min · jiezi

关于stable-diffusion:最新版本-Stable-Diffusion-开源-AI-绘画工具之使用篇

界面参数在应用 Stable Diffusion 开源 AI 绘画之前,须要理解一下绘画的界面和一些参数的意义目前 AI 绘画对中文提醒词的成果不好,尽量应用英文提醒词最次要一些参数如下:Prompt: 正向提醒词,也就是 tag,提醒词越多,AI 绘图后果会更加精准Negative prompt: 反向提醒词,也就是反向 tagWidth / Height:要生成的图片尺寸。尺寸越大,越耗性能,耗时越久。CFG scale: AI 对形容参数 Prompt 的偏向水平。值越小生成的图片越偏离你的形容,但越合乎逻辑;值越大则生成的图片越合乎你的形容,但可能不合乎逻辑。Sampling method: 采样办法。有很多种,但只是采样算法上有差异,没有好坏之分,选用适宜的即可。Sampling steps: 采样步长。太小的话采样的随机性会很高,太大的话采样的效率会很低,回绝概率高Seed: 随机数种子。生成每张图片时的随机种子,这个种子是用来作为确定扩散初始状态的根底。不懂的话,用随机的即可。 采样器Euler a: 是个插画,tag 利用率仅次于 DPM2 和 DPM2 a,环境光效菜,构图有时奇葩Euler: 柔和,也适宜插画,环境细节与渲染好,背景含糊较深Heun: 单次出土均匀品质比 Euler 和 Euler a 高,但速度最慢,高 step 体现好DDIM: 适宜宽画,速度偏低,高 step 体现较好,负面 tag 不够时施展随便,环境光线与水汽成果好,写实不佳DPM2: 该采样形式对 tag 的利用率最高,简直占用 80% 以上DPM2 a: 简直与 DPM2 雷同,只是在人物的时候可能有特写PLMS: 单次出图品质仅次于 HeunLMS: 质感 OA,饱和度与对比度偏低,更偏向于动画格调LMS Karras: 会大改成优化的格调,写实不佳DPM fast: 此为上界开发者所遗留的测试工具,不适宜魔术师应用 文生图(txt2img)文生图(text2img): 依据提醒词 Prompt 的形容生成相应的图片抉择 绘画模型(Stable Diffusion checkpoint) ► 文生图(txt2img) ► 填写正向提醒词(Prompt) ► 填写反向提醒词(Negative prompt) ► 抉择采样器(个别抉择DPM++ 2M Karras) ► 设置采样步骤(个别设置30) ► 设置长宽(Width / Height,举荐 1024 * 1536) ► 点击生成(Generate)依据下面的步骤,即可通过文字生成图片了,个别咱们只有编写 Prompt 即可, Negative prompt 个别都是固定的,限度一下水印,低质量以及其余可能呈现的逻辑谬误即可 ...

April 6, 2023 · 1 min · jiezi