【腾讯云 HAI域探秘】StableDiffusionWebUI 让我找到了宫崎骏动漫里的夏天

本文主要是介绍【腾讯云 HAI域探秘】StableDiffusionWebUI 让我找到了宫崎骏动漫里的夏天,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 前言
  • 一、HAI
  • 二、应用场景
  • 三、构建 Stable Diffusion 模型
    • 1、新建HAI应用
    • 2、StableDiffusionWebUI
      • (1)功能介绍
      • (2)页面转中文
      • (3)AI绘图
        • ① 正向提示词语
        • ② 反向提示词
        • ③ “+” 、“ AND”、“|” 用法
        • ④ 权重
        • ⑤ Euler a 取样方法
        • ⑥ DPM++ 2M Karras 取样方法
        • ⑦ 新增提示词案例
  • 四、总结

在这里插入图片描述

前言

一直以来想部署一个自己的 StableDiffusion 模型,但是在构建模型过程中遇到许多问题,后来发现可以用 HAI 可以快速构建并且部署,给我带来了极大的便利,省去了许多麻烦事。

高性能应用服务(Hyper Application Inventor,HAI)是一款面向 AI 和科学计算的 GPU/NPU 应用服务产品,提供即插即用的强大算力和常见环境。它可以帮助中小企业和开发者快速部署语言模型、AI 绘图、数据科学等高性能应用,原生集成配套的开发工具和组件,大大提升应用层的开发生产效率。

如果你想快速构建一套AI模型,比如Stable Diffusion、ChatGLM2 6B、Llama2 7B、Llama2 13B,又或者是想搭建一套AI框架,比如Pytorch2.0.0、Tensorflow2.9.0,HAI 可成为你的首选。本文通过构建Stable Diffusion模型进行二次元AI绘画,主要利用深度学习算法进行创作绘图,应用场景也是十分广泛。

一、HAI

高性能应用服务 HAI 以应用为中心,匹配GPU云算力资源,助力中小企业及开发者快速部署LLM、AI作画、数据科学等高性能应用。其优势十分显著:

1、简单易用。通过简化计算、网络和存储等基础设施的配置流程,大幅降低了云服务操作和管理的复杂度
2、应用环境快速部署。支持多种 AI 环境快速部署,如 ChatGLM-6B、StableDiffusion 等,使用户可专注业务及应用场景创新。
3、高灵活性。支持用户登录实例,对 AI 模型及实例环境进行灵活配置。可进行内部开发、业务测试,或对外提供业务服务。
4、多种登录方式。除传统连接方式外,支持通过 jupyterlab、WebUI 等方式一键启动,提供更贴合使用场景的登录方式。
5、算力种类丰富。提供多种算力套餐选择,未来还将加入更多种类供用户选择。

二、应用场景

HAI 应用场景十分广泛,可以应用于AI 作画/设计、AI 对话/写作、AI 开发测试以及数据科学等方面。
在AI 作画/设计方面,设计师和开发者可以使用高性能应用服务快速地部署和优化 AI 绘画模型。高性能应用服务预置 Stable Diffusion 等主流 AI 作画模型及常用插件,提供 GUI 图形化界面即开即用,大幅降低上手门槛。在AI 对话/写作方面,研究者和开发者可以使用高性能应用服务快速部署和运行大型语言模型,如 LLAMA2、ChatGLM 等,进行自然语言处理任务,如文本生成、情感分析、文本分类等。高性能应用服务提供的算力支持和优化环境确保了语言模型可以在最短的时间内进行部署,同时还能保持高稳定性和可靠性。在AI 开发测试方面,高性能应用服务的预配置环境支持大多数流行的 AI 框架和工具,如 TensorFlow、PyTorch 等,使得开发者可以专注于算法设计和模型优化。AI 研究者可以在高性能应用服务上进行模型的开发、训练、测试和优化,无需担心硬件兼容性和软件配置问题。如新算法的原型开发、模型微调与迁移学习、深度学习框架的交叉测试等。在数据科学方面,数据科学家们可使用高性能应用服务,快速进行数据分析和图标处理。高性能应用服务预置了 Notebook、Python 环境,以及主流分析软件。

三、构建 Stable Diffusion 模型

