boneage / model.py
Prashanth Mamidipalli
Switch to EfficientNet-B4 architecture, remove name from UI
bca7127
Raw
History Blame Contribute Delete
881 Bytes
import torch
import torch.nn as nn
from torchvision import models
class BoneAgeModel(nn.Module):
def __init__(self):
super(BoneAgeModel, self).__init__()
self.backbone = models.efficientnet_b4(weights=None)
num_features = self.backbone.classifier[1].in_features
self.backbone.classifier = nn.Identity()
self.gender_fc = nn.Linear(1, 32)
self.fc = nn.Sequential(
nn.Linear(num_features + 32, 512),
nn.ReLU(),
nn.Dropout(0.3),
nn.Linear(512, 128),
nn.ReLU(),
nn.Linear(128, 1)
)
def forward(self, image, gender):
img_features = self.backbone(image)
gender_features = torch.relu(self.gender_fc(gender.unsqueeze(1)))
combined = torch.cat([img_features, gender_features], dim=1)
return self.fc(combined).squeeze(1)