Views
No views yet
Dataset Structure
DatasetDict({
train: Dataset({
features: ['image', 'image_id', 'lesion_id', 'dx', 'dx_type', 'age', 'sex', 'localization'],
num_rows: 9577
})
validation: Dataset({
features: ['image', 'image_id', 'lesion_id', 'dx', 'dx_type', 'age', 'sex', 'localization'],
num_rows: 2492
})
test: Dataset({
features: ['image', 'image_id', 'lesion_id', 'dx', 'dx_type', 'age', 'sex', 'localization'],
num_rows: 1285
})
})
Available Splits
Train: 9,577 examples
Validation: 2,492 examples
Test: 1,285 examples1import torch
2from torchvision import transforms
3from PIL import Image
4import torch.nn.functional as F
5import json
6
7# Preprocessing (matches training)
8preprocess = transforms.Compose([
9 transforms.Resize((224, 224)),
10 transforms.ToTensor(),
11 transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])
12])
13
14# Load model and labels
15device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
16model_path = "skin_cancer_model_fp16/mobilenetv2_skin_cancer_fp16.pt"
17model = torch.load(model_path, map_location=device)
18model = model.to(device)
19model.eval()
20
21with open("skin_cancer_model_fp16/labels.json", 'r') as f:
22 label_mapping = json.load(f)
23class_names = list(label_mapping.keys())
24
25# Inference function
26def predict_image(image_path, model, preprocess, device, class_names):
27 image = Image.open(image_path).convert('RGB')
28 image_tensor = preprocess(image).unsqueeze(0).half() # FP16
29 image_tensor = image_tensor.to(device)
30
31 with torch.no_grad():
32 outputs = model(image_tensor)
33 probabilities = F.softmax(outputs, dim=1)
34 confidence, predicted = torch.max(probabilities, 1)
35 predicted_class = class_names[predicted.item()]
36 confidence_score = confidence.item() * 100
37
38 return predicted_class, confidence_score
39
40# Example usage
41if __name__ == "__main__":
42 image_path = "C:/path/to/your/image.jpg" # Replace with your image path
43 predicted_class, confidence = predict_image(image_path, model, preprocess, device, class_names)
44 print(f"Predicted Class: {predicted_class}")
45 print(f"Confidence: {confidence:.2f}%")
46