Views
No views yet

1import torch
2import requests
3from PIL import Image
4from transformers import AutoModelForCausalLM, LlamaTokenizer
5
6tokenizer = LlamaTokenizer.from_pretrained('lmsys/vicuna-7b-v1.5')
7model = AutoModelForCausalLM.from_pretrained(
8 'THUDM/cogvlm-base-224-hf',
9 torch_dtype=torch.bfloat16,
10 low_cpu_mem_usage=True,
11 trust_remote_code=True
12).to('cuda').eval()
13
14image = Image.open(requests.get('https://github.com/THUDM/CogVLM/blob/main/examples/1.png?raw=true', stream=True).raw).convert('RGB')
15inputs = model.build_conversation_input_ids(tokenizer, query='', images=[image])
16inputs = {
17 'input_ids': inputs['input_ids'].unsqueeze(0).to('cuda'),
18 'token_type_ids': inputs['token_type_ids'].unsqueeze(0).to('cuda'),
19 'attention_mask': inputs['attention_mask'].unsqueeze(0).to('cuda'),
20 'images': [[inputs['images'][0].to('cuda').to(torch.bfloat16)]],
21}
22gen_kwargs = {"max_length": 2048, "do_sample": False}
23
24with torch.no_grad():
25 outputs = model.generate(**inputs, **gen_kwargs)
26 outputs = outputs[:, inputs['input_ids'].shape[1]:]
27 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}
}