Yaquv commited on
Commit
a63e5fb
·
verified ·
1 Parent(s): bb3d5f4

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +55 -1
app.py CHANGED
@@ -1,3 +1,57 @@
1
  import gradio as gr
 
 
 
2
 
3
- gr.load("models/Yaquv/rickthenpc").launch()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  import gradio as gr
2
+ from PIL import Image
3
+ import torch
4
+ from transformers import AutoModel, AutoTokenizer
5
 
6
+ # Charger le modèle et le tokenizer depuis Hugging Face
7
+ model_name = "Yaquv/rickthenpc"
8
+ model = AutoModel.from_pretrained(model_name)
9
+ tokenizer = AutoTokenizer.from_pretrained(model_name)
10
+
11
+ # Fonction de génération et de post-traitement
12
+ def generate_image(prompt):
13
+ """
14
+ Génère une image à partir du prompt en utilisant le modèle Hugging Face.
15
+ """
16
+ try:
17
+ # Préparer les entrées pour le modèle
18
+ inputs = tokenizer(prompt, return_tensors="pt")
19
+
20
+ # Si GPU disponible, envoyer le modèle et les entrées sur le GPU
21
+ device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
22
+ model.to(device)
23
+ inputs = {key: val.to(device) for key, val in inputs.items()}
24
+
25
+ # Générer la sortie
26
+ outputs = model(**inputs)
27
+
28
+ # Si la sortie est déjà une image (ex : tableau NumPy), la convertir en image
29
+ if isinstance(outputs, torch.Tensor):
30
+ image_data = outputs.detach().cpu().numpy()
31
+ else:
32
+ raise ValueError("Le modèle a retourné un format inattendu.")
33
+
34
+ # Assurer que la sortie est une image au format (H, W, C)
35
+ if len(image_data.shape) == 3: # (Hauteur, Largeur, Canaux)
36
+ image = Image.fromarray((image_data * 255).astype("uint8"))
37
+ else:
38
+ raise ValueError("Les données générées ne sont pas au format image attendu.")
39
+
40
+ return image
41
+
42
+ except Exception as e:
43
+ # Gestion des erreurs avec un retour informatif
44
+ return f"Erreur lors de la génération : {str(e)}"
45
+
46
+ # Interface Gradio
47
+ iface = gr.Interface(
48
+ fn=generate_image,
49
+ inputs=gr.Textbox(label="Prompt"),
50
+ outputs=gr.Image(label="Image générée"),
51
+ title="Générateur d'images RickTheNPC",
52
+ description="Entrez un prompt et générez une image avec le modèle RickTheNPC."
53
+ )
54
+
55
+ # Lancer l'application
56
+ if __name__ == "__main__":
57
+ iface.launch()