Dos ejemplos introductorios de transformadores.

   El marco de transformadores formado de acuerdo con el documento "la atención es todo lo que necesita" brilla en la aplicación chat-gpt. En la actualidad, el marco de transformadores se ha convertido en un marco de moda. No solo es muy útil en PNL, según el sitio web oficial, también puede hacer muchas cosas, como clasificación de imágenes y detección de objetivos.

    Combinado con el ejemplo del sitio web oficial, a continuación se dan dos ejemplos simples, uno es procesamiento de texto y el otro es detección de objetivos.

    El marco de transformadores proporciona un método de canalización que puede aplicar rápidamente un modelo al objeto de entrada. Las palabras oficiales son:

Para utilizar inmediatamente un modelo en una entrada determinada (texto, imagen, audio, ...), proporcionamos la  pipeline API

    Antes de continuar con el ejemplo, necesitamos instalar el marco de transformadores, la instalación local es transformadores=4.26.1

pip install transformers==4.26.1

    El primer ejemplo de procesamiento de texto, que utiliza transformadores para distinguir rápidamente el contenido de texto positivo y negativo. Como se muestra a continuación, ingresamos un fragmento de texto y el transformador emitirá un juicio:

from transformers import pipeline
classifier = pipeline('sentiment-analysis')
res = classifier('we are happy to indroduce pipeline to the transformers repository.')
print(res)

    Al ejecutar este código, puede obtener los siguientes resultados:

 

    Para ejecutar este ejemplo, primero descargará algunos archivos de modelo. Aquí, el archivo de modelo distilbert-base-uncased-finetuned-sst-2-english se descargará de forma predeterminada y se almacenará en .cache\hugginface\hub\models- en el directorio de usuario local -distilbert-base-uncased-finetuned-sst-2-english, como se muestra a continuación:

    Pruebe con otra frase: lamento saber que está enfermo.

 

    Esta vez, la semántica del texto reconocido es negativa, es decir, negativa o negativa, lo cual está en línea con las expectativas.

    El segundo ejemplo es para la detección de objetivos: primero prepare una imagen y luego use el modelo de detección de objetivos para identificarla.

import requests
from PIL import Image
from transformers import pipeline

# Download an image with cute cats
url = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/coco_sample.png"
image_data = requests.get(url, stream=True).raw
image = Image.open(image_data)

# Allocate a pipeline for object detection
object_detector = pipeline('object-detection')
res = object_detector(image)
print(res)

    Esta imagen se ve así:

 

    El resultado de la impresión es el siguiente:  

    [{'score': 0.9982201457023621, 
'label': 'remote', 
'box': {'xmin': 40, 'ymin': 70, 'xmax': 175, 'ymax': 117}}, {' 
score ': 0.9960021376609802, 
'etiqueta': 'remoto', 
'box': {'xmin': 333, 'ymin': 72, 'xmax': 368, 'ymax': 187}}, {'score': 0.9954745173454285 

'etiqueta': 'sofá', 
'caja': {'xmin': 0, 'ymin': 1, 'xmax': 639, 'ymax': 473}}, {'puntuación': 0.9988006353378296, 'etiqueta 

: 'gato', 
'caja': {'xmin': 13, 'ymin': 52, 'xmax': 314, 'ymax': 470}}, 
{'puntuación': 0.9986783862113953, 
'etiqueta': 'gato', 
'caja': {'xmin': 345, 'ymin': 23, 'xmax': 640, 'ymax': 368}}] 

    El sofá, el mando a distancia y el gato de la imagen fueron identificados respectivamente. Como en la imagen de abajo:

    Al igual que en el primer ejemplo, cuando se ejecuta este ejemplo, se descargará el archivo de modelo facebook/detr-resnet-50. Y almacenado en el directorio .cache\huggingface\hub\models--facebook--detr-resnet-50 en el directorio de usuarios. También se descargará un archivo llamado resnet50_a1_0-14fe96d1.pth y se colocará en el directorio .cache\torch\hub\checkpoints.

Supongo que te gusta

Origin blog.csdn.net/feinifi/article/details/130795867
Recomendado
Clasificación