File size: 1,379 Bytes
d3d8124 |
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 |
# 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):
@wraps(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):
@GPU(duration=duration) # Usando nuestro placeholder o el real de `spaces`
@wraps(func)
def wrapper(*args, **kwargs):
return func(*args, **kwargs)
return wrapper
return decorator |