model-code / clean /video /mintime /models /baseline.py
deepsafe's picture
Add stripped inference-only model code mirror
9e14838 verified
Raw History Blame Contribute Delete
989 Bytes
import torch
from torch import nn
from einops import rearrange
from efficientnet_pytorch import EfficientNet
import cv2
import re
import numpy as np
from torch import einsum
from random import randint
import timm
from torchsummary import summary
class Baseline(nn.Module):
def __init__(self, config):
super().__init__()
self.dim = config['model']['dim']
self.mlp_dim = config['model']['mlp-dim']
self.num_classes = config['model']['num-classes']
self._avg_pooling = nn.AdaptiveAvgPool2d(1)
self.mlp_head = nn.Sequential(
nn.Linear(self.dim, self.mlp_dim),
nn.Linear(self.mlp_dim, self.num_classes)
)
for index, (name, param) in enumerate(self.mlp_head.named_parameters()):
param.requires_grad = True
def forward(self, x, mask=None): # (B x C x H x W)
x = self._avg_pooling(x)
x = x.flatten(start_dim=1)
return self.mlp_head(x)