Namo-R1下载安装报错记录
Namo R1是一个极小型但功能强大的多模态语言模型,只有5亿参数,却能在性能上超越一些更大的模型。
核心特点
🚀 性能优势
在同等规模模型中表现出色,超越了SmolVLM和Moondream2等竞争对手
在MMB-EN-T基准测试上得分68.8,MMB-CN-T得分48.7
💻 硬件友好性
最大的亮点:可以在CPU上流畅运行,无需GPU
真正实现了轻量级AI的愿景,降低了使用门槛
🌍 多功能特性
支持多语言OCR识别(中、英、日等)
具备图像描述生成能力
支持动态分辨率输入
完全开源,包含训练脚本和数据集
使用方法
安装非常简单:
pip install -U namo基本使用代码:
import torch
from namo.api.vl import VLInfermodel = VLInfer(model_type="namo", device="cpu")
model.generate(images='图片路径', prompt='这是什么?')发展前景
团队正在积极开发新版本,包括:
支持语音模型
更先进的视觉编码器
文本到语音功能
更大规模的模型(最高到70亿参数)
报错记录:
1. 直接使用pip install -U namo,显示报错:

应该是网络连接的问题
2. 尝试使用pip install -U namo -i https://pypi.tuna.tsinghua.edu.cn/simple
还是报错:

3. 缺少很多模块
#缺少loguru模块
pip install loguru
#缺少timm模块
pip install timm
#wandb模块出现了AttributeError错误
pip uninstall -y wandb
pip install wandb==0.17.5
#transformers版本与Namo-R1不兼容,出现了'slow_image_processor_class'参数错误
pip install transformers>=4.40.0
#PyTorch版本过低(需要>=2.1,当前是1.13.1),且找不到AutoProcessor。安装较新的PyTorch版本
pip install torch>=2.1.0 torchvision torchaudio
#'AutoConfig.register("aimv2", AIMv2Config)'导致冲突,因为'aimv2'已经被注册。修改namo的代码,将注册名称改为其他值。
#修改namo的代码,将冲突的'AutoConfig.register("aimv2", AIMv2Config)'中的'aimv2'改为其他唯一名称。将冲突的注册名称从'aimv2'改为'namo-aimv2'。
AutoConfig.register("namo-aimv2", AIMv2Config)
#修改AIMv2Config类中的model_type属性,使其与注册名称'namo-aimv2'匹配
model_type: str = "namo-aimv2"
下载namo
2025-10-29 15:14:35.298 | INFO | namo.api.namo:load_model:39 - downloading model from huggingface into: checkpoints/Namo-500M-V1



#错误信息显示'Aimv2Config'对象没有'patch_size'属性(注意大小写不同)
#问题在modeling_aimv2_native.py文件中的AIMv2ViTPreprocessor类试图访问config.patch_size属性
#错误变成'Aimv2Config'对象没有'num_channels'属性。需要修改AIMv2PatchEmbed类,也使用getattr来安全访问这些属性。
#'Aimv2Config'对象没有'num_hidden_layers'属性。需要查看和修改AIMv2Transformer类及AIMv2Block类,也使用getattr安全访问配置属性。
#修改AIMv2Transformer类和AIMv2Block类,使用getattr安全访问配置属性,避免属性缺失错误。
#AIMv2Attention类也在直接访问配置属性。需要修改它使用getattr安全访问属性,避免出现更多的AttributeError。
#修改AIMv2SwiGLUFFN类,使用getattr安全访问配置属性,避免属性缺失错误。
#intermediate_size默认值(4096)与预训练模型中的实际大小不匹配。需要修改为更合适的默认值以兼容模型权重。
#修改回正确的维度值:预训练模型权重是[896, 4096],当前模型期望[896, 11264],应该使用4096作为默认值。
#让hidden_features默认值为4096,与预训练模型权重匹配。
#VLInfer会创建NamoVL实例。
#修改NamoVL类的load_model方法,在加载模型时添加ignore_mismatched_sizes=True参数来忽略权重大小不匹配的问题。
#出现了矩阵乘法形状不匹配错误
#输入特征维度应该是1024而不是896。需要修改AIMv2SwiGLUFFN类的hidden_size默认值为1024以匹配预训练模型权重。
#日志中看到模型权重形状不匹配的警告,导致程序处理图像时卡住
#之前修改的in_features默认值从896改为1024导致了模型权重形状不匹配,从日志可见预训练权重是896×4096,但现在是896×11264。改回原始设置。
#输入特征是1024维度,但in_features设置为896导致矩阵乘法失败。
#从AIMv2Config中看到hidden_size=1024,intermediate_size=2816。更新SwiGLUFFN类使用这些正确的默认值。
#还是没解决。。。。。
