第四十三周周报

news2024/12/28 3:18:45

学习目标:

latent-diffusion 代码

学习时间:

2023.06.17 - 2023.06.30

学习产出:

一、代码

1、前置知识:PyTorch Lightning执行顺序

执行顺序:
trainer.fit(model):开始训练模型。
prepare_data():准备数据集。
setup():设置数据集和其他变量。
train_dataloader():返回一个训练数据加载器。
val_dataloader():返回一个验证数据加载器。
test_dataloader():返回一个测试数据加载器。
on_epoch_start():在每个训练轮次开始时被调用。
on_train_batch_start():在每个训练批次开始时被调用。
training_step():执行一个训练步骤。
backward():计算梯度。
optimizer_step():更新模型参数。
on_after_backward():在反向传播后被调用。
on_train_batch_end():在每个训练批次结束时被调用。
on_epoch_end():在每个训练轮次结束时被调用。
on_batch_end():在每个批次结束时被调用。
on_test_batch_start():在每个测试批次开始时被调用。
test_step():执行一个测试步骤。
on_test_batch_end():在每个测试批次结束时被调用。
on_test_end():在测试结束时被调用。
on_fit_end():在训练结束时被调用。
执行顺序应该是:prepare_data() -> setup() -> train_dataloader() -> val_dataloader() -> test_dataloader() -> on_epoch_start() -> 
on_train_batch_start() -> training_step() -> backward() -> optimizer_step() -> on_after_backward() -> on_train_batch_end() ->
on_epoch_end() -> on_batch_end() -> on_test_batch_start() -> test_step() -> on_test_batch_end() -> on_test_end() -> on_fit_end()

2、on_train_batch_start:获取图像,调用自编码器AutoencoderKL的encoder()将图像压缩至潜在空间,然后通过 get_first_stage_encoding()降维后获取图像的特征向量z

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、调用父类的training_step(),然后调用子类的shared_step()和子类的get_input()返回自编码器编码后的图像,再调用子类的forward()函数中的get_learned_conditioning()函数获取条件编码后的条件向量(get_learned_conditioning通过调用BERTEmbedder的BERTTokenizer将text编码),最后将特征向量和条件向量输入p_losses计算loss

traitraining_step
在这里插入图片描述
shared_step在这里插入图片描述
get_input返回特征向量
在这里插入图片描述

forward获取条件向量后将特征向量和条件向量的列表传入p_losses()
在这里插入图片描述

get_learned_conditioning调用BERTEmbedder
在这里插入图片描述
BERTEmbedder将文本编码为向量
在这里插入图片描述

loss计算:p_losses()函数首先将特征向量z进行前向扩散,然后将噪声图像和条件向量使用self.apply_model输入T-Unet模型进行融合(通过Cross-Attention),最后通过get_loss()计算loss,将损失在第2、3、4(c,h,w)维度上求平均得到loss_simple,再经过简单损失的权重和ELBO损失权重的计算得到最终loss

在这里插入图片描述
apply_model:调用Unet将条件向量和噪声图像融合
在这里插入图片描述
DiffusionWrapper:将条件向量作为上下文输入,通过Cross-Attention在Unet中和图像融合
在这里插入图片描述
Unet的forward()函数
在这里插入图片描述
get_loss():计算loss
在这里插入图片描述
最后的梯度更新,参数更新及梯度归零则是框架自行计算。

二、由于这周在断断续续改老鼠和车牌识别的接口,并且参加了数学建模,因此没有做其他了。

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

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

相关文章

教你如何将纬地数据与实景三维模型进行叠加

概述: 纬地是公路设计的常用软件,在国内的普及率很高。传统的纬地数据文件以二维线条形式呈现在CAD中。本文提出了一种新思路、新方法,即将纬地的设计成果与无人机航拍的高精度倾斜摄影模型叠加在一起,辅助设计方案复核。 ​纬地…

SpringBoot第19讲:SpringBoot 如何保证接口幂等

SpringBoot第19讲:SpringBoot 如何保证接口幂等 在以SpringBoot开发Restful接口时,如何防止接口的重复提交呢? 本文是SpringBoot第19讲,主要介绍接口幂等相关的知识点,并实践常见基于Token实现接口幂等。 文章目录 Spr…

培训报名小程序实战开发

目录 1 需求描述2 原型绘制2.1 首页2.2 报名列表页2.3 报名页2.4 支付页面2.5 支付成功页面2.6 我的页面2.7 我的报名页面2.8 报名详情页面 3 数据源设计4 数据源开发5 创建模型应用6 录入测试数据7 创建自定义应用8 创建页面总结 经常有人问,低代码学习容易么&…

c语言进阶-枚举、联合(共用体)

枚举 枚举项也有值属性 修改枚举项值属性 枚举的优点 define的实现过程 实际在预处理已经完成了M - 100 的替换,实际执行是int m 100; enum调试的时候更方便,代码变化过程都可以看到。 联合(共用体) 打印出来的三个…

前端学习——HTML5

新增语义化标签 新增布局标签 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content&qu…

无限极 × 盖雅工场|劳动力管理系统项目正式启动,为多工厂管理保驾护航

6月12日&#xff0c;无限极盖雅工场劳动力管理系统启动大会在广东江门举行。无限极IT供应链系统负责人毛松和、智能制造总监胡波、新会生产中心负责人胡流云、营口生产中心负责人源博恩和人才资源共享服务负责人林岳&#xff0c;以及盖雅工场华南总经理潘磊等出席了启动大会。 …

