Spaces:
Runtime error
Runtime error
File size: 1,003 Bytes
4d0eb62 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# Copyright (c) OpenMMLab. All rights reserved.
from typing import Optional
import torch
from mmengine.model import BaseModule
from mmpretrain.registry import MODELS
@MODELS.register_module()
class MIMHead(BaseModule):
"""Pre-training head for Masked Image Modeling.
Args:
loss (dict): Config dict for module of loss functions.
"""
def __init__(self, loss: dict) -> None:
super().__init__()
self.loss_module = MODELS.build(loss)
def loss(self,
pred: torch.Tensor,
target: torch.Tensor,
mask: Optional[torch.Tensor] = None) -> torch.Tensor:
"""Forward head.
Args:
pred (torch.Tensor): Predictions with shape B x L x C.
target (torch.Tensor): Targets with shape B x L x C.
mask (torch.Tensor): Mask with shape B x L.
Returns:
torch.Tensor: The loss tensor.
"""
loss = self.loss_module(pred, target, mask)
return loss
|