模型:
Salesforce/instructblip-vicuna-7b
使用 Vicuna-7b 作为语言模型的InstructBLIP模型。InstructBLIP模型由Dai等人在 InstructBLIP: Towards General-purpose Vision-Language Models with Instruction Tuning 论文中提出。
免责声明:发布InstructBLIP的团队并未为该模型编写模型卡片,因此此模型卡片是由Hugging Face团队编写的。
InstructBLIP是对 BLIP-2 的视觉指令调优版本。具体详情请参阅论文。
 
  使用方式如下:
from transformers import InstructBlipProcessor, InstructBlipForConditionalGeneration
import torch
from PIL import Image
import requests
model = InstructBlipForConditionalGeneration.from_pretrained("Salesforce/instructblip-vicuna-7b")
processor = InstructBlipProcessor.from_pretrained("Salesforce/instructblip-vicuna-7b")
device = "cuda" if torch.cuda.is_available() else "cpu"
model.to(device)
url = "https://raw.githubusercontent.com/salesforce/LAVIS/main/docs/_static/Confusing-Pictures.jpg"
image = Image.open(requests.get(url, stream=True).raw).convert("RGB")
prompt = "What is unusual about this image?"
inputs = processor(images=image, text=prompt, return_tensors="pt").to(device)
outputs = model.generate(
        **inputs,
        do_sample=False,
        num_beams=5,
        max_length=256,
        min_length=1,
        top_p=0.9,
        repetition_penalty=1.5,
        length_penalty=1.0,
        temperature=1,
)
generated_text = processor.batch_decode(outputs, skip_special_tokens=True)[0].strip()
print(generated_text)
 有关代码示例,请参阅 documentation 。