# decorators.py | |
from functools import wraps | |
# La importaci贸n original 'from spaces import GPU' es espec铆fica de Hugging Face Spaces. | |
# Para un uso general o con Modal, este decorador necesitar铆a ser adaptado o | |
# la gesti贸n de GPU se har铆a directamente a trav茅s de la configuraci贸n de la funci贸n Modal. | |
# Por ahora, mantenemos la estructura, pero ten en cuenta que @GPU no funcionar谩 | |
# fuera del entorno de HF Spaces tal como est谩. Modal tiene su propia forma de asignar GPUs. | |
class GPU: # Placeholder para simular la estructura si no se ejecuta en HF Spaces | |
def __init__(self, duration=100): | |
self.duration = duration | |
def __call__(self, func): | |
def wrapper(*args, **kwargs): | |
# print(f"Simulando ejecuci贸n con GPU (duraci贸n: {self.duration}s) para: {func.__name__}") | |
return func(*args, **kwargs) | |
return wrapper | |
def gpu_decorator(duration=100): | |
""" | |
Decorador personalizado que simula el uso de GPU. | |
En un entorno de Hugging Face Spaces con GPU asignada, | |
el decorador `spaces.GPU` real se encargar铆a de la gesti贸n. | |
""" | |
def decorator(func): | |
# Usando nuestro placeholder o el real de `spaces` | |
def wrapper(*args, **kwargs): | |
return func(*args, **kwargs) | |
return wrapper | |
return decorator |