appinitdev commited on
Commit
7e0debc
·
verified ·
1 Parent(s): 315a823

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +23 -31
app.py CHANGED
@@ -1,40 +1,32 @@
1
  import torch
 
2
  import gradio as gr
3
- from diffusers import StableDiffusionPipeline
4
 
5
- # 1. Cargar el modelo
6
- # Usamos un modelo estándar de generación de imágenes
7
- model_id = "runwayml/stable-diffusion-v1-5"
 
 
 
 
8
 
9
- # Es fundamental usar torch_dtype=torch.float16 si tienes GPU para que sea más rápido.
10
- # Si estás en un entorno gratuito de Hugging Face sin GPU, el modelo usará la CPU automáticamente (aunque será más lento).
11
- try:
12
- pipe = StableDiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.float32)
13
- pipe = pipe.to("cpu") # Cambia "cpu" a "cuda" si compraste un entorno con GPU en Hugging Face
14
- except Exception as e:
15
- pipe = None
16
- print(f"Error al cargar el modelo: {e}")
17
 
18
- # 2. Función de generación
19
- def generar_imagen(prompt):
20
- if pipe is None:
21
- return None # O podrías devolver una imagen de error por defecto
22
-
23
- # El pipeline devuelve una clase con una lista de imágenes. Tomamos la primera.
24
- imagen_generada = pipe(prompt).images[0]
25
- return imagen_generada
26
 
27
- # 3. Interfaz de Gradio
28
  demo = gr.Interface(
29
- fn=generar_imagen,
30
- inputs=gr.Textbox(
31
- label="¿Qué quieres dibujar?",
32
- placeholder="Ej: Un astronauta montando un caballo en Marte, estilo pintura al óleo"
33
- ),
34
- outputs=gr.Image(label="Imagen Generada", type="pil"),
35
- title="Generador de Imágenes IA",
36
- description="Escribe una descripción y la IA generará una imagen basándose en tu texto."
37
  )
38
 
39
- if __name__ == "__main__":
40
- demo.launch()
 
1
  import torch
2
+ from diffusers import AutoPipelineForText2Image
3
  import gradio as gr
 
4
 
5
+ # Cargar modelo (se ejecuta una sola vez)
6
+ pipe = AutoPipelineForText2Image.from_pretrained(
7
+ "black-forest-labs/FLUX.1-dev",
8
+ torch_dtype=torch.bfloat16
9
+ )
10
+
11
+ pipe = pipe.to("cuda")
12
 
13
+ # Cargar LoRA
14
+ pipe.load_lora_weights(
15
+ "enhanceaiteam/Flux-uncensored-v2",
16
+ weight_name="lora.safetensors"
17
+ )
 
 
 
18
 
19
+ # Función para generar imagen
20
+ def generate(prompt):
21
+ image = pipe(prompt).images[0]
22
+ return image
 
 
 
 
23
 
24
+ # Interfaz
25
  demo = gr.Interface(
26
+ fn=generate,
27
+ inputs=gr.Textbox(label="Prompt"),
28
+ outputs=gr.Image(label="Resultado"),
29
+ title="FLUX + LoRA Demo"
 
 
 
 
30
  )
31
 
32
+ demo.launch()