上面讲解了HAI的优势以及应用场景,那么接下来就开始使用 HAI 构建 Stable Diffusion 模型。Stable Diffusion,直接从字面意思翻译是稳定的扩散,当然这也将图像生成模型的工作原理点出来了。它是一种生成模型,可用于生成高质量的图像,其原理是将噪声添加懂真实图像,然后通过神经网络将噪声去除掉,随着噪声逐渐去除,真实图像便逐渐恢复。那么怎么使用 HAI 构建 Stable Diffusion 模型呢

1、新建HAI应用

首先在算力管理页面点击新建,这就是构建HAI应用的入口了。

在这里插入图片描述
在AI模型中选择Stable Diffusion,这就是我们需要的模型,然后点击购买。
在这里插入图片描述
购买完成后HAI应用就会自动创建,创建过程大概需要3-8分钟,静候即可。
在这里插入图片描述

创建完成之后,点击算力连接,在下拉中选择stable_diffusion_webui

在这里插入图片描述

2、StableDiffusionWebUI

我们可以看到StableDiffusionWebUI 主页面,具体如下图所示:
在这里插入图片描述

(1)功能介绍

StableDiffusionWebUI是基于StableDiffusion开源模型开发的,具有以下功能:

  • 文生图
    根据描述生成任何图像

  • 智能识别:Stable Diffusion 可以智能识别用户上传的图片,并自动调整图片质量和色彩,让图片更加清晰、饱满。

  • 风格转换:Stable Diffusion 可以将用户上传的图片转换成不同的艺术风格,如印象派、后印象派、立体派等等,让图片更加艺术化。

  • 人像修复:Stable Diffusion 可以自动识别人像并进行修复,去除皱纹、瑕疵等不良痕迹,让人像更加美观自然。

  • 图像融合:Stable Diffusion 可以将多张图片进行融合,生成全新的图像,让用户可以尝试不同的创意和设计。

  • 图像去噪:Stable Diffusion 可以自动去除图片中的噪点,让图片更加干净、清晰。

(2)页面转中文

首先我们先把页面换成中文。选择页面中Extensions菜单中的Available菜单,然后取消localization勾选,勾选script,之后点击 Load from,大概需要等30-60s。
在这里插入图片描述
然后在搜索框中搜索:zh_CN,
在这里插入图片描述
点击Install进行安装。
在这里插入图片描述

安装成功后,我们可以在Extensions菜单中的Installed菜单看到安装的stable-diffusion-webui-localization-zh_CN
在这里插入图片描述
最后在Setting菜单中选择User interface,在Localization (requires restart) 下拉菜单中选择zh_CN
在这里插入图片描述
最后先点击Apply setting,然后再点击Reload UI,页面就变成中文了。

(3)AI绘图

Stable Diffusion可以根据你输入的提示词(prompt)来绘制出想象中的画面。在进行文生图之前,先讲解一下StableDiffusionWebUI主页面的基本属性,相关配置属性解释如下:

属性描述
提示词主要描述图像,包括内容风格等信息,原始的webui会对这个地方有字数的限制,可以安装一些插件突破字数的限制。简单来说就是你想要生成一副什么样的图片,包含主体、风格、色彩、质量要求等等
反向提示词告诉模型我们不需要的风格,表示你不想要什么,比如不想要图片出现什么,不想图片质量差,不想人物模糊或者多手多脚等
提示词相关性(CFG scale)分类器自由引导尺度,图像与提示符的一致程度越低的值产生的结果越有创意,数值越大成图越贴近描述文本。一般设置为7
采样方法(Sampling method)扩散算法的去噪声采样模式会影响其效果,不同的采样模式的结果会有很大差异
采样迭代步数(Sampling steps)在使用扩散模型生成图片时所进行的迭代步骤。每经过一次迭代,AI就有更多的机会去比对prompt和当前结果,并作出相应的调整。需要注意的是,更高的迭代步数会消耗更多的计算时间和成本,但并不意味着一定会得到更好的结果。然而,如果迭代步数过少,一般不少于50,则图像质量肯定会下降
随机种子(Seed)生成每张图片时的随机种子,这个种子是用来作为确定扩散初始状态的基础。-1表示不基于图片种子进行绘制,完全基于你的prompt生成,如果填写一个图片的种子值,则会参考你填写的图片种子,在此图片基础上进行二次绘制。
高清修复将生成的图片进行高清放大,提升分辨率,显存不够的宝子们慎用
生成批次表示本次绘制时通过几个批次进行绘画,显存低的宝子们可以调大,以时间换空间
每批数量表示每批生成几张图片,也是看显存大小进行设置

