import torch from torchvision import transforms from PIL import Image import gradio as gr from transformers import ViTFeatureExtractor, ViTForImageClassification # Modeli yükleme model_name = "nateraw/plant-disease" # Örnek bir bitki hastalıkları modeli model = ViTForImageClassification.from_pretrained(model_name) feature_extractor = ViTFeatureExtractor.from_pretrained(model_name) # Görüntü işleme fonksiyonu def transform_image(image): image = image.convert("RGB") inputs = feature_extractor(images=image, return_tensors="pt") return inputs # Tahmin fonksiyonu def predict(image): inputs = transform_image(image) with torch.no_grad(): outputs = model(**inputs) logits = outputs.logits predicted_class = logits.argmax(-1).item() class_name = model.config.id2label[predicted_class] return f"Tahmin Edilen Bitki Türü: {class_name}" # Gradio Arayüzü demo = gr.Interface( fn=predict, inputs=gr.Image(type="pil"), outputs=gr.Textbox(label="Sonuç"), title="Bitki Tanıma Uygulaması", description="Bir bitkinin fotoğrafını yükleyin, model onun türünü tahmin etsin." ) demo.launch()