alkatraz445's picture
done
e44aab7 verified
raw
history blame
1.32 kB
import gradio as gr
import numpy as np
import os
import zipfile
from transformers import pipeline
with zipfile.ZipFile("examples.zip","r") as zip_ref:
zip_ref.extractall(".")
EXAMPLES_FOLDER = 'examples'
examples_names = os.listdir(EXAMPLES_FOLDER)
examples = []
for example_name in examples_names:
example_path = os.path.join(EXAMPLES_FOLDER, example_name)
label = example_name.split('_')[0]
example = {
'path': example_path,
'label': label
}
examples.append(example)
np.random.shuffle(examples)
# Load the Hugging Face model
model = pipeline("image-classification", model="dima806/deepfake_vs_real_image_detection", device="cuda")
# Define the prediction function
def classify_image(image):
results = model(image)
return {result['label']: result['score'] for result in results}
# Create the Gradio interface
interface = gr.Interface(
fn=classify_image,
inputs=gr.Image(type="pil"), # Accepts images in PIL format
outputs=gr.Label(num_top_classes=2), # Displays top two classifications with probabilities
title="Deepfake vs Real Image Detection",
description="Upload an image to determine whether it's real or deepfake.",
examples=[[examples[i]["path"], examples[i]["label"]] for i in range(10)]
)
# Launch the Gradio app
interface.launch()