其中提示词是非常重要的,是生成图像最基本的要求。提示词(prompt)由多个词缀构成。提示词分为正向提示词(positive prompt)和反向提示词(negative prompt),用来告诉AI哪些需要,哪些不需要。反向提示词听起来有些耐人寻味,其实就是我们不想出现什么的描述。提示词与反提示词实际上看你的想象力,当初也要转换成英文描述的术语才能更好地生效,个人认为没有什么定格公式,会限制人的想象力,总之你想什么就填上去,尽情发挥想象力。

① 正向提示词语

这里提供一些正向提示词语,可以斟酌添加到模型中。

prompt描述
HDR, UHD, 64K(HDR、UHD、4K、8K和64K)这样的质量词可以带来巨大的差异提升照片的质量
Highly detailed画出更多详细的细节
Studio lighting添加演播室的灯光,可以为图像添加一些漂亮的纹理
Professional加入该词可以大大改善图像的色彩对比和细节
Vivid Colors给图片添加鲜艳的色彩,可以为你的图像增添活力
Bokeh虚化模糊了背景,突出了主体,像iPhone的人像模式
High resolution scan让你的照片具有老照片的样子赋予年代感
Sketch素描
Painting绘画
② 反向提示词

一些返向提示词案例,针对你要生成的图像,通过反向提示,避免出现不符合预期的图片

Negative PromptDescription
Mutated hands and fingers变异的手和手指
Deformed畸形的
Bad anatomy解剖不良
Disfigured毁容
Poorly drawn face脸部画得不好
Mutated变异的
Extra limb多余的肢体
Ugly丑陋
Poorly drawn hands手部画得很差
Missing limb缺少的肢体
Floating limbs漂浮的四肢
Disconnected limbs肢体不连贯
Malformed hands畸形的手
Out of focus脱离焦点
Long neck长颈
Long body身体长
③ “+” 、“ AND”、“|” 用法
  • “+”和“AND”:这两个符号都用于连接短标签或关键词。使用“+”或者“AND”来将标签连接在一起。要注意的是,在使用“AND”连接标签时,两端需要加上空格。此外,“+”可以大致等同于“AND”。

  • “|”:这是用作循环绘制符号或融合符号。在这种上下文中,它可能表示一种绘图操作,可以用来融合或循环绘制某些元素或标签。

④ 权重

使用括号和不同格式来调整单词的权重:

  • (PromptA:权重):调整权重比例为给定的权重。
  • (PromptA):默认权重为1.1,等同于(PromptA:1.1)
  • {PromptB}:默认权重为1.05,等同于(PromptB:1.05)
  • [PromptC]:默认权重为0.952,等同于(PromptC:0.952)
  • ((PromptD)):权重为1.21,等于(PromptD:1.1*1.1)
  • {{PromptE}}:权重为1.1025,等于(PromptE:1.05*1.05)
  • [[PromptF]]:权重为0.905504,等于(PromptF:0.952*0.952)

此外,根据标签的位置,权重也会受到影响。比如,如果景色标签在前,人物可能会被缩小;反之,人物可能会变大或显示为半身。

⑤ Euler a 取样方法

使用Euler a取样方法生成图像,本文案例使用下面的配置:

正向提示词:((studio ghibli)), (1cute girl) walking in street, half body,
反向提示词:easynegative
取样方法:Euler a
取样步骤:65
高解析度修正(Hires.fix):放大演算算法选择SwinIR_4x,高解析步骤为10,重绘幅度为0.71
提示次相关性(CFG):7
随机种子:3472141699
产生批次:1
每批数量:8

在这里插入图片描述

然后生成如下图,宫崎骏动漫里的夏天真的太好看啦

请添加图片描述请添加图片描述请添加图片描述
请添加图片描述请添加图片描述请添加图片描述
请添加图片描述请添加图片描述

Euler a的优势
适用性:欧拉采样方法在生成二次元图像中可能不是首选,因为它主要用于模拟物理系统或动态系统的数值积分,对于艺术风格的图像生成并不是其主要应用。
特点:
欧拉方法更适用于模拟动态系统中的物体运动或相机路径等,对于艺术性较高的二次元图像可能无法提供所需的效果和细节。

⑥ DPM++ 2M Karras 取样方法

之后了解到DPM++ 2M Karras基于深度学习和神经网络技术,能够生成高质量、细节丰富的图像。Euler采样方法主要用于模拟物理系统或动态系统的数值积分,对于艺术风格的图像生成并不是其主要应用。因此将取样方法修改为DPM++ 2M Karras,并对其他属性做了调整,如下:

