【Datawhale X 魔塔 AI 夏令营】 Task3 笔记

task3 学习手册

GUI

GUI 是 “Graphical User Interface”(图形用户界面)的缩写。

其他的一些GUI:

Clip Drop:(官方在线)提供文字去除、北京去除与替换、放大、重新打光、物体清除、草图生成、图像变体与扩展、新模型SDXL生成等10多项功能。

Invoke AI:(第三方开源)推出了类似ComfyUI的节点式工作界,面画布功能,便于重绘和扩展。

SD. Next:(第三方开源)由webUI延伸而来,支持除SD之外的Kandinsky、DeepFloyd IF、UniDiffusion、SD-Distilled等多种扩散模型,适用于各种运行环境。

Volta ML:(第三方开源)Volta ML-Fast Stable Diffusion项目,安装简单,界面简洁,适合新手上手。

SD Online:(第三方在线)在线免费网站,webUI界面,提供controlnet、提示词生成器以及提示词语库等功能。

Hugging Face:(第三方在线)部署了各种系列的模型,免费,排队时间比较长。

Platground AI:(第三方在线)限量免费的在线平台,每天1000张的免费额度。

来源于:GUI盘点

主流GUI:

  • 窗口式:WebUI
  • 节点式:ComfyUI
  • Prompt Only:Fooocus,只需关注提示词,无需在乎各种复杂参数

ComfyUI:

文生图、图生图的工作流平台工具ComfyUI。

功能:图形界面、后端、插件,通用的可视乎代码平台,可以作为一个接入其他API的平台。

插件:WebUI、Blender(无限圣杯项目)

后端:ComfyBox、StableSwarmUI、Fooocus

选择:

  1. 只想简单地通过提示词获得高质量图像,选择fooocus
  2. 需要使用CN等工具,选择MRE版本
  3. 需要丰富的插件或者习惯图文框式操作界面,选择WebUI
  4. 需要进行长线、定制化、自动化,选择ComfyUI
  5. 需要ComfyUI的灵活性和图文框式操作界面,选择以ComfyUI作为后端的几种前端界面ComfyBox、StableSwarmU

ComfyUI

ComfyUI 是GUI的一种,是基于节点工作的用户界面,主要用于操作图像的生成技术,ComfyUI 的特别之处在于它采用了一种模块化的设计,把图像生成的过程分解成了许多小的步骤,每个步骤都是一个节点。这些节点可以连接起来形成一个工作流程,这样用户就可以根据需要定制自己的图像生成过程。

基础逻辑

模块(元素)→模组(组件)→功能组(构造)→工作流(结构)→目标(功能)
在这里插入图片描述

模块/模组

核心
![[image-202408171353.png]]

客制模组/自定义节点组
![[image-202408171352.png]]

功能组

提示词输入:

文本提示词由CLIP模型+正负提示输入组成。

图像提示词由图像编码器接入条件编码器模型以及图像组成。

在这里插入图片描述

初试噪声:

  1. 潜空间噪声,empty latent image 模块
  2. 像素噪声图,通过noise(第三方模组)生成,经过VAE编码器进入潜空间
  3. 将图像经过VAE编码器进入潜空间,图生图

ControlNet:

ControlNet是一种可以集成到现有生成模型中的模块,实现更精细的控制和更好的生成效果。

通过一个处理器接入CN模型、条件以及经过预处理的特定图像(选择与CN模型相匹配的预处理器完成控制)

![[image-202408171401.png]]

GLIGEN:

基于语言的图像生成(Grounded-Language-to-lmage Generation),是一种相对较新的从文本中创建图像的方法,简单且有效。与仅使用文本的旧方法不同,GLIGEN允许您在描述中添加额外的细节,称为基准输入(grounding inputs),从而使您对图像的最终组成有更多的控制。

分别将CLIP模型、GLIGEN模型以及条件作为输入,经过处理后以条件作为输出,用于控制指定物体的坐标与大小。

Sampler:

以主模型、正负条件、潜空间噪声图作为输入,经过一系列的采用后以潜空间作为输出。

![[image-202408171411.png]]

Output:

接受潜空间和VAE模型作为输入,进入VAE处理器,最终输出图像,图像可使用保存模块,也可使用预览模块。

Upscale:

最基础的模型放大:将图像和指定的放大模型输入到放大模块
二次采样放大:通过潜空间放大之后再次进入采样器采样
经过模型放大的图像也可以通过VAE编码进入潜空间及再进行二次采样

![[image-202408171412.png]]

工作流

匹配输入输出类型、梳理功能逻辑,连接组成工作流

![[image-202408171417.png]]

高阶工作流
![[image-202408171418.png]]
图片来源

ComfyUI应用

官方指南

核心模块

Loader Checkpoint: 加载基础的模型文件

CLIP: 将文本类型的输入变为模型可理解的latent space embedding作为模型输入

VAE Model: 将latent space中的embedding解码为像素级别的图像

SD Sampler:

  • seed:控制噪声产生的随机种子。
  • control_after_generate:控制seed在每次生成后的变化。。
  • steps:降噪的迭代步数,越多则信号越精准,相对的生成时间也越长
  • cfg:classifer free guidance决定了prompt对于最终生成图像的影响有多大。更高的值代表更多地展现prompt中的描述。
  • denoise: 多少内容会被噪声覆盖。
  • sampler_name、scheduler:降噪参数。

