#!/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()