from transformers import Qwen2_5_VLForConditionalGeneration, AutoTokenizer, AutoProcessorfrom qwen_vl_utils import process_vision_infoย model_path = "internlm/Spatial-SSRL-7B" #You can change it to your own local path if deployed alreadyimg_path = "examples/eg1.jpg"question = "Consider the real-world 3D locations of the objects. Which object has a higher location? A. yellow bear kite B. building"#We recommend using the format prompt to make the inference consistent with trainingformat_prompt = "\n You FIRST think about the reasoning process as an internal monologue and then provide the final answer. The reasoning process MUST BE enclosed within <think> </think> tags. The final answer MUST BE put in \\boxed{}."ย model = Qwen2_5_VLForConditionalGeneration.from_pretrained( model_path, torch_dtype="auto", device_map="auto")processor = AutoProcessor.from_pretrained(model_path)messages = [ { "role": "user", "content": [ { "type": "image", "image": img_path, }, {"type": "text", "text": question + format_prompt}, ], }]ย text = processor.apply_chat_template( messages, tokenize=False, add_generation_prompt=True)image_inputs, video_inputs = process_vision_info(messages)inputs = processor( text=[text], images=image_inputs, videos=video_inputs, padding=True, return_tensors="pt",)inputs = inputs.to("cuda")ย generated_ids = model.generate(**inputs, max_new_tokens=4096, do_sample=False)generated_ids_trimmed = [ out_ids[len(in_ids) :] for in_ids, out_ids in zip(inputs.input_ids, generated_ids)]output_text = processor.batch_decode( generated_ids_trimmed, skip_special_tokens=True, clean_up_tokenization_spaces=False)print("Model Response:", output_text)