Spaces:
Paused
Paused
Commit
·
4e469f4
1
Parent(s):
cf00782
Optimización de memoria en Hugging Face Spaces
Browse files
api.py
CHANGED
|
@@ -15,18 +15,25 @@ os.environ["HF_HOME"] = "/tmp/huggingface"
|
|
| 15 |
HUGGING_FACE_REPO = "fcp2207/Phi-2" # Reemplaza con tu usuario y nombre correcto del modelo en Hugging Face
|
| 16 |
MODEL_FILENAME = "phi2_finetuned.pth" # Nombre del archivo en Hugging Face
|
| 17 |
|
| 18 |
-
# ✅ Descargar el modelo desde Hugging Face
|
| 19 |
model_path = hf_hub_download(
|
| 20 |
repo_id=HUGGING_FACE_REPO,
|
| 21 |
filename=MODEL_FILENAME,
|
| 22 |
cache_dir=os.environ["HF_HOME"] # Directorio seguro en Hugging Face Spaces
|
| 23 |
)
|
| 24 |
|
| 25 |
-
# ✅ Cargar el tokenizer
|
| 26 |
tokenizer = AutoTokenizer.from_pretrained("microsoft/phi-2", cache_dir=os.environ["HF_HOME"])
|
| 27 |
-
model = AutoModelForCausalLM.from_pretrained("microsoft/phi-2", cache_dir=os.environ["HF_HOME"])
|
| 28 |
|
| 29 |
-
# ✅ Cargar
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 30 |
model.load_state_dict(torch.load(model_path, map_location="cpu"))
|
| 31 |
model.eval() # Poner el modelo en modo inferencia
|
| 32 |
|
|
@@ -68,3 +75,4 @@ if __name__ == "__main__":
|
|
| 68 |
|
| 69 |
|
| 70 |
|
|
|
|
|
|
| 15 |
HUGGING_FACE_REPO = "fcp2207/Phi-2" # Reemplaza con tu usuario y nombre correcto del modelo en Hugging Face
|
| 16 |
MODEL_FILENAME = "phi2_finetuned.pth" # Nombre del archivo en Hugging Face
|
| 17 |
|
| 18 |
+
# ✅ Descargar el modelo desde Hugging Face con caché segura
|
| 19 |
model_path = hf_hub_download(
|
| 20 |
repo_id=HUGGING_FACE_REPO,
|
| 21 |
filename=MODEL_FILENAME,
|
| 22 |
cache_dir=os.environ["HF_HOME"] # Directorio seguro en Hugging Face Spaces
|
| 23 |
)
|
| 24 |
|
| 25 |
+
# ✅ Cargar el tokenizer
|
| 26 |
tokenizer = AutoTokenizer.from_pretrained("microsoft/phi-2", cache_dir=os.environ["HF_HOME"])
|
|
|
|
| 27 |
|
| 28 |
+
# ✅ Cargar el modelo en modo optimizado para memoria
|
| 29 |
+
model = AutoModelForCausalLM.from_pretrained(
|
| 30 |
+
"microsoft/phi-2",
|
| 31 |
+
cache_dir=os.environ["HF_HOME"],
|
| 32 |
+
torch_dtype=torch.float16, # Reduce el tamaño del modelo
|
| 33 |
+
device_map="auto" # Optimiza la carga en CPU/GPU automáticamente
|
| 34 |
+
)
|
| 35 |
+
|
| 36 |
+
# ✅ Cargar los pesos del modelo entrenado
|
| 37 |
model.load_state_dict(torch.load(model_path, map_location="cpu"))
|
| 38 |
model.eval() # Poner el modelo en modo inferencia
|
| 39 |
|
|
|
|
| 75 |
|
| 76 |
|
| 77 |
|
| 78 |
+
|