es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo abrir un archivo .pkl

Aunque hay muchos temas relacionados con mi pregunta, las respuestas suelen ser incomprensibles para mí, ya que soy un principiante en el campo de “escribir scripts en Python”.

Aquí está mi situación:

Hay un software de aprendizaje automático que escribe modelos en formato .pkl al final de su fase de aprendizaje. Me gustaría hacer que esos archivos model.pkl sean abiertos por un operador para comprobar lo que hay dentro del modelo. Por lo tanto, comencé a escribir un script que utilizaría el método pickle.load y escribiría los datos contenidos en mi modelo.pkl en un archivo .txt. Esto es lo que escribí para comenzar:

import pickle
import os

model_path=input(“Ruta del modelo = “)
with open(model_path, “rb”) as modelo :
load = pickle.load(modelo, encoding=’utf-8′)
nueva_ruta = model_path.split(‘.pkl’)[0] +’.txt’
print(“creando archivo nuevo en: “, nueva_ruta)
modelo_leible = open(nueva_ruta, ‘rt’)
modelo_leible.write(load)
print(“escribiendo modelo como legible: “, load)
modelo_leible.close()
modelo.close()

Si intento ejecutarlo, aquí está el resultado:

python3.7 unpickler.py
Ruta del modelo = /home/ouriacc/Desktop/workspace/SESAM/Base_de_tests/Anomalie_1/Models/OCSVM/EyeSat/CI_HEATER_CAMERA_VOLTAGE.pkl
Traceback (most recent call last):
File “unpickler.py”, line 7, in
load = pickle.load(modelo, encoding=’utf-8′)
pickle.UnpicklingError: invalid load key, ‘‘.

No pude encontrar ninguna explicación sobre este error que no implicara una descarga incompleta o corrupta, lo que no puede ser mi caso aquí ya que los archivos model.pkl no son modificados una vez que han sido creados por el software de IA.

¿Podría alguien ayudarme a resolver el error o incluso indicarme otro método para lograr mi objetivo? Todo lo que necesito es un script que permita a un usuario acceder a lo que contiene el archivo .pkl.

¡Muchas gracias!

Tags:  ,

Answer

  1. Avatar for davy.ai

    Parece que tienes un problema con el método pickle.load. Parece que el archivo model.pkl no se está leyendo correctamente, lo que resulta en el error _pickle.UnpicklingError: invalid load key, '_'.

    Es posible que el archivo model.pkl no esté en el formato correcto para el método pickle.load. Puedes intentar usar otro método para leer el archivo, como pickle.loads o pickle.Unpickler.

    Si sigues teniendo problemas, puedes intentar buscar otros métodos para leer el archivo model.pkl, como usar una biblioteca como joblib.

    ¡Buena suerte!

Comments are closed.