InsCode Stable Diffusion使用教程【InsCode Stable Diffusion美图活动一期】

news2024/11/24 8:43:15

记录一下如何使用 InsCode Stable Diffusion 进行 AI 绘图以及使用感受。

一、背景介绍

目前市面上比较权威,并能用于工作中的 AI 绘画软件其实就两款。一个叫 Midjourney(简称 MJ),另一个叫 Stable Diffusion(简称 SD)。MJ 需要付费使用,而 SD 开源免费,但是上手难度和学习成本略大,并且非常吃电脑配置(显卡、内存)。

和 MJ 相比,SD 最大的优势是开源,这意味着 Stable Diffusion 的潜力巨大、发展飞快。由于开源免费属性,SD 已经收获了大量活跃用户,开发者社群已经为此提供了大量免费高质量的外接预训练模型(fine-tune)和插件,并且在持续维护更新。在第三方插件和模型的加持下,SD 拥有比 Midjourney 更加丰富的个性化功能。

Stable Diffusion 简介

Stable Diffusion 是 2022 年发布的深度学习文本到图像生成模型,它主要用于根据文本的描述产生详细图像(即 txt2img 应用场景),尽管它也可以应用于其他任务,如内补绘制(inpainting)、外补绘制(outpainting),以及在提示词(英语)指导下产生图生图的翻译(img2img)。

模型原理

