Question about `fc_feature = fc_feature * (scale + 1) + shift` in head.py.
Can you explain what dose this mean? https://github.com/ShoufaChen/DiffusionDet/blob/1efb36d4b0b721f2d509bc72656235a94d73ab02/diffusiondet/head.py#L274
Hi,
This is used for time embedding. We directly follow the original Diffusion model implementation: https://github.com/lucidrains/denoising-diffusion-pytorch/blob/main/denoising_diffusion_pytorch/denoising_diffusion_pytorch.py#L179-L180.
Hi,
This is used for time embedding. We directly follow the original Diffusion model implementation: https://github.com/lucidrains/denoising-diffusion-pytorch/blob/main/denoising_diffusion_pytorch/denoising_diffusion_pytorch.py#L179-L180.
Thanks for your reply!
From my point of view, in DDPM, the time embedding should be like a residual operation, which means it may need to plus the feature. But here you use it in a BN operation (or it might be my misunderstanding), feature * (scale + 1) + shift where 'scale' and 'shift' come from time embedding.
Can you explain more?