正向提示词:((studio ghibli)), (1cute girl) walking in street, half body,
反向提示词:easynegative
取样方法:DPM++ 2M Karras
取样步骤:60
高解析度修正(Hires.fix):放大演算算法选择SwinIR_4x,高解析步骤为10,重绘幅度为0.4
提示次相关性(CFG):7
随机种子:3472141699
产生批次:1
每批数量:8

请添加图片描述请添加图片描述请添加图片描述
请添加图片描述请添加图片描述请添加图片描述
请添加图片描述请添加图片描述

很明显可以看出来两个取样方法生成的图片有很大的不同,用DPM++ 2M Karras方法生成的图片色彩更鲜艳,人物形象也更生动。

DPM++ 2M Karras 的优势
适用性: DPM++ 2M Karras可能更适合生成二次元图像,因为它基于深度学习和神经网络技术,能够生成高质量、细节丰富的图像。
特点:这种方法能够更好地保持模型的细节,并且可以更快速地生成需要的图像。它适用于生成二次元风格的图像,特别是在处理角色造型、背景细节等方面有着较好的效果。

⑦ 新增提示词案例

依旧使用上面的DPM++ 2M Karras方法取样,新增一些正向提示词和反向提示词,看看与上面生成的图片有什么不同,本次配置提示词更丰富,限制的要求比较多。

提示词描述
prompt((studio ghibli)), (1cute girl) walking in street, half body, 64K, Professional,Makoto Shinkai, Katsuhiro Otomo, Masashi Kishimoto, Kentaro Miura
negative prompt(low quality, worst quality:1.4), (bad_prompt:0.8), (monochrome:1.1), (greyscale), username, watermark, signature, text, logo, nsfw
请添加图片描述请添加图片描述请添加图片描述
请添加图片描述请添加图片描述请添加图片描述
请添加图片描述请添加图片描述

可以看到生成的图片虽然使用了DPM++ 2M Karras取样方法,但是新添加的提示词(64K, Professional,Makoto Shinkai, Katsuhiro Otomo, Masashi Kishimoto, Kentaro Miura)的作用也是非常明显,生的的图像色彩对比更明显,图像的细节也更多了。并且图像的面部、肢体也和正常人物形象没有什么很大差别,并没有出现多余的肢体、畸形的手等变异的地方。

四、总结

StableDiffusionWebUI 的出神入化让我十分震惊,HAI不仅可以构建应用,而且也提供了部署的功能,这让我一个嫌麻烦的人似乎找到了归宿。本来自己构建模型的话就挺复杂了,HAI 彻底解决了我的问题。在体验过程中,对 HAI 构建应用有一些自己的看法:

缺陷以及优化建议:

1、构建HAI应用地域的选择有点少,像北京这样的一线城市选项竟然么有,有一些诧异。
2、生成图像过程中会出现卡顿现象,虽然显示图像在生成中,但是进度一直不动,卡的时间比较长,只能重启应用来解决问题,如果能监控到图像生成的问题并给予提示就更好了。个人认为是算力不够,在处理更大尺寸的图像、采样步数过大等问题,会有限制。
3、对于有经验的使用者,对目标图像生成时,配置参数有自己的着重点。但是对于新手使用,提示词积累比较少,生成图像可能跟自己的预期大相径庭,能提供一些提示词案例就更好了。

优点:

1、HAI 提供了简单易用的API接口和友好的开发工具,方便用户开发和调试。
2、快速构建和部署,我觉得这是很多使用者都能看到的优点,真的很方便。
3、HAI 使用先进的架构和算法,能够处理大量并发请求,并提供高吞吐量和低延迟的服务,这让使用者在使用应用过程中体验更好。
4、可以搭建一套服务,让多个应用一起使用,这样不仅节约了经费,还节省了时间。

附:HAI官方地址:https://cloud.tencent.com/product/hai

这篇关于【腾讯云 HAI域探秘】StableDiffusionWebUI 让我找到了宫崎骏动漫里的夏天的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/475049

相关文章

AIGC6: 走进腾讯数字盛会

图中是一个程序员,去参加一个技术盛会。AI大潮下,五颜六色,各种不确定。 背景 AI对各行各业的冲击越来越大,身处职场的我也能清晰的感受到。 我所在的行业为全球客服外包行业。 业务模式为: 为国际跨境公司提供不同地区不同语言的客服外包解决方案,除了人力,还有软件系统。 软件系统主要是提供了客服跟客人的渠道沟通和工单管理,内部管理跟甲方的合同对接,绩效评估,BI数据透视。 客服跟客人

