Spaces:
Running
Running
| import torch.nn as nn | |
| class Adapter(nn.Module): | |
| def __init__(self, in_features, out_features, adapter_norm="layer_norm", query_length=1, dropout_prob=0.1): | |
| super().__init__() | |
| self.fc = nn.Linear(in_features, out_features) | |
| self.norm = nn.LayerNorm(out_features) if adapter_norm == "layer_norm" else None | |
| self.dropout = nn.Dropout(dropout_prob) | |
| self.query_length = query_length | |
| def forward(self, x): | |
| out = self.fc(x) | |
| if self.norm is not None: | |
| out = self.norm(out) | |
| return self.dropout(out) |