File size: 1,852 Bytes
218906e
 
 
 
 
 
8c243e9
218906e
 
 
 
 
 
 
 
 
 
 
9642c3d
2a5ef59
 
 
218906e
 
38857de
4a7fdc7
38857de
4a7fdc7
218906e
 
 
 
 
 
 
 
5416177
218906e
 
 
 
 
 
 
 
 
38857de
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
import gradio as gr  # type: ignore
import tensorflow as tf  # type: ignore
from PIL import Image
import numpy as np

# Cargar el modelo previamente entrenado
modelo = tf.keras.models.load_model('combinado.h5')

# Definir la funci贸n de predicci贸n
def predict(image):
    # Redimensionar la imagen a 32x32 p铆xeles
    image = image.resize((32, 32))  
    
    # Convertir la imagen a un array de numpy y normalizarla
    img_ar = np.asarray(image) / 255.0  # Normalizar la imagen
    img_ar_rs1 = img_ar.reshape(-1, 32, 32, 3)  # Redimensionar la imagen al tama帽o esperado por el modelo

    # Realizar la predicci贸n
    pred = modelo.predict(img_ar_rs1)[0][0]
    
    # Convertir la probabilidad a porcentaje
    porcentaje = pred * 100

    # Interpretar la predicci贸n
    if pred > 0.6:
        return f"La imagen es Real con un {porcentaje:.2f}% de confianza."
    else:
        return f"La imagen est谩 generada por IA con un {100 - porcentaje:.2f}% de confianza."

# Crear la interfaz de Gradio mejorada
interfaz = gr.Interface(
    fn=predict,  # Funci贸n de predicci贸n
    inputs=gr.Image(type="pil", label="Carga tu imagen"),  # Input de tipo imagen con herramientas de edici贸n
    outputs=gr.Textbox(label="Resultado de la predicci贸n"),  # Output con un label m谩s claro
    title="DetectAI ",  # T铆tulo de la aplicaci贸n
    description="Una aplicaci贸n que identifica las im谩genes generadas por Inteligencia Artificial.",  # Descripci贸n de la aplicaci贸n
    examples=["Jarulis.jpg"],  # Imagen de ejemplo para cargar
    theme="compact",  # Tema compacto para una apariencia m谩s elegante
    allow_flagging="never",  # Desactiva la opci贸n de flagging
    live=False,  # Desactiva el modo en vivo para optimizar el rendimiento
)

# Iniciar la aplicaci贸n
if __name__ == "__main__":
    interfaz.launch(share=True)