腾讯社招面试经历

前提:本人2011年毕业于一个普通本科,工作不到2年。   15号晚上7点多,正在炒菜做饭,腾讯忽然打电话来问我对他们的Linux C++的职位是否感兴趣,我表达了我感兴趣之后,就开始了一段简短的电话面试,电话面试主要内容:C++和TCP socket通信的一些基础知识。之后就问我一道算法题:10亿个整数,随机生成,可重复,求最大的前1万个。当时我一下子就蒙了,没反应过来,何况我还正在烧

完整的腾讯面试经过

从9月10号开始到现在快两个月了,两个多月中,我经历数次面试和笔试,在经历这些的同时积累了不少的经验,也学到了不少东西,在此把它记录下来,算是和一起找工作中的同学一起共勉吧。我是本校的学生,专业是机械制造及其自动化,找工作的主要目标是计算机软件类和机械制造方向的国内的企业,所以意向去外企的同学就不必浪费时间看这些面经啦,想去国内IT企业的同学可以继续看下去。本贴中我把最近的腾讯面试经过写下

在二叉树中找到两个节点的最近公共祖先(基于Java)

如题  题解 public int lowestCommonAncestor(TreeNode root, int o1, int o2) {//记录遍历到的每个节点的父节点。Map<Integer, Integer> parent = new HashMap<>();Queue<TreeNode> queue = new LinkedList<>();parent.put(roo

Spring Boot 注解探秘:HTTP 请求的魅力之旅

在SpringBoot应用开发中,处理Http请求是一项基础且重要的任务。Spring Boot通过提供一系列丰富的注解极大地简化了这一过程,使得定义请求处理器和路由变得更加直观与便捷。这些注解不仅帮助开发者清晰地定义不同类型的HTTP请求如何被处理,同时也提升了代码的可读性和维护性。 一、@RequestMapping @RequestMapping用于将特定的HTTP请求映射到特定的方法上

腾讯面试准备

hash、map、dict区别 右值引用 虚函数和纯虚函数 虚表 运算符重载 epoll和select es原理 一面 waf运行在nginx哪一个阶段nginx后台连接超时是否会再连接 估计是max_fails, fail_timeouttcp黏包?大数据求中位数 需要注意的问题 数据库分布式数据库分表数据库拆表大数据读取数据库查询优化等等数据库相关问题

黑神话悟空背后的技术揭秘与代码探秘

《重塑神话:黑神话悟空背后的技术揭秘与代码探秘》 引言 在国产游戏领域,《黑神话:悟空》无疑是一颗璀璨的明星,它不仅融合了深厚的中国文化元素,更在技术上实现了诸多突破,为玩家带来了前所未有的沉浸式体验。本文将深入剖析《黑神话:悟空》背后的关键技术,并通过代码案例展示其技术实现的魅力。 一、高精度动作捕捉技术 《黑神话:悟空》中的角色动作之所以如此逼真,得益于高精度动作捕捉技术的应用

app提交到腾讯开发平台,提示无法获取签名信息,请上传有效包(110506)

最近提交APP时遇到的,一般情况下是因为打包时至勾选v2没有勾选v1的原因,如下图: 这个时候将v1勾选即可。 但是在打包时ˉv1和v2都勾选了也可能会出现这个报错,那就要看一下gradle的 minSdkVersion,如果这个版本在24-26之间也可能会提示这个错误,所以降低这个版本就可以了

Spring是如何找到URL请求对应的Controller的

文章来源 原文作者:Spring MVC 原文地址: https://blog.csdn.net/hl233211/article/details/77450697 http://ddrv.cn/a/58528 本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。 序:先贴一张SpringMVC整体的框架原理图 此文主要描述Spring在响应请求的时候是如何根据U

腾讯8分钟产品课|1-8集总结

用户、定位、需求、时机、匠心、危机、合作、商业——还原产品背后故事,分享腾讯产品心法。 一、用户:一切以用户价值依归 1、定义用户:明确产品服务于谁,目标用户是怎样一群人,他们的喜好是什么,在什么场景下使用产品。 2、接近用户:用户访谈、回复发帖、阅读反馈、问卷调研、走进场景、观察行为、分析数据......通过多种渠道接近用户,持续获取真实的用户画像。 3、了解用户:站在用户角度思考问