平安好车主app下载官方网站下载,购物节优惠卷网站怎么做,个人网站备案后内容可以改么,jw网站设计一、有条件去噪控制
很简单的一个模型#xff0c;整体来说就是将“内容#xff08;图像#xff09;” “图像所对应的标签” “每个噪声表征对应的时间步Timestap”分别输入进线性层Layer#xff0c;然后将他们的表征相加#xff08;#xff09;即可 执行步骤是…一、有条件去噪控制
很简单的一个模型整体来说就是将“内容图像” “图像所对应的标签” “每个噪声表征对应的时间步Timestap”分别输入进线性层Layer然后将他们的表征相加即可 执行步骤是
x的维度是bz,512,1,1
1、将带有噪声的表征经过Linear Projection得到x
x self.input_proj(x)
2、将x输入进Layer得到h
h self.in_layers(x)
3、将条件context输入Layer得到context_out
context_out self.context_layers(context)
4、将每个噪声图像对应的timestep 的嵌入emb输入进Layer得到emb_out
emb_out self.emb_layers(emb)
5、将它们三个自个的embedding相加
h h emb_out context_out
6、将它们的输出经过输出层Layer映射
h self.out_layers(h)
7、将经过linear的x与输出映射h进行残差相加
return x h
8、最后再经过一个输出Layer就可以了
最后得到的输出的维度和输入是一样的是bz,512,1,1
return self.out(x).unsqueeze(-1).unsqueeze(-1)
先执行步骤1一次步骤2-7重复N次然后再执行步骤8 整体的代码逻辑
def block(self, x, emb, context):# 1、将带有噪声的rep x输入h self.in_layers(x)# 2、将timestep embedding emb输入emb_out self.emb_layers(emb)# 3、将条件context输入if self.use_context:context_out self.context_layers(context)# 4、将它们三个自个的embedding相加h h emb_out context_outelse:h h emb_out# 5、将它们的输出经过输出层映射h self.out_layers(h)# 6、将经过linear的x与输出映射h相加return x hx self.input_proj(x)for block in self.res_blocks:x block(x, emb, context)output self.out(x).unsqueeze(-1).unsqueeze(-1)二、无条件去噪控制 与条件去噪控制 唯一不同的是未加入条件context的Embedding而已 if self.use_context:context_out self.context_layers(context)# 4、将它们三个自个的embedding相加h h emb_out context_outelse:# 未加入条件h h emb_out