I see that an additional positional encoding is added in the forward part of the IterBlock module.
def forward(self, msa, pair, R_in, T_in, xyz, state, idx, symmids, symmsub_in, symmsub, symmRs, symmmeta, use_checkpoint=False, topk=0, crop=-1):
#rbf_feat = rbf(torch.cdist(xyz[:,:,1,:], xyz[:,:,1,:])) + self.pos(idx)
O,L = pair.shape[:2]
xyzfull = xyz.view(1,O*L,3,3)
rbf_feat = rbf(
torch.cdist(xyzfull[:,:,1,:], xyzfull[:,:L,1,:])
).reshape(O,L,L,-1) + self.pos(idx, O)
I know that the model is already trained with this in place, so it probably doesn't matter, but I just wanted to check if my interpretation is correct? I also noticed that the corresponding section for this in RFDiffusion has been modified so there is no additional positional encoding added.
Hi,
I see that an additional positional encoding is added in the forward part of the IterBlock module.
https://github.com/uw-ipd/RoseTTAFold2/blob/main/network/Track_module.py#L544C1-L550C47
This seems redundant since
rbf_featis then added to the variablepair, which already contains the positional encoding from theMSA_embmodule.I know that the model is already trained with this in place, so it probably doesn't matter, but I just wanted to check if my interpretation is correct? I also noticed that the corresponding section for this in RFDiffusion has been modified so there is no additional positional encoding added.
Thanks