File size: 2,547 Bytes
fc4232d 631d039 fc4232d 631d039 fc4232d 826d6c2 fc4232d 826d6c2 fc4232d 631d039 fc4232d afed862 631d039 fc4232d afed862 fc4232d 826d6c2 fc4232d |
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 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
import os
import base64
import shutil
from huggingface_hub import HfApi, upload_file
def main():
# Obtiene el nombre del modelo de la variable de entorno
model_name = os.getenv('MODELNAME')
if model_name is None:
print("MODELNAME no está definida en las variables de entorno.")
return
# Ruta a los archivos
onnx_file = f"{model_name}.onnx"
config_file = "config.json"
onnx_json_file = f"{model_name}.onnx.json"
# Verifica si el archivo .onnx existe
if not os.path.isfile(onnx_file):
print(f"{model_name}.onnx no se encuentra.")
return
print(f"{model_name}.onnx encontrado.")
# Renombra config.json a ${MODELNAME}.onnx.json si existe
if os.path.isfile(config_file):
shutil.move(config_file, onnx_json_file)
print(f"Renombrado config.json a {onnx_json_file}")
else:
print("config.json no se encuentra.")
return
# Obtén el token desde la variable de entorno llamada 'TOKEN'
token_base64 = os.getenv('TOKEN')
if token_base64 is None:
print("TOKEN no está definida en las variables de entorno.")
return
# Decodifica el token de base64
token = base64.b64decode(token_base64).decode('utf-8')
# Configuración para la API de Hugging Face
api = HfApi()
# Obtiene el nombre de usuario
user_info = api.whoami(token=token)
username = user_info['name']
# Crea el repositorio en Hugging Face si no existe
repo_id = f"{username}/{model_name}"
try:
# Crear el repositorio como privado
api.create_repo(repo_id=repo_id, token=token, private=True)
print(f"Repositorio {repo_id} creado en Hugging Face como privado.")
except Exception as e:
print(f"El repositorio {repo_id} ya existe o se produjo un error: {e}")
# Subir archivos a Hugging Face
try:
# Subir el archivo .onnx
upload_file(
path_or_fileobj=onnx_file,
path_in_repo=f"{model_name}.onnx",
repo_id=repo_id,
token=token,
)
print(f"{model_name}.onnx subido a Hugging Face.")
# Subir el archivo .onnx.json
upload_file(
path_or_fileobj=onnx_json_file,
path_in_repo=f"{model_name}.onnx.json",
repo_id=repo_id,
token=token,
)
print(f"{model_name}.onnx.json subido a Hugging Face.")
except Exception as e:
print(f"Error al subir archivos a Hugging Face: {e}")
if __name__ == '__main__':
main()
|