Sampler方法选择:

  • Euler:最简单的求解器
  • LMS:(Linear multi-step method)更快版本的Euler
  • Heun:更精准但更慢版本的Euler
  • Ancestral:(带a的)生成过程更随机,并不会收敛
  • Karras scheduler:初期sampling noise的值会更大,后期值更小
  • DDIM (Denoising Diffusion Implicit Model) 和 PLMS (Pseudo Linear Multi-Step method) 最初SD论文的使用方法,后者是前者的优化,现在都是用较少了
  • DPM (Diffusion probabilistic model solver) 和 DPM++ 新的方法,后者是前者的迭代版本
  • DPM2 更加精准但是更慢
  • DPM adaptive 更慢但是保证在一定步数内会收敛

Sampler使用总结:

  1. 更快、收敛、新的、高质量:DPM++ 2M Karras – 20-30步、UniPC – 20-30步
  2. 高质量、不关心是否收敛:DPM++ SDE Karras – 10-15步(比较慢)、DDIM – 10-15步
  3. 稳定、可复现的图像:不用带a的
  4. 简单尝试:Euler和Heun,后者可使用更少步数
  • 9
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: CocosCreator是一款功能强大的游戏开发引擎,而魔塔游戏源码则是指使用CocosCreator开发的一款魔塔类游戏的源代码。 CocosCreator魔塔游戏源码通常包含游戏的各个模块,包括角色控制、战斗系统、地图生成以及游戏UI等。在这个源码中,开发者可以看到一套完整的魔塔游戏框架和逻辑。 角色控制是魔塔游戏源码中的重要部分。开发者可以看到玩家角色的移动、攻击以及技能释放等代码。通过阅读源码,开发者可以了解到游戏角色的行为逻辑,比如怪物移动的规则、装备系统的实现等。 另外,战斗系统是魔塔游戏源码中的关键内容。开发者可以通过查看源码,了解到游戏的攻击和防御计算方式、技能释放和效果表现等细节。这对于学习游戏战斗系统的设计与实现非常有帮助。 地图生成也是源码中的一个重要模块。通过阅读源码,开发者可以了解到地图生成的算法、随机事件的处理、宝箱、商店等游戏元素的放置和生成等细节。 游戏的UI设计也是魔塔游戏源码中不可缺少的一部分。开发者可以通过查看源码,了解到游戏UI的布局、按钮点击事件的处理、弹窗的实现等细节。 总之,通过研究CocosCreator魔塔游戏源码,开发者可以学习到游戏开发中常用的算法和设计思路,同时也可以培养自己的开发能力和创造力。在学习和借鉴源码的基础上,开发者还可以根据自身需求进行二次开发和优化,创作出属于自己的魔塔游戏作品。 ### 回答2: CocosCreator魔塔游戏源码是指使用CocosCreator开发的魔塔类游戏的程序代码。CocosCreator是一款基于Javascript的游戏开发引擎,通过它可以轻松创建多平台的游戏。 魔塔游戏源码通常包含了游戏的一些基本组成部分,如场景、角色、道具、怪物等。它们通过CocosCreator的节点和组件系统进行组织和管理。在源码中,开发者可以了解到游戏的逻辑、界面设计以及各个功能模块的实现方式。 通过使用CocosCreator魔塔游戏源码,开发者可以学习到如何实现一个完整的魔塔游戏。他们可以了解到游戏场景的搭建,通过编辑器创建地图和设置场景元素。他们可以学习到如何处理游戏角色的移动、攻击和受伤等操作,并实现相应的动画效果。另外,他们还可以了解到如何处理游戏道具的使用和怪物的生成与AI行为等。 魔塔游戏源码可以帮助开发者迅速上手游戏开发,节省大量的开发时间。通过对源码的学习和理解,开发者可以根据自己的需要进行二次开发和扩展,实现独具创意的魔塔游戏。 ### 回答3: CocosCreator魔塔游戏源码是基于CocosCreator游戏引擎开发的一种魔塔类游戏的代码。魔塔游戏是一种以策略和冒险为主题的角色扮演游戏,玩家需要在迷宫中探索、寻找宝物、打败敌人,最终达到最深层并击败最终BOSS。 CocosCreator魔塔游戏源码包含了游戏的基本逻辑、界面设计、角色控制、敌人AI、道具系统等各个方面的代码实现。通过阅读源码,我们可以了解到游戏是如何实现地图的生成与呈现、角色的移动和战斗、敌人的行为规则、道具的获取和使用等功能。同时,源码还提供了一些基本的游戏美术资源,如角色、地图瓷砖、敌人等,可以用于快速搭建游戏。 在实际使用源码的时候,我们可以根据自己的需求进行修改和扩展,比如添加新的关卡、设计新的敌人、增加新的道具等。同时,我们也可以根据源码学习到CocosCreator游戏开发的一些基本技巧与规范,例如场景管理、碰撞检测、UI设计等。 总之,CocosCreator魔塔游戏源码是一个可以让我们了解和学习魔塔类游戏开发的实际案例,可以通过对源码的学习和修改,快速搭建自己的游戏项目,并且还可以帮助我们掌握CocosCreator游戏引擎的使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值