foodvision_mini / model.py
Matthev00's picture
deleted utils.py references
6cb3c0b
from torch import nn
import torchvision
import torch
def set_seeds(seed: int = 42):
# Set the seed for general torch operations
torch.manual_seed(seed)
# Set the seed for CUDA torch operations (ones that happen on the GPU)
torch.cuda.manual_seed(seed)
def create_effnetb2(out_features,
device):
effnetb2_weights = torchvision.models.EfficientNet_B2_Weights.DEFAULT
transforms = effnetb2_weights.transforms()
model = torchvision.models.efficientnet_b2(weights=effnetb2_weights).to(device) # noqa 5501
for param in model.features.parameters():
param.requires_grad = False
set_seeds(42)
# # Set cllasifier to suit problem
model.classifier = nn.Sequential(
nn.Dropout(p=0.2, inplace=True),
nn.Linear(in_features=1408,
out_features=out_features,
bias=True).to(device))
model.name = "effnetb2"
return model, transforms