AI绘画-Stable Diffusion 原理介绍及使用

news2025/1/18 21:05:15

引言

好像很多朋友对AI绘图有兴趣,AI绘画背后,依旧是大模型的训练。但绘图类AI对计算机显卡有较高要求。建议先了解基本原理及如何使用,在看看如何实现自己垂直行业的绘图AI逻辑。或者作为使用者,调用已有的server接口。

首先需要说明的是,AI绘图和AI识图是不一样的两类训练模型。当然从原理上讲,你可以很范的认为他们都是从训练集中训练神经网络,经过正向传播,反向计算,调整参数,降低loss,并不断迭代。在验证集验证模型,并在测试集上测试模型。但实际上在实作的时候,AI绘图对显卡等硬件资源要求相对更高,且模型在前期,中期,后期的处理手法也不一样。今天以 stable diffusion 为例,看看他的基本原理和怎么用。

Stable Diffusion 主要技术

VAE(变分自编码器)

stable diffusion 采用了VAE模型的预加载方式,在训练过程中,通常会采用预训练的通用VAE(变分自编码器)或自己训练的VAE模型。
他使用Encoder部分对原图片进行处理,将输入图片信息降维到latent space(潜在空间)。
在latent space上应用Diffusion Model进行正向采样和逆向预测。

总的来说,有如下步骤:

数据预处理:使用预训练的VAE模型对输入图片进行编码,将其映射到潜在空间。
正向扩散:在潜在空间上,对编码后的数据添加噪声,模拟扩散过程。
逆向预测:训练模型从含噪声的数据中恢复出原始图像,即逆向扩散过程。
参数调整:通过调整学习率、正则化参数等,控制神经网络参数的变化范围,提高模型的稳定性和收敛性。
结合其他技巧:应用批标准化、残差网络等训练技巧,进一步提高模型的稳定性和训练效果。

使用

github 下载project,进行build

如果你自己的GPU很好,你可以本地搭建stable diffusion,比如你的pc或台式机配了GeForce RTX 高端型号显卡。你可以在github 下载 stable diffusion 项目进行 build。

build 前会自动 pip 相关依赖

使用已搭建完成的 stable diffusion

初学者总是站在巨人的肩上,来看下 stable diffusion 怎么用。我这里采用的是baidu 飞浆 AI进行使用讲解。我们先进入 stable diffsuion 的应用页:

大模型社区-飞桨星河AI Studio大模型社区

先尝试下文字转图的效果:

效果还行。

我们再尝试生成一只小老虎

我们发现其实并不是非常完美,如果没有下面的 不出现内容,该stable diffusion 生成的是一只成年老虎。

其实里面提供了API,你可以通过API调用的方式实现。

你需要构造的request:

你得到的response:

实际上生成的图是一个imgurls的数组,里面就是生成的结果,你可以单独打开这个url:

好了,就先写到这里吧

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

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

相关文章

20240701 每日AI必读资讯

🏫AI真炼丹:整整14天,无需人类参与 - 英矽智能推出全球首个AI参与决策的生物学实验室,实现了14天内完成靶点发现和验证的全自动化闭环实验。 - 该实验室由PandaOmics平台驱动,集成多种预测模型和海量数据&#xff0…

springboot基础入门2(profile应用)

Profile应用 一、何为Profile二、profile配置方式1.多profile文件方式2.yml多文档方式 三、加载顺序1. file:./config/: 当前项目下的/config目录下2. file:./ :当前项目的根目录3. classpath:/config/:classpath的/config目录4. classpath:/ : classpath的根目录 四…

ffmpeg使用bmp编码器把bgr24编码为bmp图像

version #define LIBAVCODEC_VERSION_MAJOR 60 #define LIBAVCODEC_VERSION_MINOR 15 #define LIBAVCODEC_VERSION_MICRO 100 note 不使用AVOutputFormat code void CFfmpegOps::EncodeBGR24ToBMP(const char* infile, const char* width_str, const char* height_str…

Python数据分析-风湿关节炎生存分析

一、研究背景和意义 类风湿关节炎(RA)是一种慢性炎症性疾病,主要影响关节,但也可能影响身体的其他部分。RA的病因尚不完全清楚,但已知其涉及免疫系统的异常反应。患者的免疫系统错误地攻击自身的关节组织,…

机器学习中的数学底蕴与设计模式

在说机器学习设计模式之前,想多说几句,在进入软件行业最初的10年,那时候耳熟能详的基本就是多线程编程,互斥同步锁,设计模式,OOA,OOP,常规数组,tree,图的数据…

【图论】200. 岛屿问题

200. 岛屿问题 难度:中等 力扣地址:https://leetcode.cn/studyplan/top-100-liked/ 问题描述 给你一个由 1(陆地)和 0(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围&…

你真的会udf提权???数据库权限到系统权限 内网学习 mysql的udf提权操作 ??msf你会用了吗???

