模型名称: VisualQuality-R1-7B-NPU(基于 TianheWu/VisualQuality-R1-7B 适配) 模型链接: TianheWu/VisualQuality-R1-7B 模型描述: VisualQuality-R1-7B 是一个用于图像质量评价/推理的视觉语言模型,可接收图像与文本输入并输出质量相关推理结果。 模型架构: Vision-Language Model (VLM) 参数规模: 7B
| 依赖项 | 版本要求 | 说明 |
|---|---|---|
| Python | >= 3.10 | 推荐 3.11 |
| torch / torch_npu | 2.9.0+ | NPU 运行时 |
| transformers | >= 4.49.0 | 模型加载与 processor |
| 昇腾驱动 | CANN 8.5+ | NPU 驱动 |
| numpy | >= 1.24.0 | 数值计算 |
| pillow | >= 9.0.0 | 图像预处理 |
安装命令:
pip install -r requirements.txt# 检查 NPU 设备
npu-smi info
python3 -c "import torch; print(torch.npu.is_available())"# 单条文本推理
python3 inference.py --model_path /tmp/VisualQuality-R1-7B --input "请评价这张图像的质量"
# 批量文本推理
python3 inference.py --model_path /tmp/VisualQuality-R1-7B --input_file prompts.txt
# 使用默认文本推理
python3 inference.py --model_path /tmp/VisualQuality-R1-7B| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| --model_path | str | /tmp/VisualQuality-R1-7B | 模型目录 |
| --input | str | - | 单条语言指令输入 |
| --input_file | str | - | 批量输入文件,每行一条语言指令 |
| --text | str | 请评价这张图像的质量 | 默认语言指令 |
| --max_length | int | 128 | 最大生成长度 |
| --device | str | npu:0 | 推理设备 |
输入:
请评价这张图像的质量输出:
{
"device": "npu:0",
"full_model_loaded": true,
"text": "请评价这张图像的质量",
"logits_shape": [1, 152064],
"logits": [[...]],
"elapsed_seconds": 0.012345
}输入:
prompts.txt 内容:
请评价这张图像的质量
这张图像的清晰度如何输出:
{
"device": "npu:0",
"results": [
{
"device": "npu:0",
"full_model_loaded": true,
"text": "请评价这张图像的质量",
"logits_shape": [1, 152064],
"logits": [[...]],
"elapsed_seconds": 0.012345
},
{
"device": "npu:0",
"full_model_loaded": true,
"text": "这张图像的清晰度如何",
"logits_shape": [1, 152064],
"logits": [[...]],
"elapsed_seconds": 0.011987
}
]
}


| 测试项 | 结果 | 说明 |
|---|---|---|
| 单条文本推理 | 成功 | 已确认在 npu:0 上完成前向推理 |
| 批量文本推理 | 成功 | 已确认支持 --input_file 批量输入 |
| 模型加载 | 成功 | 已确认模型目录可解析并映射到 NPU |
| 设备可用性 | 成功 | torch.npu.is_available() = True |
注:当前 NPU 运行验证以"可用链路 + 接口输出"为主;若后续提供完整官方 checkpoint 与官方推理样例,可继续补充更贴近生产环境的验证结果。
torch.npu 调用 NPU,并支持设备降级。