Spaces:
Runtime error
Runtime error
File size: 2,746 Bytes
dfea2de e4acaca dfea2de e4acaca dfea2de |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
import torch.nn as nn
# ================================
# 🧠 MODEL CLASSES
# ================================
# Brain Tumor Detection Model
class BrainTumorModel(nn.Module):
def __init__(self):
super(BrainTumorModel, self).__init__()
self.model = nn.Sequential(
nn.Conv2d(3, 16, kernel_size=3, stride=1, padding=1),
nn.ReLU(),
nn.MaxPool2d(2),
nn.Conv2d(16, 32, kernel_size=3, stride=1, padding=1),
nn.ReLU(),
nn.MaxPool2d(2),
nn.Flatten(),
nn.Linear(32 * 56 * 56, 128), # Adjust if image size is different
nn.ReLU(),
nn.Linear(128, 4) # 4 classes
)
def forward(self, x):
return self.model(x)
# Glioma Stage Detection Model
class GliomaStageModel(nn.Module):
def __init__(self):
super(GliomaStageModel, self).__init__()
self.model = nn.Sequential(
nn.Conv2d(3, 16, kernel_size=3, stride=1, padding=1),
nn.ReLU(),
nn.MaxPool2d(2),
nn.Conv2d(16, 32, kernel_size=3, stride=1, padding=1),
nn.ReLU(),
nn.MaxPool2d(2),
nn.Flatten(),
nn.Linear(32 * 56 * 56, 128),
nn.ReLU(),
nn.Linear(128, 4) # 4 glioma stages
)
def forward(self, x):
return self.model(x)
# ================================
# 👤 USER INPUT FUNCTION
# ================================
def get_user_test_data():
print("Enter the following details for prediction:")
gender_input = input("Gender (M/F): ").strip().lower()
gender = 0 if gender_input == 'm' else 1 # Male = 0, Female = 1
age = float(input("Age at Diagnosis: "))
idh1 = int(input("IDH1 Mutation? (1 for Yes, 0 for No): "))
tp53 = int(input("TP53 Mutation? (1 for Yes, 0 for No): "))
atrx = int(input("ATRX Mutation? (1 for Yes, 0 for No): "))
pten = int(input("PTEN Mutation? (1 for Yes, 0 for No): "))
egfr = int(input("EGFR Mutation? (1 for Yes, 0 for No): "))
cic = int(input("CIC Mutation? (1 for Yes, 0 for No): "))
pik3ca = int(input("PIK3CA Mutation? (1 for Yes, 0 for No): "))
return [gender, age, idh1, tp53, atrx, pten, egfr, cic, pik3ca]
# ================================
# 🩺 TUMOR PRECAUTIONS
# ================================
def get_precautions_from_gemini(tumor_type):
precaution_db = {
"meningioma": "Avoid radiation exposure and get regular check-ups.",
"pituitary": "Monitor hormonal levels and follow medication strictly.",
"notumor": "Stay healthy and get annual MRI scans if symptoms appear."
}
return precaution_db.get(tumor_type.lower(), "No specific precautions found.")
|