Update app.py
Browse files
app.py
CHANGED
@@ -3,17 +3,13 @@ import torch
|
|
3 |
from transformers import AutoModelForCausalLM, AutoTokenizer
|
4 |
import time
|
5 |
from functools import wraps
|
|
|
6 |
|
7 |
-
#
|
8 |
-
# Si 'spaces.GPU' no está disponible, puedes omitir o implementar una alternativa.
|
9 |
-
# En este ejemplo, se asume que 'spaces.GPU' es un decorador válido en tu entorno.
|
10 |
-
|
11 |
try:
|
12 |
import spaces
|
13 |
except ImportError:
|
14 |
-
# Si
|
15 |
-
# para evitar errores. Esto es útil si no estás utilizando características
|
16 |
-
# específicas de Hugging Face Spaces que requieran este decorador.
|
17 |
def GPU(duration):
|
18 |
def decorator(func):
|
19 |
return func
|
@@ -38,26 +34,35 @@ device = "cuda" if torch.cuda.is_available() else "cpu"
|
|
38 |
if device == "cpu":
|
39 |
print("Advertencia: CUDA no está disponible. Se usará la CPU, lo que puede ser lento.")
|
40 |
|
41 |
-
#
|
42 |
-
|
43 |
|
|
|
44 |
try:
|
45 |
-
print("Cargando el tokenizador desde
|
46 |
-
tokenizer = AutoTokenizer.from_pretrained(
|
47 |
except ValueError as e:
|
48 |
print(f"Error al cargar el tokenizador: {e}")
|
49 |
sys.exit(1)
|
|
|
|
|
|
|
50 |
|
51 |
-
#
|
|
|
|
|
|
|
52 |
try:
|
53 |
-
print("Cargando el modelo GenerRNA desde
|
54 |
model = AutoModelForCausalLM.from_pretrained(
|
55 |
-
|
56 |
-
torch_dtype=torch.float16 if device == "cuda" else torch.float32
|
57 |
-
revision="main" # Asegúrate de que la rama correcta esté especificada
|
58 |
).to(device)
|
59 |
model.eval()
|
60 |
print("Modelo GenerRNA cargado exitosamente.")
|
|
|
|
|
|
|
61 |
except Exception as e:
|
62 |
print(f"Error al cargar el modelo GenerRNA: {e}")
|
63 |
sys.exit(1)
|
|
|
3 |
from transformers import AutoModelForCausalLM, AutoTokenizer
|
4 |
import time
|
5 |
from functools import wraps
|
6 |
+
import sys
|
7 |
|
8 |
+
# Intentar importar 'spaces' para usar el decorador GPU si está disponible
|
|
|
|
|
|
|
9 |
try:
|
10 |
import spaces
|
11 |
except ImportError:
|
12 |
+
# Si 'spaces' no está disponible, definir un decorador vacío
|
|
|
|
|
13 |
def GPU(duration):
|
14 |
def decorator(func):
|
15 |
return func
|
|
|
34 |
if device == "cpu":
|
35 |
print("Advertencia: CUDA no está disponible. Se usará la CPU, lo que puede ser lento.")
|
36 |
|
37 |
+
# Ruta local al tokenizador
|
38 |
+
tokenizer_path = "tokenizer_bpe_1024"
|
39 |
|
40 |
+
# Cargar el tokenizador desde el directorio local
|
41 |
try:
|
42 |
+
print(f"Cargando el tokenizador desde el directorio local '{tokenizer_path}'...")
|
43 |
+
tokenizer = AutoTokenizer.from_pretrained(tokenizer_path)
|
44 |
except ValueError as e:
|
45 |
print(f"Error al cargar el tokenizador: {e}")
|
46 |
sys.exit(1)
|
47 |
+
except Exception as e:
|
48 |
+
print(f"Error inesperado al cargar el tokenizador: {e}")
|
49 |
+
sys.exit(1)
|
50 |
|
51 |
+
# Ruta al modelo local
|
52 |
+
model_path = "model.pt.recombined"
|
53 |
+
|
54 |
+
# Cargar el modelo desde el archivo local
|
55 |
try:
|
56 |
+
print(f"Cargando el modelo GenerRNA desde '{model_path}'...")
|
57 |
model = AutoModelForCausalLM.from_pretrained(
|
58 |
+
model_path,
|
59 |
+
torch_dtype=torch.float16 if device == "cuda" else torch.float32
|
|
|
60 |
).to(device)
|
61 |
model.eval()
|
62 |
print("Modelo GenerRNA cargado exitosamente.")
|
63 |
+
except FileNotFoundError:
|
64 |
+
print(f"Error: El archivo del modelo '{model_path}' no se encontró.")
|
65 |
+
sys.exit(1)
|
66 |
except Exception as e:
|
67 |
print(f"Error al cargar el modelo GenerRNA: {e}")
|
68 |
sys.exit(1)
|