ARM day6 (标准pin引脚启动)

A7核 led.h #ifndef __LED_H__ #define __LED_H__//寄存器封装 //声明一个结构体 typedef struct {volatile unsigned int MODER; //00volatile unsigned int OTYPER; //04volatile unsigned int OSPEEDR; //08volatile unsigned int PUPDR; //0Cvolatile unsigned int …

“全球筷子第一股”双枪科技携手纷享销客连接型CRM

近日&#xff0c;纷享销客携手双枪科技股份有限公司&#xff08;以下简称“双枪”&#xff09;&#xff0c;“主数据与订货管理系统”项目启动会在浙江杭州举行&#xff0c;双枪和纷享销客双方多位高管共同出席了当天的启动会&#xff0c;并针对双方项目组的紧密合作给予了一致…

【C++面向对象】用电管理数据管理系统(面向对象)

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、51CTO技术博主 &#x…

word转化为ftl格式文件模板,导出后office提示文件错误

需求如下: 使用模板,导出word文件,最近在做这个需求,本地环境用的是wps,结合本地的环境快速完成了开发需求之后,有一天客户发现office打开报错,本人深感不接,wps都能打开,各个在线文档也都支持,为何office就不支持,环境不同。 分析: wps是按照office版本迭代开发…

对比学习论文-系列4

文章目录 MedCLIP: Contrastive Learning from Unpaired Medical Images and Text目标问题来源模型架构 Supervised Prototypical Contrastive Learning for Emotion Recognition in ConversationPrototypical Contrastive LearningCurriculum Strategy&#xff1a; KECP: Know…

Lion:闭源大语言模型的对抗性蒸馏

通过调整 70k 指令跟踪数据&#xff0c;Lion (7B) 可以实现 ChatGPT 95% 的能力&#xff01; 消息 我们目前正在致力于训练更大尺寸的版本&#xff08;如果可行的话&#xff0c;13B、33B 和 65B&#xff09;。感谢您的耐心等待。 **[2023年6月10日]**我们发布了微调过程中解…

MyBatis逆向工程的配置与生成

什么是逆向工程 所谓的逆向⼯程是&#xff1a;根据数据库表逆向⽣成Java的pojo类&#xff0c;SqlMapper.xml⽂件&#xff0c;以及Mapper接⼝类 等。 要完成这个⼯作&#xff0c;需要借助别⼈写好的逆向⼯程插件。 1.在pom中添加逆向工程插件 <!--定制构建过程--> <bu…

字符流的使用

1&#xff1a;文件字符流输入流-一次读取一个字符 1:文件字符输入流&#xff1a;Reader 以内存为基准&#xff0c;把磁盘文件中的数据以字符的形式读取到内存中去。 2&#xff1a;文件字符流输入流-一次读取一个字符数组 3&#xff1a;文件字符输出流 作用&#xff1a;以内存…

【现场问题】flink-cdc,Oracle2Mysql的坑,Oracle区分大小写导致

大小写导致的问题 错误的flink-cdc语句sql我们看一下oracle的数据库字段再看一下错误sql里面的内容flink报错内容 正确的sql三级目录 错误的flink-cdc语句sql CREATE TABLE t_wx_source_1 (id String,name String,age String ) WITH (connector oracle-cdc,hostname 192.168…

U-Boot移植 (3)- uboot启动Linux内核测试

文章目录 1. bootcmd 和 bootargs 环境变量1.1 环境变量 bootcmd1.2 环境变量 bootargs 2. uboot 启动 Linux 测试2.1 从 EMMC 启动 Linux 系统2.2 从网络启动 Linux 系统 3. 总结 1. bootcmd 和 bootargs 环境变量 1.1 环境变量 bootcmd bootcmd 保存着 uboot 默认命令&…

Netty专题:netty概述,及丢弃协议服务(1)

Netty 是一个 Java NIO 客户端服务器框架&#xff0c;使用它可以快速简单地开发网络应用程序&#xff0c;比如服务器和客户端的协议。Netty 大大简化了网络程序的开发过程比如 TCP 和 UDP 的 socket 服务的开发。 JDK 原生 NIO 程序的问题 JDK 原生也有一套网络应用程序 API&…

秋招算法岗c++面经

目录 1、指针与引用的区别 2.const关键字 3.重载和重写(覆盖)的区别 4.new和malloc的区别(new封装了malloc) 5.static和const的区别 6. c三大特性 7.虚函数 8.纯虚函数 9.虚继承 10. 智能指针 11. 内存泄漏 12.c的内存分布 13.STL介绍 1、指针与引用的区别 指针存…

【Web3】认识NFT

NFT&#xff08;非同质化代币&#xff09;在Web3中扮演着重要的角色。Web3是指下一代互联网&#xff0c;它建立在区块链技术之上&#xff0c;旨在实现更加去中心化、透明和用户掌控的互联网。 NFT在Web3的一些重要作用&#xff1a; 唯一性和可证明稀缺性&#xff1a;NFT是一种…

vscode突然不能输入中文句号,怎么办

vscode突然不能输入中文句号&#xff0c;怎么办? 敲代码敲得好好的&#xff0c;突然无论打句号&#xff0c;出来的都是英文的句号&#xff0c;无法打出中文的句号&#xff0c; 让人着实着急。。。 记录一下解决办法&#xff1a; Ctrl 句号&#xff0c;然后再测试一下&…