xdecoder/Instruct-X-Decoder
163
1from importlib.metadata import requires2import torch3import torch.nn as nn4 5from .registry import register_model6from .vlpencoder import LanguageEncoder7 8class FixLanguageEncoder(LanguageEncoder):9 10 def __init__(11 self,12 *args, **kwargs):13 super(FixLanguageEncoder, self).__init__(*args, **kwargs)14 self.logit_scale = nn.Parameter(torch.ones([]), requires_grad=False)15 16 @torch.no_grad()17 def get_text_embeddings(self, *args, **kwargs):18 return super().get_text_embeddings(*args, **kwargs)19 20 @torch.no_grad()21 def get_text_token_embeddings(self, *args, **kwargs):22 return super().get_text_token_embeddings(*args, **kwargs)23 24 @torch.no_grad()25 def forward_language(self, *args, **kwargs):26 return super().forward_language(*args, **kwargs)27 28 @torch.no_grad()29 def forward_language_token(self, *args, **kwargs):30 return super().forward_language_token(*args, **kwargs)31 32 33@register_model34def get_language_model(cfg, **kwargs):35 return FixLanguageEncoder(cfg) 