icon-lab / SynDiff

Official PyTorch implementation of SynDiff described in the paper (https://arxiv.org/abs/2207.08208).
Other
207 stars 38 forks source link

Is gen_diffusive_1 interactive process to x0? #15

Closed chengyu89527 closed 1 year ago

chengyu89527 commented 1 year ago

When I check code. It said that the gen_diffusive_1 it gives the x0 ,but you define gen_diffusive_1 = NCSNpp(args).to(device). I can't find iterative operator during training. It seems that you using NSCNPP model generate the final result with one step ?

onat-dalmaz commented 1 year ago

https://github.com/icon-lab/SynDiff/blob/13dc0786b3d0f29e61486fb48d0021534bf22871/train.py#L587

As you can see, diffusive generator parameters are updated based on the calculated loss function.

chengyu89527 commented 1 year ago

thanks for answer. However I check the Line 537 errG1_L1 = F.l1_loss(x1_0_predict_diff[:,[0],:],real_data1) . it measure the similarity of original image and generated x0. But the x1_0_predict_diff is from Line 543 x1_0_predict_diff = gen_diffusive_1(torch.cat((x1_tp1.detach(),x2_0_predict),axis=1), t1, latent_z1). it given by generator without diffusion step. I wonder if it's same with paper method?