在这里插入图片描述
引用一张广为人知的 SD 原理图(源于论文https://arxiv.org/abs/2112.10752),该模型主要可以分为三个部分:

  • 变分编码器(Vector Quantised Variational AutoEncoder,VQ-VAE)
  • 扩散模型(Diffusion Model, DM),在生成图片中起着最重要的作用
  • 条件控制器(Conditioning)

详细原理介绍可参考文章 Stable Diffusion 简介

用一句话总结 SD 的模型原理:图片通过 VAE 转换到低维空间,配合 Conditioning 的 DM 产生新的变量,再通过 VAE 将生成的变量转换为图片

推荐电脑配置

Stable Diffusion 对电脑配置有一定的要求,比较推荐的配置如下:

操作系统:SD 更加适配于 windows。建议使用 windows10、windows11。

内存:8GB 以上,建议使用 16GB 或以上的内存。在内存比较小的情况下,可能需要调高虚拟内存,以容纳模型文件。

硬盘:40GB 以上的可用硬盘空间,建议准备 60GB 以上空间,最好是固态硬盘。

显卡:最低需要显存 2GB,建议显存不少于 4GB,推荐 8GB 以上。型号方面,因为需要用到 CUDA 加速,所以 N 卡支持良好。A 卡可以用,但速度明显慢于英伟达显卡,当然,如果你的电脑没有显卡也可以用 CPU 花几百倍时间生成。

下面是进行 512x 图片生成时主流显卡速度对比:

在这里插入图片描述

Stable Diffusion WebUI

目前有一些基于 Stable Diffusion 封装的 webui 开源项目,可以通过界面交互的方式来使用 Stable-diffusion,自身还可以通过插件等方式获得更多能力,极大的降低了使用门槛,以下是几个比较火的 webui 项目:

  • https://github.com/AUTOMATIC1111/stable-diffusion-webui
  • https://github.com/Sygil-Dev/sygil-webui

这些项目,和平常软件安装方法有所不同,不是下载安装即可用的软件,需要准备执行环境、编译源码,针对不同操作系统(操作系统依赖)、不同电脑(硬件依赖)还有做些手工调整,这需要使用者拥有一定的程序开发经验。

二、Stable Diffusion 模型在线使用地址

InsCode 的 Stable Diffusion 环境主要用于学习和使用 Stable Diffusion,已经安装了相关软件和组件库,可在线直接启动 Stable Diffusion WebUI 进行创作。还可以一键购买算力,训练大模型,极大的降低了 AI 绘图使用门槛。

Stable Diffusion 模型在线使用地址:https://inscode.csdn.net/@inscode/Stable-Diffusion

进入之后点击运行并使用,会弹出一个购买算力资源的窗口。由于是试用,不涉及到连续生成多张图片等场合,因此算力足够用了,选择 RTX 3080 即可(0.51元/小时),目前活动免费试用。

操作完成之后,会跳转到 InsCode 工作台界面,在算力资源中,已经可以看到刚才选择的机器了。

在这里插入图片描述
待它初始化完成,右侧有三个选项,选择 Stabel Diffusion WebUI 进入即可。进入界面如下图:

在这里插入图片描述

三、Stable Diffusion WebUI 界面介绍与参数解析

  • 第一部分:界面最上端 stable diffusion ckpt 可以选择模型文件,InsCode 上面提供了几个常用模型,如 chilloutmix、GuoFeng3、Cute_Animals 可供选择。为 InsCode Stable Diffusion 安装某个自己喜欢的模型可查看这里!

  • 第二部分,便是 stable diffusion webui 项目的主要功能与设置操作

    文生图:顾名思义是通过文本的描述来生成图片
    图生图:用一张图片生成相似的图片
    附加功能:额外的设置
    图片信息:若图片是由 AI 生成的图片,当上传一张图片后,这里会提示图片的相关 prompt 关键字与模型参数设置
    模型合并:可以合并多个模型,有多个模型的权重来生成图片
    训练:模型训练,可以提供自己的图片进行模型的训练,这样别人就可以使用自己训练的模型进行图片的生成
    设置:UI 界面设置
    扩展:插件扩展,这里可以安装一些开源的插件,例如汉化插件

  • 第三部分:是正(负)面提示词输入框,我们需要在此框中输入图片的描述信息,正面提示词是我们希望生成的图片需要的文本,负面提示词是我们不希望生成的图片文本。

    开始不知道怎么写提示词,可以先参考优秀的风格模板作为起手式,还可以借助描述语工具和网站,多出图多研究,掌握了出图规律,慢慢就可以自己写提示词啦,写提示词要尽可能写的详细。跑 AI 的过程就像抽卡,抽出一堆卡,选出你审美范畴里觉得好看的。

  • 第四部分:界面左下方,便是模型输入的相关参数:

    采样方法:里面设置了很多采样算法,各有优缺,具体每个算法的效果,可以自行尝试
    采样迭代步数:模型迭代一次的步数
    平铺:生成一张可以平铺的图像
    面部修复:面部修复功能,可以提供面部细节,但是非写实风格的人物开启面部修复可能导致面部崩坏
    高清修复:可以把低分辨率的照片调整到高分辨率
    宽度高度:输出图片的尺寸
    提示词相关性CFG:较高的数值将提高生成结果与提示的匹配度
    随机种子:seed 一样的情况下,可以生成比较相似的图片,记住保留你喜欢的种子,以便下次再次生成相似的图像
    生成批次:每次生成图像的组数。一次运行生成图像的数量为 生成批次 * 每批数量
    每批数量:同时生成多少个图像

  • 第五部分:便是一键生成图片的按键,我们设置完成以上参数的设置后,点击生成按键,便可以自动生成图片了,

    生成下面的5个小图标(从左到右依次分别是)

    • 复原上次生成图片的提示词(自动记录)
    • 清空当前所有提示词
    • 打开模型选择界面
    • 应用选择的风格模板到当前的提示词
    • 存档当前的正(负)面提示词
  • 相关的图片会展示在第六部分区域。

四、如何在 InsCode 给 Stable Diffusion 安装模型

常用模型下载网址

目前,模型数量最多的两个网站是 civitai 和 Huggingface。

civitai 又称 C 站,有非常多精彩纷呈的模型,有了这些模型,但是该网站在国内是被屏蔽的。登录需要科学上网。

在这里插入图片描述
Huggingface 则相对朴实无华一些,对模型的审核也会更加严格一些。但是好处在于不需要科学上网,而且网速很快。

在这里插入图片描述
此外,AI 图站可以淘到不少 C 站下架了的模型,也是相当不错的。

常用模型及说明

如果你点开上述网站去下载模型,就会发现有各种不同类型的模型。

CivitAI 上的模型主要分为四类:Checkpoint、LoRA、Textual Inversion、Hypernetwork,分别对应 4 种不同的训练方式。

  • Checkpoint:是 SD 能够绘图的基础模型,因此被称为大模型、底模型或者主模型,WebUI 上就叫它 Stable Diffusion 模型。安装完 SD 软件后,必须搭配主模型才能使用。不同的主模型,其画风和擅长的领域会有侧重。Checkpoint 模型包含生成图像所需的一切,不需要额外的文件。但是它们体积很大,通常为2G-7G。存放在 Stable Diffusion 安装目录的 models 的 Stable-diffusion 目录里。

  • LoRA:一种轻量化的模型微调训练方法,是在原有大模型的基础上,对该模型进行微调,用于输出固定特征的人或事物。特点是对于特定风格特征的出图效果好,训练速度快,模型文件小,一般 10-200 MB,需要搭配大模型使用。存放在 Stable Diffusion 安装目录的 models 的 Lora 目录里

  • Embedding/Textual lnversion:一种使用文本提示来训练模型的方法,可以简单理解为一组打包的提示词,用于生成固定特征的人或事物。特点是对于特定风格特征的出图效果好,模型文件非常小,一般几十 K,但是训练速度较慢,需要搭配大模型使用。存放在 Stable Diffusion 安装目录下的 Embeddings 目录里。

  • Hypernetwork:目前 Hypernetworks 已经不太用,类似 LoRA,但模型效果不如 LoRA,一般几十 K,需要搭配大模型使用。存放在 Stable Diffusion 安装目录的 models 下的 Hypernetworks 目录里。

模型推荐:Checkpoint > LoRA > Textual Inversion > Hypernetwork

通常情况 Checkpoint 模型搭配 LoRA 或 Textual Inversion 模型使用,可以获得更好的出图效果。

补充:还有一类 VAE 模型,简单理解它的作用就是提升图像色彩效果,让画面看上去不会那么灰蒙蒙,此外对图像细节进行细微调整。

几个推荐模型

  • DreamShaper

    胜任多种风格(写实、原画、2.5D 等),能生成很棒的人像和风景图的 Checkpoint 模型。

    在这里插入图片描述

  • Chilloutmix/Chikmix

    Chilloutmix 就是大名鼎鼎的亚洲美女模型。市面上你看到的大量的 AI 美女,基本上都是这个模型生成的。当时最火的图应该下面这个系列。

    在这里插入图片描述

    也正是这个模型,让 AI 绘画彻底出圈。

  • Cetus-Mix

    这是一个二次元的混合模型,融合了很多二次元的模型,实际使用效果还不错。对提示词的要求不高。

    在这里插入图片描述

  • Guofeng 系列

    这是一个中国华丽古风风格模型,也可以说是一个古风游戏角色模型,具有 2.5D 的质感。目前最新的版本是 GuoFeng3.4。

    在这里插入图片描述

  • blindbox

    可生成盲盒风格的 LoRA 模型,使用时主模型建议选 ReV Animated。

    在这里插入图片描述

如何在 InsCode 给 Stable Diffusion 安装 Lora

  1. 首先,在自己的电脑上下载好需要安装的 Lora 文件,并通过 Jupyter Lab 启动 GPU,如下图所示:

    在这里插入图片描述

  2. 打开 JupyterLab 界面,找到上传入口,将下载好的 Lora 上传到 GPU。

    在这里插入图片描述

  3. 打开 Terminal ,将已经上传到 GPU 的 Lora 文件复制到 /release/stable-diffusion-webui/models/Lora 文件夹下。

    在这里插入图片描述
    具体命令:

    # cd /root/workspace
    # ls
    jupyterlab.log  shinkai_makoto_offset.safetensors  stable-diffusion-webui.log
    # cp shinkai_makoto_offset.safetensors /release/stable-diffusion-webui/models/Lora 
    # cd /release/stable-diffusion-webui/models/Lora
    # ls
    Cute_Animals.safetensors     SuoiresnuStyle-Rech44.safetensors  ZhouShuyi.safetensors   capi-09.safetensors                 mix4.safetensors
    GuoFeng3.2_Lora.safetensors  YaeMiko_mixed.safetensors          cZhouShuyi.safetensors  koreanDollLikeness_v15.safetensors  	shinkai_makoto_offset.safetensors
    

    注意,这里的 shinkai_makoto_offset.safetensors 是我下载的 Lora 文件

  4. 当看到下载的 Lora 模型文件已经存在 Lora 文件夹下,重新打开 Stable Diffusion WebUI,点击右侧红圈中的 icon,稍等片刻,可以看到 Lora 界面被打开

    在这里插入图片描述

  5. 点击 Lora 之后,可以看到当前 Stable Diffusion 已经安装的 Lora,找到自己上传的 Lora,就会在 Prompt 产生一行对该 Lora 的引用。

    在这里插入图片描述

至此,当前的 Stable Diffusion 版本已经装好了某个自己喜欢的 Lora,同理 , 可以用同样的操作方式安装 Checkpoint、 Embedding 等。

接下来我们使用 InsCode Stable Diffusion 来进行 AI 绘图。

五、使用 InsCode Stable Diffusion 进行 AI 绘图

下面是我的一些生成例子的图片展示,附带参数设置以提示词和种子:

生成图一

在这里插入图片描述
参数配置:

Steps(采样迭代步数): 30
Sampler(采样方法): Euler a
生成批次:1
批次数量:1
CFG scale: 7
Size: 768x1024
Model hash: 7234b76e42
Model: chilloutmix-Ni
Version: v1.2.0
Seed: 162297642

提示词:

Prompt: Best quality,raw photo,seductive smile,cute,realistic lighting,beautiful detailed eyes,(collared shirt:1.1),bowtie,pleated skirt,floating long hair,beautiful detailed sky,
Negtive Prompt: Negative prompt: nsfw, ng_deepnegative_v1_75t,badhandv4, (worst quality:2), (low quality:2), (normal quality:2), lowres,watermark, monochrome

生成图二

在这里插入图片描述
参数配置:

Steps(采样迭代步数): 30
Sampler(采样方法): Euler a
生成批次:1
批次数量:1
CFG scale: 7
Size: 768x1024
Model hash: 74c61c3a52
Model: GuoFeng3
Version: v1.2.0
Seed: 1110161009

提示词:

Prompt: best quality,red clothes,smile,handsome girl,fairy and elegant aura,delicate makeup,
Negtive Prompt: nsfw,ng_deepnegative_v1_75t,badhandv4,(worst quality:2),(low quality:2),(normal quality:2),lowres,watermark,monochrome,modern element,topless female,

生成图三

在图三图四中使用了 Makoto Shinkai 的 Lora 模型,可以生成新海诚画风图片

在这里插入图片描述
参数配置:

Steps(采样迭代步数): 30
Sampler(采样方法): Euler a
生成批次:1
批次数量:1
CFG scale: 7
Size: 1440x810
Model hash: 9c321174ae
Model: ghostmix_v11
Version: v1.2.0
Seed: 2262843784

提示词:

Prompt: ((Best quality)), ((masterpiece)), abandoned brutalist architecture of Pripyat,sunlight,cloudy weather, hyper realistic DSLR photo, Nikon D5 lora:add_detail:1,mist,
Negtive Prompt: ng_deepnegative_v1_75t,easynegative,(worst quality:2), (low quality:2), (normal quality:1.8), lowres, ((monochrome)), ((grayscale)),sketch,ugly,morbid, deformed,logo,text, bad anatomy,bad proportions,disfigured,extra arms, extra legs, fused fingers,extra digits, fewer digits, mutated hands, poorly drawn hands,bad hands, (loli, young, child, infant, teenager:1.5), ((((turned on lights))))

生成图四

在这里插入图片描述
参数配置:

Steps(采样迭代步数): 30
Sampler(采样方法): Euler a
生成批次:1
批次数量:1
CFG scale: 7
Size: 1440x810
Model hash: 9c321174ae
Model: ghostmix_v11
Version: v1.2.0
Seed: 4267252388

提示词:

Prompt: shinkai makoto, kimi no na wa., air conditioner, antennae, architecture, building, cable, city, cloud, cloudy sky, comet, crane (machine), house, industrial pipe, japan, light, night, night sky, no humans, outdoors, pipeline, satellite dish, shinjuku (tokyo), sky, star (sky), tokyo (city), window,lora:shinkai_makoto_offset:1
Negtive Prompt: (painting by bad-artist-anime:0.9), (painting by bad-artist:0.9), watermark, text, error, blurry, jpeg artifacts, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, artist name, (worst quality, low quality:1.4), bad anatomy

六、使用体验

本次功能测评到此结束。总得来说,InsCode 上面在线运行 Stable Diffusion 体验非常棒。然而,有时候会卡死,需要重启 GPU。此外,chilloutmix 在负面提示词较少时容易生成涩图。。。不利于青少年学习

感兴趣的小伙伴可以亲自尝试一下!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/754475.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Unity游戏源码分享-Unity经营类美食小摊小游戏

Unity经营类美食小摊小游戏 挺有意思的小游戏 关卡页面 游戏主页面 有顾客上门 需要给顾客搭配他们想要的美食 会不断地有顾客过来,这个时候就考验手速的时候了,真实模拟经营 服务到位立马有钱 项目地址: https://download.csdn.net/downl…

VisualStudio2022将printf信息打印到控制台

点击“解决方案管理器”,选中项目名称,点击鼠标右键---->属性---->生成事件---->生成后事件,在命令行的右侧输入框里填写如下内容: editbin /SUBSYSTEM:CONSOLE $(OUTDIR)\$(ProjectName).exe接下来在编译运行时&#x…

数据库--->MySQL(2)【事务、SQL优化】

文章目录 事务什么是事务?隔离性中的不同隔离级别事务实现的原理隔离级别的实现原理(MVCC)MySQL中的锁机制 SQL优化 事务 什么是事务? 事务就是逻辑上的一组操作,在同一个事务中,如果有多条sql语句执行&am…

一文详解新一代高效前端构建工具VITE-达观数据

Vite 是一个快速、简单且高效的前端构建工具,它的出现为前端开发者带来了新的构建体验。在本文中,我们将探讨 Vite 的技术原理、优点和使用方法。 Vite 的技术原理 Vite 的核心技术是基于 ES Modules 和浏览器原生模块系统的构建工具。Vite 的构建过程是…

多态的基本使用

这部分的内容主要是记住使用方法,原理在之后会讲。 多态的概念 多态的概念:通俗来说,就是多种形态,具体点就是去完成某个行为,当不同的对象去完成时会产生出不同的状态。 比如说买票,普通人买票就是正常买&…

WTM框架页面被其他网站引用免登录

用ASP.NET CORE开发通常都会有这样一个需求,自己框架开发的页面,要被其他网站嵌套引用,但其他网站通过链接到自己的开发页面的时候,通常会有一个登录页面,有的时候网站无缝集成的时候,这就会要求跳过这个WT…

前端实现 DIV 高度只有100px,宽度只有100px ,我要在这个DIV放一个宽度200的DIV,左右拉动滚动条显示

<!DOCTYPE html> <html> <head><title>点击监听两组span标签</title><style>.outer-div {width: 100px;height: 100px;overflow-x: scroll;background-color: #abc1ee;}.inner-div {width: 200px;}/* 自定义滚动条样式 */.outer-div::-web…

Java 的集合

一、Collection 1、ArrayList 底层采用数组实现&#xff0c;操作大多基于对数组的操作。 在添加和删除时需要做 System.arraycopy(native层方法) 拷贝工作。 添加元素时可能会扩容&#xff0c;这要大量的拷贝工作&#xff0c;删除元素时&#xff0c;会把后面的元素向前拷贝。…

剑指oferr68-II.二叉树的最近公共祖先

为什么这道题的难度是easy&#xff0c;我感觉挺难的啊&#xff0c;我想了挺久没有一点思路就直接看题解了。题解有两种解法&#xff0c;先看第一种存储父节点 class Solution {Map<Integer,TreeNode> parent new HashMap<Integer,TreeNode>();Set<Integer>…

ffmpeg2段视频合成一段

查看分辨率 帧率和编码器 ffprobe -v error -select_streams v:0 -show_entries streamcodec_name,width,height,avg_frame_rate -of defaultnoprint_wrappers1 rs2.mp4得到&#xff0c;编码器&#xff0c;分辨率&#xff0c;还有帧率 codec_nameh264 width1920 height1080 avg…

小白到运维工程师自学之路 第五十二集 (三剑客之awk)

一、概述 awk命令是一种在Unix或类Unix系统上使用的文本处理工具。它以行为单位读取输入文件&#xff0c;按照预定义规则对每一行进行处理并生成输出。 通过使用一种简单的编程语言&#xff0c;awk提供了对文本数据进行过滤、处理和转换的强大能力。它可以轻松地提取文本中的…

实验四 交换机 VLAN 配置

文章目录 实验目的实验原理实验内容实验总结 实验目的 理解 VLAN 的概念、原理&#xff1b;掌握基于交换机端口的 VLAN 划分方法&#xff1b;掌握 Cisco2950 交换机的单交换机和跨交换机 VLAN 配置方法。 实验原理 &#xff08;1&#xff09;VLAN 的概念 VLAN&#xff08;Vi…

CQ 社区版 2.2.0 发布 | 配置要求降为 4 核 16G!!!

&#x1f389;&#x1f389;&#x1f389; 喜大普奔&#xff01;&#xff01;&#xff01; 经过我们研发团队的不断努力&#xff0c;CloudQuery 终于「瘦身」成功啦&#xff01;&#xff01;&#xff01; 本次发布的 v2.2.0 版本&#xff0c;推荐配置降为&#xff1a; CPU&a…

【iOS内存管理-内存的几大区域】

前言 iOS内存管理的第一篇章&#xff0c;了解iOS内存的五大分区。 总览 iOS中&#xff0c;内存主要分为五大区域&#xff1a;栈区&#xff0c;堆区&#xff0c;全局区/静态区&#xff0c;常量区和代码区。总览图如下。 如上图所示&#xff0c;代码区是在低地址段存放&#x…

关于AWS MSK Connector Execution Role的解释

尽管在创建AWS MSK Connector时&#xff0c;Execution Role是一个必填项&#xff0c;就像下面这样&#xff1a; 并且在官方文档中给出的Execution Role样例&#xff1a; https://docs.aws.amazon.com/msk/latest/developerguide/msk-connect-service-execution-role.html 中也…

基于JSP+Servlet的学生信息管理系统

用户类型&#xff1a;三角色&#xff08;学生、教师、管理员&#xff09; 项目架构&#xff1a;B/S架构 设计思想&#xff1a;MVC 开发语言&#xff1a;Java语言 前端技术&#xff1a;Layui、HTML、CSS、JS、JQuery、Ajax等技术 后端技术&#xff1a;JSP、Servlet、JDBC、…

基于JSP+Servlet的医药药品管理系统

用户类型&#xff1a;双角色角色&#xff08;患者、管理员[医生]&#xff09; 设计模式&#xff1a;MVC&#xff08;jspservletjavabean) 项目架构&#xff1a;B/S架构 开发语言&#xff1a;Java语言 主要技术&#xff1a;jsp、servlet、jdbc、jsp、html5、jquery、css、js…

【哈希表/字符串-简单】LeetCode 205 同构字符串 Java

需要判断s和t每个位置上的字符是否都一一对应&#xff0c;即s的任意一个字符被t中唯一的字符对应&#xff0c;同时t的任意一个字符被s中唯一的字符对应。这也被称为【双射】的关系。 以示例二为例&#xff0c;t中的字符a和r虽然有唯一的映射o&#xff0c;但对于s中的字符o来说…

Vim批量注释与反注释

在使用vim编写代码的时候&#xff0c;经常需要用到批量注释与反注释一段代码。下面简要介绍其操作。本文记录在mac/linux下的vim批量注释。 一开始我想让vim配置ctrl/快捷键&#xff0c;快速批量注释&#xff0c;但是vim的文档中不支持这样的快捷键。 如果实在要弄也能弄&…

集群基础2——LVS负载均衡httpd服务(nat模式)

文章目录 一、环境说明一、配置调度器网卡二、配置后端服务器三、配置调度器四、验证五、设置https负载均衡 一、环境说明 使用lvs中的nat模型&#xff0c;对http负载均衡集群。 主机IP角色安装服务真实IP&#xff1a;192.168.161.129VIP&#xff1a;192.168.161.130调度服务器…