使用modelscope推理Qwen/Qwen3-VL-8B-Instruct报错如下信息,官方例子会有这个报错:
ValueError: Image features and image tokens do not match: tokens: 2752, features 2752
调整后的代码:
from modelscope import Qwen3VLForConditionalGeneration, AutoProcessor
from PIL import Image
import torch
# Load the model on GPU for better performance
model = Qwen3VLForConditionalGeneration.from_pretrained(
"Qwen/Qwen3-VL-8B-Instruct",
dtype=torch.bfloat16,
device_map="cuda",
)
processor = AutoProcessor.from_pretrained("Qwen/Qwen3-VL-8B-Instruct")
# 使用官方推荐的消息格式
messages = [
{
"role": "user",
"content": [
{
"type": "image",
"image": "https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen-VL/assets/demo.jpeg",
},
{"type": "text", "text": "请介绍下这张图片"},
],
}
]
# 使用apply_chat_template处理输入
inputs = processor.apply_chat_template(
messages,
tokenize=True,
add_generation_prompt=True,
return_tensors="pt"
)
# 检查inputs的类型并正确处理
if isinstance(inputs, torch.Tensor):
# 如果inputs是张量,直接移到设备上
inputs = inputs.to(model.device)
# 创建正确的输入字典
inputs_dict = {"input_ids": inputs}
else:
# 如果inputs是字典,正常处理
inputs_dict = {k: v.to(model.device) for k, v in inputs.items()}
# Inference: Generation of the output
generated_ids = model.generate(**inputs_dict, max_new_tokens=128)
generated_ids_trimmed = [
out_ids[len(in_ids) :] for in_ids, out_ids in zip(inputs_dict["input_ids"], generated_ids)
]
output_text = processor.batch_decode(
generated_ids_trimmed, skip_special_tokens=True, clean_up_tokenization_spaces=False
)
print(output_text)c#中string和StringBuilder直接看看执行速度。(2).String类型累计赋值Test  ...
【一】.钩子文件的设置和创建(1).打开hooks目录,可以看到有一个post-commit.tmpl文件,这是一个模板文件。复制一份,重命名为post-commit,将其用户组设为www,并设置为可执行。chown www:www post-commitchmod +x post-commit(2...
public static string GetMD5(string str) { //创建MD5对象 MD5 md5 = MD5.C...
private const string fantizi = "高久峰是個程序員"; private const string jiantizi = "高久峰是个程序员...
方案1.IE浏览器"无法显示此页"的解决办法(1).按下Win+R键打开运行,输入netsh winsock reset,回车;(2).重启即可. 方案2.IE浏览器"无法显示此页"的解决办法 (1).设置-连接-局域网设置-自动检测设置开...
首先网页全部是纯静态的文件,本地测试正常访问,服务器端无法加载CSS,并且无法查看CSS文件的内容。 解决方案:关闭网站的压缩->>静态压缩和动态压缩...