Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -6,41 +6,40 @@ import json
|
|
| 6 |
|
| 7 |
class UltraLightGeoDemo:
|
| 8 |
def __init__(self):
|
| 9 |
-
self.dataset_info = "S2-NAIP Demo -
|
| 10 |
|
| 11 |
def predict_coordinates(self, image):
|
| 12 |
"""Demo tahmin - model yüklemeden"""
|
| 13 |
try:
|
| 14 |
# Rastgele koordinatlar (demo amaçlı)
|
| 15 |
-
lat = round(random.uniform(36.0, 42.0), 4) # Türkiye
|
| 16 |
lon = round(random.uniform(26.0, 45.0), 4)
|
| 17 |
|
| 18 |
-
|
| 19 |
-
confidence = round(random.uniform(0.3, 0.9), 2)
|
| 20 |
|
| 21 |
result = {
|
| 22 |
'latitude': lat,
|
| 23 |
-
'longitude': lon,
|
| 24 |
'confidence': confidence,
|
| 25 |
-
'note': '
|
| 26 |
-
'next_step': 'Gerçek
|
| 27 |
}
|
| 28 |
-
|
| 29 |
return result
|
| 30 |
-
|
| 31 |
except Exception as e:
|
| 32 |
return {'error': str(e)}
|
| 33 |
|
|
|
|
| 34 |
# Gradio arayüzü
|
| 35 |
def create_demo_interface():
|
| 36 |
demo = UltraLightGeoDemo()
|
| 37 |
|
| 38 |
-
with gr.Blocks(title="🌍 Jeo-Referanslama Demo", theme=gr.themes.Soft()) as interface:
|
| 39 |
gr.Markdown("""
|
| 40 |
-
# 🌍 Jeo-Referanslama DEMO
|
| 41 |
**Ultra Hafif Sürüm - Gerçek model olmadan çalışır**
|
| 42 |
|
| 43 |
-
|
|
|
|
| 44 |
""")
|
| 45 |
|
| 46 |
with gr.Row():
|
|
@@ -58,37 +57,34 @@ def create_demo_interface():
|
|
| 58 |
# Kaggle bağlantısı
|
| 59 |
gr.Markdown("""
|
| 60 |
---
|
| 61 |
-
## 🚀 Gerçek Model İçin Kaggle'a Git:
|
| 62 |
-
|
| 63 |
-
**[👉 KAGGLE'DA TAM SİSTEMİ ÇALIŞTIR](https://kaggle.com)**
|
| 64 |
|
| 65 |
**Kaggle'da yapman gerekenler:**
|
| 66 |
-
1.
|
| 67 |
-
2. "
|
| 68 |
-
3.
|
| 69 |
-
4. Aşağıdaki kodu yapıştır
|
| 70 |
""")
|
| 71 |
|
| 72 |
-
# Kaggle kodu
|
| 73 |
-
with gr.Accordion("📋 Kaggle
|
| 74 |
gr.Markdown("""
|
| 75 |
```python
|
| 76 |
-
#
|
| 77 |
-
!pip install torch transformers datasets
|
| 78 |
-
|
| 79 |
import torch
|
| 80 |
from transformers import AutoModel
|
| 81 |
from datasets import load_dataset
|
| 82 |
-
|
| 83 |
-
|
| 84 |
-
dataset = load_dataset("allenai/s2-naip", split="train")
|
| 85 |
-
print(f"
|
| 86 |
-
|
| 87 |
-
# GPU kullan
|
| 88 |
device = "cuda" if torch.cuda.is_available() else "cpu"
|
| 89 |
model = AutoModel.from_pretrained("facebook/dinov2-small").to(device)
|
| 90 |
-
|
| 91 |
-
print("
|
| 92 |
```
|
| 93 |
""")
|
| 94 |
|
|
@@ -100,6 +96,7 @@ def create_demo_interface():
|
|
| 100 |
|
| 101 |
return interface
|
| 102 |
|
|
|
|
| 103 |
if __name__ == "__main__":
|
| 104 |
demo = create_demo_interface()
|
| 105 |
demo.launch(server_name="0.0.0.0", server_port=7860)
|
|
|
|
| 6 |
|
| 7 |
class UltraLightGeoDemo:
|
| 8 |
def __init__(self):
|
| 9 |
+
self.dataset_info = "S2-NAIP Mini Demo - Hafif örnek veri ile"
|
| 10 |
|
| 11 |
def predict_coordinates(self, image):
|
| 12 |
"""Demo tahmin - model yüklemeden"""
|
| 13 |
try:
|
| 14 |
# Rastgele koordinatlar (demo amaçlı)
|
| 15 |
+
lat = round(random.uniform(36.0, 42.0), 4) # Türkiye civarı
|
| 16 |
lon = round(random.uniform(26.0, 45.0), 4)
|
| 17 |
|
| 18 |
+
confidence = round(random.uniform(0.4, 0.95), 2)
|
|
|
|
| 19 |
|
| 20 |
result = {
|
| 21 |
'latitude': lat,
|
| 22 |
+
'longitude': lon,
|
| 23 |
'confidence': confidence,
|
| 24 |
+
'note': 'DEMO TAHMİN — Gerçek model eğitilmedi',
|
| 25 |
+
'next_step': 'Gerçek mini model eğitimi için Kaggle örneğini kullanın.'
|
| 26 |
}
|
|
|
|
| 27 |
return result
|
|
|
|
| 28 |
except Exception as e:
|
| 29 |
return {'error': str(e)}
|
| 30 |
|
| 31 |
+
|
| 32 |
# Gradio arayüzü
|
| 33 |
def create_demo_interface():
|
| 34 |
demo = UltraLightGeoDemo()
|
| 35 |
|
| 36 |
+
with gr.Blocks(title="🌍 Jeo-Referanslama Mini Demo", theme=gr.themes.Soft()) as interface:
|
| 37 |
gr.Markdown("""
|
| 38 |
+
# 🌍 Jeo-Referanslama **Mini DEMO**
|
| 39 |
**Ultra Hafif Sürüm - Gerçek model olmadan çalışır**
|
| 40 |
|
| 41 |
+
🔹 Bu versiyon sadece az sayıda veri örneğiyle (mini dataset) test yapılmasını önerir.
|
| 42 |
+
🔹 Gerçek eğitim için aşağıdaki Kaggle bağlantısını kullanabilirsiniz.
|
| 43 |
""")
|
| 44 |
|
| 45 |
with gr.Row():
|
|
|
|
| 57 |
# Kaggle bağlantısı
|
| 58 |
gr.Markdown("""
|
| 59 |
---
|
| 60 |
+
## 🚀 Gerçek (mini) Model İçin Kaggle'a Git:
|
| 61 |
+
**[👉 KAGGLE'DA MİNİ SİSTEMİ ÇALIŞTIR](https://kaggle.com)**
|
|
|
|
| 62 |
|
| 63 |
**Kaggle'da yapman gerekenler:**
|
| 64 |
+
1. Bağlantıya tıkla → "Notebooks" → "New Notebook"
|
| 65 |
+
2. "Settings" sekmesinde **GPU (T4)** seç
|
| 66 |
+
3. Aşağıdaki hafif veri yükleme kodunu çalıştır
|
|
|
|
| 67 |
""")
|
| 68 |
|
| 69 |
+
# Kaggle için mini dataset kodu
|
| 70 |
+
with gr.Accordion("📋 Kaggle Mini Eğitim Kodu", open=False):
|
| 71 |
gr.Markdown("""
|
| 72 |
```python
|
| 73 |
+
# HAFİF EĞİTİM KODU - 500 örnekle mini test
|
| 74 |
+
!pip install torch torchvision transformers datasets tqdm --quiet
|
| 75 |
+
|
| 76 |
import torch
|
| 77 |
from transformers import AutoModel
|
| 78 |
from datasets import load_dataset
|
| 79 |
+
|
| 80 |
+
print("🛰️ S2-NAIP mini örnek yükleniyor...")
|
| 81 |
+
dataset = load_dataset("allenai/s2-naip", split="train[:500]") # sadece 500 örnek
|
| 82 |
+
print(f"Yüklendi: {len(dataset)} örnek")
|
| 83 |
+
|
|
|
|
| 84 |
device = "cuda" if torch.cuda.is_available() else "cpu"
|
| 85 |
model = AutoModel.from_pretrained("facebook/dinov2-small").to(device)
|
| 86 |
+
|
| 87 |
+
print("✅ Mini eğitim/deneme için hazır!")
|
| 88 |
```
|
| 89 |
""")
|
| 90 |
|
|
|
|
| 96 |
|
| 97 |
return interface
|
| 98 |
|
| 99 |
+
|
| 100 |
if __name__ == "__main__":
|
| 101 |
demo = create_demo_interface()
|
| 102 |
demo.launch(server_name="0.0.0.0", server_port=7860)
|