本文展示了 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
使用以下非库存图像(放置在项目的图像目录中):
模型生成描述(可以调整提示和参数以实现更精细的控制):一个机器人坐在沙发上,全神贯注地读书。 背景中可以看到书架和门。场景中还有一把带坐垫的白色椅子。
与较大的语言模型相比,该模型的速度和效率值得注意。
以上是解锁图像的魔力:使用尖端 SmolVLM-M 模型的快速简便指南的详细内容。更多信息请关注PHP中文网其他相关文章!