TaskCLIP / models /ScoreFunction_Conv.py
HanningChen
Initial HF Space: FastAPI + HTML (no weights yet)
f2f112a
import torch
import numpy as np
import copy
import torch.nn.functional as F
class ScoreFunctionConv(torch.nn.Module):
def __init__(self) -> None:
super().__init__()
self.d_model = 64
self.n_head = 4
self.norm = torch.nn.LayerNorm(self.d_model)
self.Attention = torch.nn.MultiheadAttention(self.d_model, self.n_head, dropout=0)
self.conv1 = torch.nn.Conv1d(10, self.d_model, 1, stride=1)
self.Linear1 = torch.nn.Linear(10,64)
self.Linear2 = torch.nn.Linear(64,32)
self.Linear3 = torch.nn.Linear(32,16)
self.Linear4 = torch.nn.Linear(16,1)
self.Linear5 = torch.nn.Linear(64,1)
self.Linear6 = torch.nn.Linear(10,1)
self.Norm = torch.nn.BatchNorm1d(self.d_model)
self.Activation1 = torch.nn.ReLU()
self.Activation2 = torch.nn.Sigmoid()
def forward(self, input):
output = self.conv1(input.unsqueeze(dim=2)).squeeze(dim=2)
if output.shape[0] > 1:
output = self.Norm(output)
output = self.Activation1(output)
output = self.Linear5(output)
output = self.Activation2(output)
return output