2401_84438198 2026-04-21 23:42 采纳率: 0%
浏览 12

KeyError: 'qwen3_asr'

在部署qwen3-asr-1.7b的过程中出现报错:ValueError: The checkpoint you are trying to load has model type qwen3_asr but Transformers does not recognize this architecture. This could be because of an issue with the checkpoint, or because your version of Transformers is out of date.
升级transformers也不能解决,我查了很多资料,都没有关于这个报错的情况,很多介绍qwen3-asr部署的帖子也从没有提到过这个问题。请各位专家帮我想办法,非常感谢。

  • 写回答

3条回答 默认 最新

  • 檀越@新空间 2026-04-21 23:43
    关注

    晚上好🌙🌙🌙
    本答案参考通义千问

    你遇到的错误是:

    KeyError: 'qwen3_asr'
    

    以及:

    ValueError: The checkpoint you are trying to load has model type qwen3_asr but Transformers does not recognize this architecture.
    

    这表明 Hugging Face 的 transformers 库无法识别模型类型为 qwen3_asr,也就是说,该模型架构没有被标准的 transformers 库支持。这通常是因为:

    • 你加载的是一个自定义模型(如通义千问的 ASR 模型);
    • 该模型使用了非标准的架构或配置文件;
    • 你尝试用 AutoModel.from_pretrained() 等通用方法加载模型,但未指定正确的类。

    解决方案

    1. 确认模型来源和结构

    首先,你需要确认你下载的模型是否来自官方(如阿里云、通义实验室),并且是否有对应的代码库或文档说明。

    重点:
    Qwen3-ASR 是通义实验室专有的语音识别模型,可能没有直接暴露在 Hugging Face 上,或者需要特定的代码来加载。


    2. 检查是否使用了正确的模型类

    如果你是从本地加载模型,且模型是通过自定义方式保存的(比如使用了 model.save_pretrained() 而不是标准的 transformers API),那么你需要使用对应的模型类来加载它。

    例如,如果你的模型是基于 transformersAutoModel,但没有注册到 AutoModel 中,你可以手动指定模型类。

    示例代码(假设你知道模型类):

    from transformers import AutoConfig, AutoModel
    
    # 假设你知道模型类是 MyCustomModel
    config = AutoConfig.from_pretrained("path/to/model")
    model = AutoModel.from_config(config, model_type="my_custom_model")
    

    注意: 如果你不知道模型类名,可能需要查看模型的 config.json 文件,里面可能会有 model_type 字段。


    3. 从源码构建模型(如果模型是自定义的)

    如果你是从官方仓库获取的模型(如 GitHub 或阿里云),请确保你已经按照官方文档正确安装依赖,并使用其提供的加载方式。

    例如,如果是通义千问的 ASR 模型,可能需要使用其专用的 asr 工具包或 API 来加载模型,而不是 transformers


    4. 手动修改 config.json 文件

    如果你无法找到对应的模型类,可以尝试修改 config.json 文件中的 model_type 字段,使其与 transformers 支持的模型类型一致。

    例如,将 qwen3_asr 改为 bertwhisper(根据你的模型实际架构)。

    重点:
    这种方法风险较高,可能导致加载失败或推理错误,请谨慎操作。


    5. 联系模型提供方(如通义实验室)

    由于这个模型是 通义千问的 ASR 模型,建议你查看官方文档或联系技术支持,确认如何正确加载该模型。


    🧠 附加建议

    | 步骤 | 内容 | |------|------| | 1 | 确认模型来源(是否为通义千问官方模型) | | 2 | 查看模型的 config.jsonpytorch_model.bin 文件内容 | | 3 | 使用官方提供的加载方式(如 from_pretrained() 方法) | | 4 | 如果是自定义模型,使用对应模型类进行加载 | | 5 | 联系通义实验室获取支持 |


    🔧 示例代码(仅供参考)

    如果你确定模型是基于 transformers 的,但缺少注册,可以尝试以下方式:

    from transformers import AutoConfig, AutoModel
    
    # 1. 加载配置
    config = AutoConfig.from_pretrained("path/to/model")
    
    # 2. 手动指定模型类
    class CustomModel(AutoModel):
        def __init__(self, config):
            super().__init__(config)
    
    # 3. 实例化模型
    model = CustomModel.from_pretrained("path/to/model")
    

    注意: 这只是示例,具体实现取决于模型的实际结构。


    📌 总结

    关键点:

    • qwen3_asr 不是 transformers 支持的标准模型类型;
    • 需要确认模型来源和加载方式;
    • 可能需要使用官方提供的工具或代码加载模型;
    • 如果是自定义模型,需手动指定模型类。

    如果你能提供更多关于模型的来源、配置文件内容或代码片段,我可以进一步帮助你解决问题。

    评论

报告相同问题?

问题事件

  • 创建了问题 4月21日