Maison >développement back-end >Tutoriel Python >Déverrouillez la magie des images: un guide rapide et facile pour utiliser le modèle SmolVLM-M à pointe

Déverrouillez la magie des images: un guide rapide et facile pour utiliser le modèle SmolVLM-M à pointe

Susan Sarandon
Susan Sarandonoriginal
2025-01-24 14:10:10251parcourir

Cet article présente SmolVLM-500M-Instruct, un modèle vision-texte compact et de pointe. Malgré sa taille relativement petite (500 millions de paramètres), il démontre des capacités impressionnantes.

Voici le code Python :

<code class="language-python">import torch
from transformers import AutoProcessor, AutoModelForVision2Seq
from PIL import Image
import warnings

warnings.filterwarnings("ignore", message="Some kwargs in processor config are unused")

def describe_image(image_path):
    processor = AutoProcessor.from_pretrained("HuggingFaceTB/SmolVLM-500M-Instruct")
    model = AutoModelForVision2Seq.from_pretrained("HuggingFaceTB/SmolVLM-500M-Instruct")

    image = Image.open(image_path)

    prompt = "Describe the image content in detail.  Provide a concise textual response."
    inputs = processor(text=[prompt], images=[image], return_tensors="pt")

    with torch.no_grad():
        outputs = model.generate(
            pixel_values=inputs["pixel_values"],
            input_ids=inputs["input_ids"],
            attention_mask=inputs["attention_mask"],
            max_new_tokens=150,
            do_sample=True,
            temperature=0.7
        )

    description = processor.batch_decode(outputs, skip_special_tokens=True)[0]
    return description.strip()

if __name__ == "__main__":
    image_path = "images/bender.jpg"

    try:
        description = describe_image(image_path)
        print("Image Description:", description)
    except Exception as e:
        print(f"Error: {e}")</code>

Ce script exploite la bibliothèque Hugging Face Transformers pour générer une description textuelle à partir d'une image. Il charge un modèle et un processeur pré-entraînés, traite l'image et génère un texte descriptif. La gestion des erreurs est incluse.

Le code est disponible ici : https://www.php.cn/link/042886829869470b75f63dddfd7e9d9d

En utilisant l'image non stockée suivante (placée dans le répertoire d'images du projet) :

Unlock the Magic of Images: A Quick and Easy Guide to Using the Cutting-Edge SmolVLM-M Model

Le modèle génère une description (l'invite et les paramètres peuvent être ajustés pour un contrôle plus fin) : Un robot, assis sur un canapé, est plongé dans la lecture d'un livre. Des étagères et une porte sont visibles en arrière-plan. Une chaise blanche avec un coussin est également dans la scène.

La rapidité et l'efficacité du modèle sont remarquables par rapport aux modèles linguistiques plus grands.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn