本文主要是介绍DiT代码学习,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

DiT的输入,是先对输入x进行了patch,然后对t进行了时间戳编码,然后对y进行了类别编码,y就是类别。也就是说:

这个block,的输入,是两个,不仅有x,还有编码。
下面可以看出,首先,这个self.adaln——modulation模块,对编码c,进行了一个操作,得到了六个东西,这六个东西都是分开算的,有的是注意力用的,有的是MLP模块用的。

这个模块的作用,可以看出来,就是将一个,1,12维度的东西,分成了六份。

算loss的时候怎么算的呢,两个参数值都是固定的,然后,

看看DiT里面怎么算的loss

三个输入,x是原始的输入,t是时间戳,model是模型。、

KL的时候,算的是两个数据的两种分布,

从这,就能看出来,

这个,q的后验,是在算真正的值。

算均值的时候,用了x_start,算方差的时候只用了X_t,不知道为啥。
做预测,获得一个预测的,给定初始的x,这个x是x_t.

这里又困惑了,


这篇关于DiT代码学习的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!