极简通俗VAE

news2025/1/11 11:34:49

一、VAE

背景:VAE什么变分自编码器,听起来起名都头大,用大白话告诉你。

把一个复杂图片压缩成两个参数,用这个参数采样再复原。

这个简单的东西是两个参数,均值和方差,用(0,1)随机取个值a  z = μ + σ * a 这个Z可以是变化的,代码你的图片

二、代码

极简代码和公式最靠近本质,VAE如下

class Encoder(nn.Module):
    def __init__(self, input_dim, hidden_dim, latent_dim):
        super(Encoder, self).__init__()
        self.fc1 = nn.Linear(input_dim, hidden_dim)
        self.fc_mu = nn.Linear(hidden_dim, latent_dim)
        self.fc_logvar = nn.Linear(hidden_dim, latent_dim)
    
    def forward(self, x):
        x = torch.relu(self.fc1(x))
        mu = self.fc_mu(x)
        logvar = self.fc_logvar(x)
        return mu, logvar

class Decoder(nn.Module):
    def __init__(self, latent_dim, hidden_dim, output_dim):
        super(Decoder, self).__init__()
        self.fc1 = nn.Linear(latent_dim, hidden_dim)
        self.fc2 = nn.Linear(hidden_dim, output_dim)
    
    def forward(self, z):
       z = torch.relu(self.fc1(z))
       x_hat = torch.sigmoid(self.fc2(z))
       return x_hat

三、训练和损失

训练就是用GPU给你干活。你告诉GPU方向,就是用损失告诉GPU,给我降低点损失

损失就是给点数据,让数据沿着路(神经网络)往前跑的结果,这个结果输入一个损失函数,得到就是损失。

VAE的损失 包括 重建损失,KL损失(也就是分布之间的距离)

衡量原始输入 x 和重构输出 x' 之间的差异。通常使用均方误差(MSE)或交叉熵损失。

VAE在文生图例如 Stable disfussion 1.5 XL 、DIT等起的左右是把图片压缩到一个隐向量。 

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

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

相关文章

15kg级弹簧刀高速巡飞无人机技术详解

弹簧刀高速巡飞无人机,作为一种先进的战术导弹系统,融合了无人机与导弹的双重特性,成为了现代战争中不可或缺的侦察与打击利器。该无人机以其小巧的外形设计、优异的性能表现和广泛的适用领域,受到了全球军事领域的广泛关注。弹簧…

ChatGPT如何应用在谷歌seo?

ChatGPT在提升博客和创作效率方面非常有用。它可以帮助你快速生成吸引人的标题,确保内容第一眼就能抓住读者的注意力。不仅如此,ChatGPT还能根据你的主题生成详细的文章提纲,让你在写作时思路更加清晰。关键词优化也是它的强项,可…

当《开心消消乐》遇上 AI 推理,我们找到了高质量关卡背后的原因!

随着 AI 热潮席卷各行各业,其落地应用已经成为企业技术研发升级的工作重心。人工智能应用的升级不仅需要软件层面的升级迭代,还需要大规模基础设施的支撑。然而,自行搭建大规模算力、存储基础设施对于大多数企业而言都存在技术难度、人力资源…

OpenSSL的一些使用案例

目录 一、介绍 二、基本使用 1、Shell (1)文件加解密 (2)生成密钥文件 2、API (1)md5sum (2)AES256加解密 一、介绍 本篇博客重点不是详细描述 OpenSSL 的用法,只…

【IA修补一切】Inpaint Anything: Segment Anything Meets Image Inpainting论文解读

作者来自中国科学技术大学和东部高级研究院。文章提出了一个新的图像修复工具“Inpaint Anything (IA)”,它结合了不同的视觉模型,如Segment Anything Model (SAM)、LaMa、Stable Diffusion (SD)等,以实现更高级的图像编辑功能。 论文&#x…

P3374 【模板】树状数组 1

题目描述 如题,已知一个数列,你需要进行下面两种操作: 将某一个数加上 𝑥x 求出某区间每一个数的和 输入格式 第一行包含两个正整数 𝑛,𝑚n,m,分别表示该数列数字的个数和操作的总个数。 …

【MySQL】表的操作{创建/查看/修改/删除}

