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.

Los modelos de Huggingface solo funcionan una vez y luego arrojan un error de Tokenizer.

Estoy siguiendo el ejemplo en línea de la página web de Hugging Face, tratando de trabajar con sentimiento de Twitter. Estoy corriendo Python 3.9 en PyCharm. El código funciona bien la primera vez que lo corro, sin embargo, si intento correr el código de nuevo sin hacer cambios obtengo el siguiente error:

OSError: No se puede cargar el tokenizador para 'cardiffnlp/twitter-roberta-base-emotion'. Asegúrese de que:

<ul>
<li><p>'cardiffnlp/twitter-roberta-base-emotion' es un identificador de modelo correcto en 'https://huggingface.co/models' (asegúrese de que 'cardiffnlp/twitter-roberta-base-emotion' no es una ruta a un directorio local con algo más, en ese caso)</p></li>
<li><p>o 'cardiffnlp/twitter-roberta-base-emotion' es la ruta correcta a un directorio que contiene el archivo relevante del tokenizador, </p></li>

Una cosa que noté es que PyCharm crea una carpeta llamada “cardiffnlp” con subcarpetas correspondientes a las diferentes tareas, como “twitter-roberta-base-sentiment” en mi carpeta de proyecto de PyCharm, justo encima de mi carpeta “venv”. Sin embargo, si elimino la carpeta “twitter-roberta-base-sentiment” que se creó la primera vez que el código se ejecutó exitosamente, el código funcionará bien y la carpeta “twitter-roberta-base-sentiment” volverá a aparecer.

Supongo que esta parte del código está descargando y guardando el modelo en Pycharm. Simplemente no entiendo por qué funciona solo la primera vez. ¿Necesito cambiar la ubicación del modelo ya que no necesita ir a la URL para obtener el archivo si ya se almacena localmente?


<h1>Descarga de mapeo de etiquetas</h1> <p>etiquetas=[] mapeo<em>link = f"https://raw.githubusercontent.com/cardiffnlp/tweeteval/main/datasets/{task}/mapping.txt" with urllib.request.urlopen(mapeo</em>link) as f: html = f.read().decode('utf-8').split("\n") csvreader = csv.reader(html, delimiter='\t') etiquetas = [fila[1] for fila in csvreader if len(fila)>1]

Gracias por la ayuda chicos.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que el problema que estás enfrentando está relacionado con el tokenizador de un modelo específico (cardiffnlp/twitter-roberta-base-emotion). El mensaje de error sugiere que el tokenizador no puede ser cargado y proporciona dos posibles causas para esto.

    Una posible causa podría ser que el identificador del modelo (cardiffnlp/twitter-roberta-base-emotion) es incorrecto o no está en la página de modelos de Hugging Face. Para solucionarlo, puedes verificar el identificador del modelo y asegurarte de que sea correcto y que exista en la página de modelos.

    Otra posible causa podría ser que el archivo del tokenizador no esté en el directorio correcto. El mensaje de error sugiere que el archivo del tokenizador debe estar ubicado en un directorio con el mismo nombre que el identificador del modelo.

    Respecto al problema al ejecutar el código varias veces, es posible que PyCharm esté almacenando en caché los archivos del modelo y del tokenizador descargados. Esto podría explicar por qué el código funciona la primera vez pero falla en ejecuciones posteriores.

    Mencionaste que cuando eliminas la carpeta twitter-roberta-base-sentiment, el código vuelve a funcionar correctamente. Esto podría deberse a que eliminar la carpeta obliga a PyCharm a descargar de nuevo los archivos del modelo y del tokenizador, lo que resuelve el problema de la caché.

    Para verificar si la caché es el problema, puedes intentar limpiar la caché en PyCharm y volver a ejecutar el código. Alternativamente, puedes intentar especificar un directorio diferente para almacenar los archivos del modelo y del tokenizador descargados.

    Respecto al fragmento de código que proporcionaste para descargar la asignación de etiquetas, parece no estar relacionado con el problema que estás enfrentando con el tokenizador. Sin embargo, asegúrate de que la variable task esté establecida correctamente y que corresponda a la tarea que estás intentando realizar.

Comments are closed.