# Gradio Spaces

**Gradio**, bir giriş listesinden model çalıştırıp çıktıları görüntü, ses, 3D nesne gibi formatlarda görüntülemek için kolay ve sezgisel bir arayüz sunar. Gradio artık Matplotlib, Bokeh ve Plotly ile veri görselleştirmeleri oluşturmak için [Plot output bileşeni](https://gradio.app/docs/#o_plot) bile içeriyor! Daha fazla ayrıntı için Gradio ekibinin [Getting started](https://gradio.app/getting_started/) kılavuzuna göz atın.

[Yeni bir Space oluştururken](https://huggingface.co/new-space) SDK olarak **Gradio**'yi seçmek, `README.md` dosyanızdaki YAML bloğunda `sdk` özelliğini `gradio` olarak ayarlayarak Space'inizi Gradio'nun en son sürümüyle başlatır. Gradio sürümünü değiştirmek isterseniz `sdk_version` özelliğini düzenleyebilirsiniz.

Özelliklerinin tamamını öğrenmek için [Gradio dokümantasyonunu](https://gradio.app/docs/) ziyaret edin ve başlamanıza yardımcı olacak pratik eğitimler için [Gradio Kılavuzlarına](https://gradio.app/guides/) göz atın!

## İlk Gradio Space'iniz: Sosisli Sınıflandırıcı

Aşağıdaki bölümlerde, bir Space oluşturma, yapılandırma ve kodunuzu bu Space'e dağıtma temellerini öğreneceksiniz. Gradio ile, verilen bir resimde sosisli sandviç 🌭 olup olmadığını tespit edebilen [julien-c/hotdog-not-hotdog](https://huggingface.co/julien-c/hotdog-not-hotdog) modelini demo olarak kullanacak bir **Hot Dog Classifier** Space'i oluşturacağız.

Bu projenin tamamlanmış bir sürümünü [NimaBoscarino/hotdog-gradio](https://huggingface.co/spaces/NimaBoscarino/hotdog-gradio) adresinde bulabilirsiniz.

## Yeni bir Gradio Space oluşturun

Önce [yepyeni bir Space oluşturarak](https://huggingface.co/new-space) ve SDK olarak **Gradio** seçerek başlayacağız. Hugging Face Spaces, Git depolarıdır; bu da, commit'ler göndererek Space'iniz üzerinde kademeli (ve işbirlikçi) olarak çalışabileceğiniz anlamına gelir. Devam etmeden önce dosyaları nasıl oluşturup düzenleyebileceğinizi öğrenmek için [Depolarla Başlangıç](./repositories-getting-started) kılavuzuna göz atın.

## Bağımlılıkları ekleyin

**Hot Dog Classifier** için modeli kullanmak üzere [🤗 Transformers pipeline](https://huggingface.co/docs/transformers/pipeline_tutorial) kullanacağız, bu nedenle birkaç bağımlılığı kurarak başlamamız gerekiyor. Bunu, depomuzda bir **requirements.txt** dosyası oluşturup aşağıdaki bağımlılıkları ekleyerek yapabiliriz:

```
transformers
torch
```

Spaces çalışma zamanı bağımlılıkları yüklemeyi halleder!

## Gradio arayüzünü oluşturun

Gradio uygulamasını oluşturmak için depoda **app.py** adında yeni bir dosya oluşturun ve aşağıdaki kodu ekleyin:

```python
import gradio as gr
from transformers import pipeline

pipeline = pipeline(task="image-classification", model="julien-c/hotdog-not-hotdog")

def predict(input_img):
    predictions = pipeline(input_img)
    return input_img, {p["label"]: p["score"] for p in predictions} 

gradio_app = gr.Interface(
    predict,
    inputs=gr.Image(label="Select hot dog candidate", sources=['upload', 'webcam'], type="pil"),
    outputs=[gr.Image(label="Processed Image"), gr.Label(label="Result", num_top_classes=2)],
    title="Hot Dog? Or Not?",
)

if __name__ == "__main__":
    gradio_app.launch()
```

Bu Python betiği, Gradio arayüzü tarafından kullanılan [julien-c/hotdog-not-hotdog](https://huggingface.co/julien-c/hotdog-not-hotdog) modelini yüklemek için [🤗 Transformers pipeline](https://huggingface.co/docs/transformers/pipeline_tutorial) kullanır. Gradio uygulaması, bir görsel yüklemenizi bekler ve ardından bu görseli *hot dog* veya *not hot dog* olarak sınıflandırır. Kodu **app.py** dosyasına kaydettikten sonra, uygulamanızı çalışırken görmek için **App** sekmesine gidin!

## Gradio Spaces'i diğer web sayfalarına göm

Gradio Space'ı, Web Bileşenleri veya HTML `<iframe>` etiketini kullanarak diğer web sayfalarına gömebilirsiniz. Daha fazla ayrıntı için [belgelerimize](./spaces-embed) veya [Gradio belgelerine](https://www.gradio.app/guides/sharing-your-app#embedding-hosted-spaces) göz atın.

