首頁 >後端開發 >Python教學 >解鎖影像的魔力:使用尖端 SmolVLM-M 模型的快速簡便指南

解鎖影像的魔力:使用尖端 SmolVLM-M 模型的快速簡便指南

Susan Sarandon
Susan Sarandon原創
2025-01-24 14:10:10246瀏覽

本文展示了 SmolVLM-500M-Instruct,這是一種尖端、緊湊的視覺到文字模型。 儘管其規模相對較小(5 億個參數),但它展示了令人印象深刻的功能。

這是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>

此腳本利用 Hugging Face Transformers 函式庫從影像產生文字描述。 它載入預先訓練的模型和處理器,處理圖像並輸出描述性文字。 包括錯誤處理。

程式碼在這裡:https://www.php.cn/link/042886829869470b75f63dddfd7e9d9d

使用以下非庫存圖像(放置在項目的圖像目錄中):

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

模型生成描述(可以調整提示和參數以實現更精細的控制):一個機器人坐在沙發上,全神貫注地閱讀。 背景中可以看到書架和門。場景中還有一張有坐墊的白色椅子。

與較大的語言模型相比,此模型的速度和效率值得注意。

以上是解鎖影像的魔力:使用尖端 SmolVLM-M 模型的快速簡便指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn