Medical_Image_Segmentation / QUICK_START.py
AutoDeploy
Fix: Python 3.8 compatibility (use Tuple from typing) + Gradio 4.48.1 security update
8f59aab
#!/usr/bin/env python
"""
Quick Start Script - Medical Image Segmentation Project
Chạy script này để xem tất cả options khả dụng
"""
import os
import sys
from pathlib import Path
def print_header(title):
"""In header"""
width = 80
print("\n" + "="*width)
print(f" {title}".center(width))
print("="*width)
def main():
print_header("🏥 Medical Image Segmentation - Quick Start")
print("""
┌────────────────────────────────────────────────────────────────────────────┐
│ 📋 AVAILABLE OPTIONS │
└────────────────────────────────────────────────────────────────────────────┘
1️⃣ WEB INTERFACE (Gradio) - Sử dụng ngay
└─ python app.py
→ Truy cập: http://127.0.0.1:7860
→ Upload ảnh, click "Generate Predictions"
→ Xem kết quả phân đoạn
2️⃣ JUPYTER NOTEBOOK - Interactive Demo
└─ jupyter notebook demo.ipynb
→ Step-by-step visualization
→ Model explanation
→ Batch processing examples
3️⃣ TRAINING WORKFLOW (Complete)
└─ Step 1: python download_dataset.py
→ Tải ~10GB data từ Kaggle (cần Kaggle API key)
└─ Step 2: python prepare_dataset.py
→ Xử lý data (RLE decode, split train/val/test)
└─ Step 3: python train.py --epochs 20
→ Train SegFormer model (có thể mất vài giờ)
→ Save best_model & final_model
└─ Step 4: python test.py --model ./models/best_model --visualize
→ Evaluate & visualization
4️⃣ QUICK REFERENCE - Danh sách lệnh
└─ python train.py --help
└─ python test.py --help
└─ python prepare_dataset.py --help
└─ python download_dataset.py --help
5️⃣ DOCUMENTATION - Tài liệu
└─ TRAINING_GUIDE.md (Hướng dẫn chi tiết)
└─ IMPLEMENTATION_SUMMARY.md (Tóm tắt triển khai)
└─ FILE_INDEX.md (Danh sách file)
└─ README.md (Info gốc)
┌────────────────────────────────────────────────────────────────────────────┐
│ 🚀 RECOMMENDED START │
└────────────────────────────────────────────────────────────────────────────┘
【OPTION A】Demo ngay bây giờ (2 phút)
python app.py
# Hoặc
jupyter notebook demo.ipynb
【OPTION B】Train model mới (1-2 giờ)
python download_dataset.py
python prepare_dataset.py
python train.py --epochs 20
python test.py --model ./models/best_model --visualize
【OPTION C】Chỉ test model hiện có
python test.py \\
--model ./segformer_trained_weights \\
--test-images ./samples \\
--visualize
┌────────────────────────────────────────────────────────────────────────────┐
│ 📊 PROJECT INFO │
└────────────────────────────────────────────────────────────────────────────┘
Dataset: UW-Madison GI Tract Image Segmentation
Model: SegFormer-B0 (HuggingFace Transformers)
Framework: PyTorch + Gradio + HuggingFace
Task: Medical Image Segmentation
Classes: 4 (Background + 3 organs)
- Large bowel (Ruột già) 🔴
- Small bowel (Ruột non) 🟢
- Stomach (Dạ dày) 🔵
┌────────────────────────────────────────────────────────────────────────────┐
│ 🔧 REQUIREMENTS │
└────────────────────────────────────────────────────────────────────────────┘
Python: 3.8+
GPU: Optional (Auto-switch to CPU if not available)
RAM: 4GB+ (8GB recommended)
Disk: 20GB+ (for dataset & models)
Main Libraries:
- torch >= 2.0.0
- transformers >= 4.30.0
- gradio >= 6.0.0
- torchvision >= 0.15.0
- PIL, numpy, pandas, scikit-learn
Install dependencies:
pip install -r requirements.txt
┌────────────────────────────────────────────────────────────────────────────┐
│ 💡 USEFUL TIPS │
└────────────────────────────────────────────────────────────────────────────┘
✓ Web Interface slow?
→ Giảm batch size hoặc dùng CPU mode
✓ Train quá lâu?
→ Giảm epochs: --epochs 5
→ Giảm batch size: --batch-size 4
✓ GPU out of memory?
→ Giảm batch size: --batch-size 4 hoặc 2
→ Dùng num_workers=0 trong train.py
✓ Kaggle dataset lỗi?
→ Xem hướng dẫn API key: TRAINING_GUIDE.md
✓ Muốn custom model?
→ Edit train.py, thay model architecture
→ Hoặc fine-tune trên dataset riêng
┌────────────────────────────────────────────────────────────────────────────┐
│ 🎯 NEXT STEPS │
└────────────────────────────────────────────────────────────────────────────┘
1. Chọn option ở trên (A, B, hoặc C)
2. Chạy command
3. Xem kết quả
4. Đọc tài liệu nếu cần chi tiết
Ví dụ đơn giản nhất:
python app.py
# Mở browser: http://127.0.0.1:7860
┌────────────────────────────────────────────────────────────────────────────┐
│ 📚 DOCUMENTATION STRUCTURE │
└────────────────────────────────────────────────────────────────────────────┘
Start Here:
1. FILE_INDEX.md (bạn đang ở đây) ← Tôi là file navigation
2. IMPLEMENTATION_SUMMARY.md ← Tóm tắt những gì đã triển khai
3. TRAINING_GUIDE.md ← Hướng dẫn chi tiết từng bước
Code Documentation:
• app.py - Web interface
• demo.ipynb - Interactive notebook
• train.py - Training script
• test.py - Testing script
• download_dataset.py - Kaggle download
• prepare_dataset.py - Data preparation
┌────────────────────────────────────────────────────────────────────────────┐
│ ⚠️ IMPORTANT │
└────────────────────────────────────────────────────────────────────────────┘
⚠️ Kaggle API Key:
Cần cho download_dataset.py
→ Tạo tại https://www.kaggle.com/account
→ Lưu vào ~/.kaggle/kaggle.json
⚠️ GPU/CUDA:
Script tự detect GPU
Nếu GPU not found → auto sử dụng CPU
⚠️ Dataset Size:
UW-Madison dataset ~ 10GB
Prepared data ~ 15GB
Total with models ~ 30GB
┌────────────────────────────────────────────────────────────────────────────┐
│ 🎉 YOU'RE ALL SET! │
└────────────────────────────────────────────────────────────────────────────┘
Tất cả tools và scripts đã được triển khai.
Hãy chạy command đầu tiên của bạn:
python app.py
Hoặc xem hướng dẫn chi tiết:
cat TRAINING_GUIDE.md
Chúc bạn thành công! 🚀
""")
print("\n" + "="*80 + "\n")
if __name__ == "__main__":
main()