File size: 1,807 Bytes
9a82b00
 
69569a0
9a82b00
69569a0
 
 
9a82b00
69569a0
 
9a82b00
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
25a58a8
 
9a82b00
 
25a58a8
 
9a82b00
7024203
 
9a82b00
25a58a8
7024203
25a58a8
 
 
 
 
 
7024203
 
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
import os
import base64
from huggingface_hub import HfApi, hf_hub_download

# Obtener el token de la variable de entorno y descodificarlo
token_base64 = os.getenv("TOKEN")
token = base64.b64decode(token_base64).decode("utf-8")

# Obtener el repo_id de la variable de entorno
repo_id = os.getenv("REPO_ID")

# Crear una instancia de HfApi para listar los archivos del repositorio
api = HfApi()
archivos = api.list_repo_files(repo_id=repo_id, token=token)

# Filtrar archivos por formato ".ckpt"
archivos_ckpt = [archivo for archivo in archivos if archivo.endswith(".ckpt")]

if not archivos_ckpt:
    print("No se encontraron archivos .ckpt en el repositorio.")
else:
    # Función para extraer la época de un archivo
    def get_epoch(archivo: str) -> int:
        try:
            epoch_str = archivo.split("-")[0].split("=")[1]
            return int(epoch_str)
        except (IndexError, ValueError):
            print(f"El archivo {archivo} no tiene el formato esperado. Ignorando.")
            return float('-inf')

    # Obtener el archivo con la mayor "epoch"
    archivo_con_mayor_epoch = max(archivos_ckpt, key=get_epoch)

    # Descargar el archivo con la mayor "epoch" como "model.ckpt"
    ruta_archivo_ckpt = hf_hub_download(
        repo_id=repo_id,
        filename=archivo_con_mayor_epoch,
        token=token,
        local_dir=".",
    )
    # Renombrar el archivo descargado a "model.ckpt"
    os.rename(ruta_archivo_ckpt, "model.ckpt")
    print(f"Archivo {archivo_con_mayor_epoch} descargado y renombrado como model.ckpt.")

# Descargar el archivo config.json desde el repositorio
ruta_archivo_config = hf_hub_download(
    repo_id=repo_id,
    filename="config.json",
    token=token,
    local_dir=".",
)

print(f"Archivo config.json descargado a la ruta {ruta_archivo_config}.")