davidfred commited on
Commit
f4eaaf6
·
verified ·
1 Parent(s): 846f1de

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +146 -3
README.md CHANGED
@@ -1,3 +1,146 @@
1
- ---
2
- license: mit
3
- ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: mit
3
+ ---
4
+ ViT-Base-Patch16-224-in21k Fine-tuned on Skin Disease Image Dataset
5
+ Model Description
6
+ This model is a fine-tuned version of the google/vit-base-patch16-224-in21k Vision Transformer model for image classification tasks. It has been fine-tuned on a custom skin disease image dataset containing 10 classes of skin diseases.
7
+ Intended Use
8
+ The model is designed to classify images of skin lesions into one of 10 categories of skin diseases. It can be used for educational purposes, research, or as a starting point for further fine-tuning.
9
+ Note: This model is not intended for clinical or diagnostic use. Always consult a qualified healthcare professional for medical advice.
10
+ How to Use
11
+ Installation
12
+ Ensure you have the following packages installed:
13
+ bash
14
+
15
+
16
+ pip install transformers
17
+ pip install torch
18
+ pip install torchvision
19
+ pip install Pillow
20
+ Loading the Model
21
+ python
22
+
23
+
24
+ import torch
25
+ from transformers import ViTForImageClassification, ViTImageProcessor
26
+ from PIL import Image
27
+
28
+ # Load the fine-tuned model
29
+ model_name = 'your_username/your_model_name' # Replace with your actual model path on Hugging Face Hub
30
+ model = ViTForImageClassification.from_pretrained(model_name)
31
+ model.eval()
32
+ device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
33
+ model.to(device)
34
+
35
+ # Load the image processor
36
+ image_processor = ViTImageProcessor.from_pretrained(model_name)
37
+ Making Predictions
38
+ python
39
+
40
+
41
+ def predict(image_path):
42
+ # Load and preprocess the image
43
+ image = Image.open(image_path).convert('RGB')
44
+ inputs = image_processor(images=image, return_tensors="pt")
45
+ inputs = {k: v.to(device) for k, v in inputs.items()}
46
+
47
+ # Perform inference
48
+ with torch.no_grad():
49
+ outputs = model(**inputs)
50
+ logits = outputs.logits
51
+ predicted_class_idx = logits.argmax(-1).item()
52
+ predicted_class = model.config.id2label[str(predicted_class_idx)]
53
+ return predicted_class
54
+
55
+ # Example usage
56
+ image_path = 'path/to/your/image.jpg' # Replace with the path to your image
57
+ predicted_class = predict(image_path)
58
+ print(f"Predicted class: {predicted_class}")
59
+ Labels
60
+ The model predicts one of the following classes:
61
+ Eczema
62
+ Warts
63
+ Melanoma
64
+ Atopic Dermatitis
65
+ Basal Cell Carcinoma
66
+ Melanocytic Nevi
67
+ Benign Keratosis-like Lesions
68
+ Psoriasis
69
+ Seborrheic Keratoses
70
+ Fungal Infections
71
+ Dataset
72
+ The model was trained on the Skin Diseases Image Dataset available on Kaggle.
73
+ Dataset Details
74
+ Number of Classes: 10
75
+ Total Images: Approximately 40,000
76
+ Classes Included:
77
+ Eczema
78
+ Warts, Molluscum, and other Viral Infections
79
+ Melanoma
80
+ Atopic Dermatitis
81
+ Basal Cell Carcinoma
82
+ Melanocytic Nevi
83
+ Benign Keratosis-like Lesions
84
+ Psoriasis, Lichen Planus, and related diseases
85
+ Seborrheic Keratoses and other Benign Tumors
86
+ Tinea, Ringworm, Candidiasis, and other Fungal Infections
87
+ Data Preprocessing
88
+ Image Size: Resized to 224x224 pixels
89
+ Normalization: Images are normalized using ImageNet statistics:
90
+ Mean: [0.485, 0.456, 0.406]
91
+ Standard Deviation: [0.229, 0.224, 0.225]
92
+ Data Splits
93
+ Training Set: 70%
94
+ Validation Set: 15%
95
+ Test Set: 15%
96
+ The data was split in a stratified manner to maintain the class distribution across all splits.
97
+ Training Procedure
98
+ Base Model: google/vit-base-patch16-224-in21k
99
+ Framework: PyTorch with Hugging Face Transformers
100
+ Optimizer: AdamW
101
+ Learning Rate: 5e-5
102
+ Batch Size: 16
103
+ Number of Epochs: 5
104
+ Loss Function: Cross-Entropy Loss
105
+ Training Steps
106
+ Model Initialization:
107
+ Loaded the pre-trained ViT model.
108
+ Adjusted the classifier head to match the number of classes.
109
+ Data Loading:
110
+ Created custom datasets for training, validation, and testing.
111
+ Used DataLoader with appropriate batch sizes.
112
+ Training Loop:
113
+ For each epoch:
114
+ Training Phase:
115
+ Processed batches of images and labels.
116
+ Computed loss and performed backpropagation.
117
+ Validation Phase:
118
+ Evaluated model performance on the validation set.
119
+ Evaluation Results
120
+ Validation Accuracy: Approximately 70%
121
+ Test Accuracy: Approximately 71%
122
+ Performance Observations
123
+ The model shows reasonable performance given the complexity of the task and the number of classes.
124
+ Further training, hyperparameter tuning, or data augmentation may improve results.
125
+ Limitations
126
+ Non-Clinical Use: The model is not suitable for clinical diagnostics.
127
+ Data Bias: Potential biases due to class imbalance in the dataset.
128
+ Generalization: The model may not perform well on images outside the dataset domain (e.g., different lighting conditions, image quality).
129
+ Ethical Considerations
130
+ Privacy: Ensure that any images used with this model comply with privacy regulations and that patients cannot be identified.
131
+ Responsibility: Use the model responsibly, acknowledging its limitations and the potential consequences of misclassification.
132
+ Citation
133
+ If you use this model, please cite it as:
134
+ bibtex
135
+
136
+
137
+ @misc{vit_skin_disease_model,
138
+ title={ViT Fine-tuned on Skin Disease Image Dataset},
139
+ author={Your Name},
140
+ year={2023},
141
+ publisher={Hugging Face},
142
+ howpublished={\url{https://huggingface.co/your_username/your_model_name}},
143
+ }
144
+ References
145
+ Vision Transformer (ViT) Paper
146
+ Hugging Face ViT Documentation