我们在已经取得了数据库的账号密码过后,我们要进一步进行提取的操作,我们mysql有4钟提权的操作。 udf提权(最常用的)mof提权启动项提权反弹shell提权操作 怎么获取密码操作: 怎么获取密码,通过sql注入获取这个大家都应该知道了&a…

专题四:Spring源码初始化环境与BeanFactory

上文我们通过new ClassPathXmlApplicationContext("applicationContext.xml");这段代码看了下Spring是如何将Xml里面内容注入到Java对象中,并通过context.getBean("jmUser");方式获得了一个对象实例,而避开使用new 来耦合。今天我们…

Houdini速通VOP强化训练上部

Houdini 速通 VOP 强化训练上部是一门针对 Houdini 中 VOP(Vector Operation Language)的强化训练课程。本课程深入探讨了 Houdini 中 VOP 的核心概念和高级技术,通过实际案例和项目实战,帮助学员快速掌握 VOP 的使用技巧和编程方…

SpringBoot Task 定时任务

springboot中使用Task定时任务非常简单 springboot 中自带的都有注解不需要引入依赖 第一步:在启动类上添加启用定时任务注解 EnableScheduling //开启任务调度 第二步:创建一个springboot组件用于定时任务管理 package cn.lsy.api.Task;import cn.ls…

【Unity实战】在RHEL 9上安装UnityHub

一般来说,Unity编辑器的安装,官方已经给出了安装教程。 但是这个忽略了RHEL 9的一个特性:默认的加解密策略已经不支持SHA1了,你会在执行yum install unityhub那里出现如下报错: [shepherdlocalhost ~]$ sudo yum inst…

[C++][设计模式][备忘录模式]详细讲解

目录 1.动机2.模式定义3.要点总结4.代码感受 1.动机 在软件构建过程中,某些对象的状态转换过程中,可能由于某中需要,要求程序能够回溯到对象之前处于某个点的状态。 如果使用一些公开接口来让其他对象得到对象的状态,便会暴露对象…

66、基于长短期记忆 (LSTM) 网络对序列数据进行分类

1、基于长短期记忆 (LSTM) 网络对序列数据进行分类的原理及流程 基于长短期记忆(LSTM)网络对序列数据进行分类是一种常见的深度学习任务,适用于处理具有时间或序列关系的数据。下面是在Matlab中使用LSTM网络对序列数据进行分类的基本原理和流…

TomCat小型服务器安装

一、安装步骤 Tomcat官方站点: http://tomcat.apache.org 1、进入官方网站后获取安装包: 🤠tar.gz文件是Linux操作系统下的安装版本 🤠zip文件是Windows系统下的压缩版本 2、解压安装 解压到自己的文件夹中 3、安装JDK 设置环…

Go源码--context包

简介 Context 是go语言比较重要的且也是比较复杂的一个结构体,Context主要有两种功能: 取消信号:包括直接取消(涉及的结构体:cancelCtx ; 涉及函数:WithCancel)和携带截止日期的取消(涉及结构…

功能强大的声音模拟合成软件Togu Audio Line TAL-Mod 1.9.7

Togu Audio Line TAL一个虚拟模拟合成器,具有卓越的声音和几乎无限的调制能力。其特殊的振荡器模型能够创建广泛的声音,从经典的单声道到丰富的立体声引线、效果器和焊盘。路由可以使用虚拟跳线电缆来完成。只需连接调制输出以达到调制的目的。之后,您可以调整调制强度。您不…

dB分贝入门

主要参考资料: dB(分贝)定义及其应用: https://blog.csdn.net/u014162133/article/details/110388145 目录 dB的应用一、声音的大小二、信号强度三、增益 dB的应用 一、声音的大小 在日常生活中,住宅小区告知牌上面标示噪音要低…

Excel表格转Tex工具推荐

为了制作符合 SCI 论文要求的表格,直接用 LaTeX 编写通常比较复杂。我们可以先在 Excel 中绘制好所需的表格(最好加上边框)。最近我发现了一个非常好用的 Excel 转 LaTeX 工具,能够让 LaTeX 表格的编写变得非常方便。 工具&#…

数据资产治理的智能化探索:结合云计算、大数据、人工智能等先进技术,探讨数据资产治理的智能化方法,为企业提供可靠、高效的数据资产解决方案,助力企业提升竞争力

一、引言 在信息化时代,数据已成为企业最重要的资产之一。随着云计算、大数据、人工智能等先进技术的飞速发展,数据资产治理面临着前所未有的机遇与挑战。本文旨在探讨如何结合这些先进技术,实现数据资产治理的智能化,为企业提供…

X科网js逆向分析

登录抓包之后发现pwd字眼,直接搜索即可 通过$.md5(pwd)之后得到的加密结果就是我们的pwd参数 他说是md5我们不妨测试一下: 1)测试使用$.md5(1)加密数字1 得到c4ca4,说明就是$.md5(),md5加密 2)测试$.md5…