LL3RD / ASA

The implement of Paper Attentive Symmetric Autoencoder for Brain MRI Segmentation
MIT License
1 stars 3 forks source link

How to tranin or finetune? #1

Open LongwayX opened 1 year ago

LongwayX commented 1 year ago

Thank you for your generosity to open source the code. But when i started the project under the guidance of the readme,an error occurred. The exact location is at: nnFormer_train --network 3d_fullres --network_trainer nnFormerTrainerV2_MEDIUMVIT --task 999 --fold 0 --tag DEFAULT my personal computer seems can't find the path of nnFormer_train. By the way, your paper mentioned that AR-Loss was used in SSL.I really appreciate your ideas, but I didn't find the definition of AR_Loss,Could you please tell me where it is? Thanks again for your generous open source

LL3RD commented 1 year ago

This project is based on nnFormer (https://github.com/282857341/nnFormer) before being rebuilt. So if you want to run the segmentation part, it is recommended that you refer to nnUnet (https://github.com/MIC-DKFZ/nnUNet) for construction, and replace nnFormer_train with nnUnet_train.

As for the AR-Loss, you need to calculate the hog map and multiply it by the corresponding voxel. The MSE_ARLoss code is

class MSE_WeightLoss(nn.Module):
    def __init__(self):
        super(MSE_WeightLoss, self).__init__()

    def forward(self, input, target, hog_map):
        loss = torch.square(input - target)
        loss = torch.mean(loss, dim=2)
        loss = torch.mean(loss*hog_map, dim=(0, 1))
        return loss 

And for the calculation of the hog map, I will update it recently, thanks!