petbackend / README.md
Alp İpekçiler
Add required metadata to README.md
d55975f
metadata
title: Pet Backend
emoji: 🐶
colorFrom: blue
colorTo: green
sdk: docker
app_port: 7860
pinned: false

Dog Breed Classification API

Bu Hugging Face Space, Pavarissy/ConvNextV2-large-DogBreed modelini kullanarak köpek ırkı sınıflandırması yapan bir FastAPI backend'idir.

🚀 Kurulum Adımları

1. Hugging Face Space Oluşturma

  1. https://huggingface.co/spaces adresine gidin
  2. "Create new Space" butonuna tıklayın
  3. Space adını girin: petbackend (veya istediğiniz bir isim)
  4. SDK olarak "Docker" veya "Gradio" yerine "Docker" seçin (FastAPI için)
  5. Space'i oluşturun

2. Dosyaları Yükleme

Space oluşturulduktan sonra, bu klasördeki dosyaları Space'e yükleyin:

  • app.py - Ana FastAPI uygulaması
  • requirements.txt - Python bağımlılıkları
  • Dockerfile - Docker yapılandırması (aşağıda)

3. Dockerfile Oluşturma

Space'inize bir Dockerfile eklemeniz gerekiyor:

FROM python:3.9

WORKDIR /code

COPY ./requirements.txt /code/requirements.txt

RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt

COPY ./app.py /code/

CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]

4. Alternatif: Gradio SDK Kullanımı

Eğer Docker yerine Gradio SDK kullanmak isterseniz:

  1. Space oluştururken SDK olarak "Gradio" seçin
  2. Sadece app.py ve requirements.txt dosyalarını yükleyin
  3. Hugging Face otomatik olarak FastAPI'yi çalıştıracaktır

📡 API Endpoints

GET /

Ana endpoint - API durumunu gösterir

curl https://alpingo23-petbackend.hf.space/

POST /predict_pet

Köpek ırkı tahmini yapar

curl -X POST https://alpingo23-petbackend.hf.space/predict_pet \
  -F "image=@dog_image.jpg"

Response Format:

{
  "predicted_label": "n02085620-Chihuahua",
  "confidence": 0.95,
  "detection": {
    "box": {
      "x": 50.0,
      "y": 50.0,
      "width": 400.0,
      "height": 400.0
    }
  },
  "imageDimensions": {
    "width": 500,
    "height": 500
  }
}

GET /health

Sağlık kontrolü endpoint'i

curl https://alpingo23-petbackend.hf.space/health

🔧 React Native Entegrasyonu

App.js dosyanızda zaten doğru endpoint'i kullanıyorsunuz:

const res = await axios.post('https://alpingo23-petbackend.hf.space/predict_pet', formData, {
  headers: { 'Content-Type': 'multipart/form-data' },
});

🐛 Hata Ayıklama

Space çalışmıyorsa:

  1. Logs kontrolü: Space sayfasında "Logs" sekmesini kontrol edin
  2. Build durumu: "Building" durumunda mı kontrol edin
  3. Model yükleme: İlk açılışta model indirilir, 2-3 dakika sürebilir
  4. API testi: /health endpoint'ini test edin

📝 Notlar

  • Model ilk yüklendiğinde indirme yapacağı için 2-3 dakika sürebilir
  • CORS tüm kaynaklardan gelen isteklere açık (production'da düzeltilmeli)
  • Detection box simülasyondur, gerçek nesne tespiti yapmaz
  • Model 120+ köpek ırkını tanıyabilir

🔗 Bağlantılar