Views
No views yet

1import torch
2from PIL import Image
3from transformers import AutoModelForCausalLM, LlamaTokenizer
4tokenizer = LlamaTokenizer.from_pretrained('lmsys/vicuna-7b-v1.5')
5model = AutoModelForCausalLM.from_pretrained(
6 'THUDM/cogvlm-grounding-base-hf',
7 torch_dtype=torch.bfloat16,
8 low_cpu_mem_usage=True,
9 trust_remote_code=True
10).to('cuda').eval()
11query = 'Can you provide a description of the image and include the coordinates [[x0,y0,x1,y1]] for each mentioned object?'
12image = Image.open(requests.get('https://github.com/THUDM/CogVLM/blob/main/examples/4.jpg?raw=true', stream=True).raw).convert('RGB')
13inputs = model.build_conversation_input_ids(tokenizer, query=query, images=[image])
14inputs = {
15 'input_ids': inputs['input_ids'].unsqueeze(0).to('cuda'),
16 'token_type_ids': inputs['token_type_ids'].unsqueeze(0).to('cuda'),
17 'attention_mask': inputs['attention_mask'].unsqueeze(0).to('cuda'),
18 'images': [[inputs['images'][0].to('cuda').to(torch.bfloat16)]],
19}
20gen_kwargs = {"max_length": 2048, "do_sample": False}
21with torch.no_grad():
22 outputs = model.generate(**inputs, **gen_kwargs)
23 outputs = outputs[:, inputs['input_ids'].shape[1]:]
24 print(tokenizer.decode(outputs[0]))
@article{wang2023cogvlm,
title={CogVLM: Visual Expert for Pretrained Language Models},
author={Weihan Wang and Qingsong Lv and Wenmeng Yu and Wenyi Hong and Ji Qi and Yan Wang and Junhui Ji and Zhuoyi Yang and Lei Zhao and Xixuan Song and Jiazheng Xu and Bin Xu and Juanzi Li and Yuxiao Dong and Ming Ding and Jie Tang},
year={2023},
eprint={2311.03079},
archivePrefix={arXiv},
primaryClass={cs.CV}
}