Views
No views yet
1# this is very similar to qwen2-vl
2from slimm.model.processor import SliMMQwen2VLProcessor
3from slimm.model.slimm import SliMMForConditionalGeneration
4from slimm.model.utils_vl import process_vision_info
5
6model_path = "SliMM-X/CoMP-MM-1B"
7
8model = SliMMForConditionalGeneration.from_pretrained(
9 model_path, torch_dtype="auto", device_map="cuda"
10)
11processor = SliMMQwen2VLProcessor.from_pretrained(model_path)
12
13messages = [
14 {
15 "role": "user",
16 "content": [
17 {
18 "type": "image",
19 "image": "https://slimm-x.github.io/comp/figs/teaser.png",
20 },
21 {"type": "text", "text": "Describe this image."},
22 ],
23 }
24]
25
26# Preparation for inference
27text = processor.apply_chat_template(
28 messages, tokenize=False, add_generation_prompt=True
29)
30image_inputs, video_inputs = process_vision_info(messages)
31inputs = processor(
32 text=[text],
33 images=image_inputs,
34 videos=video_inputs,
35 padding=True,
36 return_tensors="pt",
37)
38inputs = inputs.to("cuda")
39
40# Inference: Generation of the output
41generated_ids = model.generate(**inputs, max_new_tokens=128)
42generated_ids_trimmed = [
43 out_ids[len(in_ids) :] for in_ids, out_ids in zip(inputs.input_ids, generated_ids)
44]
45output_text = processor.batch_decode(
46 generated_ids_trimmed, skip_special_tokens=True, clean_up_tokenization_spaces=False
47)
48print(output_text)1@article{comp2025,
2 title={CoMP: Continual Multimodal Pre-training for Vision Foundation Models},
3 author={Chen, Yitong and Meng, Lingchen and Peng, Wujian and Wu, Zuxuan and Jiang, Yu-Gang},
4 year={2025},
5 journal={arXiv preprint arXiv:2503.18931},
6}