文章目录 1.创建表1.1comment:注释信息1.2存储引擎 2.查看表3.修改表3.1add添加列,对原数据无影响3.2drop删除列3.3modify修改列类型3.4change修改列名3.5rename [to]修改表名 4.删除表5.总结 1.创建表 CREATE TABLE table_name (field1 datatype,field…

springboot医院门诊挂号系统-计算机毕业设计源码033123

目 录 摘要 1 绪论 1.1研究背景及意义 1.2研究现状 1.3系统开发技术的特色 1.4论文结构与章节安排 2 医院门诊挂号系统系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1数据增加流程 2.3.2数据修改流程 2.3.3数据删除流程 2.3 系统功能分析 2.3.1 功能性分析 2.…

第一百三十八节 Java数据类型教程 - Java boolean数据类型和float数据类型

Java数据类型教程 - Java boolean数据类型 布尔数据类型只有两个有效值:true和false。 这两个值称为布尔值字面量。 我们可以使用布尔值字面量 boolean done; // Declares a boolean variable named done done true; // Assigns true to done布尔变量不能转换为任何其他…

什么是分库分表?它有哪些实现类型?

假如你正在使用关系型数据库开发一款健康类系统。业务发展很好,系统有很多活跃的新老用户,这些用户会和平台的医生团队进行交互,每天可能会生成数万甚至数十万级别的业务数据。这样的话,随着数据量越来越大,系统中的某…

如何选择易用性高的项目管理软件?

随着项目管理在各行各业的广泛应用,选择一款易用性高的项目管理软件变得越来越重要。易用性高的软件可以帮助企业提高工作效率,降低管理成本,同时还能提升团队之间的协作能力。那么,如何选择一款易用性高的项目管理软件呢&#xf…

C++ Linux调试(无IDE)

跨平台IDE编译调试C很方便,如QTCreate 、VSCode、Eclipse等,但是如果只能使用Shell控制台呢,gdb调试的优势就很明显了,在没有IDE的情况下,这个方式最有效。因为上手不是很难,特此整理 参考链接 目录 1、G…

边缘网关在实际应用中的价值与挑战-天拓四方

随着物联网、大数据和人工智能等技术的快速发展,边缘计算逐渐崭露头角,成为推动数字化转型的关键力量。而边缘网关,作为边缘计算的核心组成部分,其重要性不言而喻。本文将以某智能制造企业为例,结合数据分析&#xff0…

MySQL高级-MVCC- readview介绍

文章目录 1、介绍2、ReadView中包含了四个核心字段:3、版本链数据的访问规则:4、不同的隔离级别,生成ReadView的时机不同: 1、介绍 ReadView(读视图)是 快照读 SQL执行时MVCC提取数据的依据,记录…

微信小程序订单发货管理接入

订单发货管理接入指引:https://mp.weixin.qq.com/cgi-bin/announce?token1148555877&actiongetannouncement&key11671435333v04b2&version1&langzh_CN&platform2https://mp.weixin.qq.com/cgi-bin/announce?token1148555877&actiongetann…

Redis基础教程(十):HyperLogLog

💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快! 💝&#x1f49…

掌握IP代理API提取技巧,让你的网络操作更高效!

IP代理在现代网络中扮演着越来越重要的角色。今天,我们将深入探讨IP代理的API提取知识,帮助大家更好地理解和应用这一技术。 IP代理API是什么? IP代理API是提供IP代理服务的接口,允许开发者通过编程方式自动获取和管理代理IP。通…

土壤养分检测仪——助力农田监测

在现代化的农业生产中,精准施肥、科学种植已成为提升作物产量与品质的关键。为了实现这一目标,土壤养分检测仪成为了农田科技的得力助手。这款仪器不仅配备了成品药剂和检测器材,还能在现场进行快速测定,广泛应用于农田土壤养分的…

干式电抗器的工作原理是什么

干式电抗器是电力系统中常用的无功补偿设备,主要用于调节电网的电压、提高功率因数、限制短路电流等。它的工作原理主要是通过在电路中引入一个与负载电流相反的磁场,从而产生一个与负载电流相抵消的电抗力,达到调节电压和功率因数的目的。 干…

昇思25天学习打卡营第12天|linchenfengxue

DCGAN生成漫画头像 通过示例代码说明DCGAN网络如何设置网络、优化器、如何计算损失函数以及如何初始化模型权重。 GAN基础原理 生成式对抗网络(Generative Adversarial Networks,GAN)是一种生成式机器学习模型,是近年来复杂分布上无监督学习最具前景的…