import gradio as gr import torch import os from timeit import default_timer as timer # Fixed: default_repeat -> default_timer from typing import List, Tuple, Dict import torchvision from torch import nn def create_effnetb2_model(num_classes:int=3, seed:int=42): # 1,2,3 Create EffnetB2 pretrained weights,transforms and model weights = torchvision.models.EfficientNet_B2_Weights.DEFAULT transforms = weights.transforms() model = torchvision.models.efficientnet_b2(weights=weights) # 4. Freeze for params in model.parameters(): params.requires_grad=False # Change Classifier head wih random seed for reproducibility torch.manual_seed(seed) model.classifier = nn.Sequential( nn.Dropout(p=0.3,inplace=True), nn.Linear(in_features=1408,out_features=num_classes) ) return model,transforms