首页 >后端开发 >Python教程 >解锁图像的魔力:使用尖端 SmolVLM-M 模型的快速简便指南

解锁图像的魔力:使用尖端 SmolVLM-M 模型的快速简便指南

Susan Sarandon
Susan Sarandon原创
2025-01-24 14:10:10251浏览

本文展示了 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