You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将HuggingFace微调得到的model.safetensor转换为pytorch.bin?

将Safetensors模型转换为PyTorch .bin格式的方法

方法一:使用HuggingFace Transformers库(推荐)

这是最稳妥的方案,官方工具能保证参数映射的准确性,适配大多数Transformer模型场景。

  • 安装依赖(未安装时执行):
    pip install transformers safetensors torch
    
  • 编写转换脚本:
    from transformers import AutoModel, AutoTokenizer
    
    # 替换为你的safetensors模型所在目录
    model_path = "你的模型目录"
    # 加载模型(指定use_safetensors=True确保加载safetensors格式文件)
    model = AutoModel.from_pretrained(model_path, use_safetensors=True)
    tokenizer = AutoTokenizer.from_pretrained(model_path)
    
    # 替换为转换后模型的保存目录,safe_serialization=False会生成pytorch_model.bin
    save_path = "转换后的模型目录"
    model.save_pretrained(save_path, safe_serialization=False)
    tokenizer.save_pretrained(save_path)
    
    执行脚本后,目标目录会生成pytorch_model.bin文件,同时保留tokenizer配置,适配旧框架的常规需求。

方法二:手动加载Safetensors并保存为PyTorch格式

若不想依赖Transformers库,可直接通过safetensors和torch完成底层转换:

  • 安装依赖:
    pip install safetensors torch
    
  • 转换脚本:
    import safetensors.torch
    import torch
    
    # 加载单个safetensors文件
    tensors = safetensors.torch.load_file("你的模型目录/model.safetensors")
    # 保存为pytorch.bin格式
    torch.save(tensors, "转换后的模型目录/pytorch_model.bin")
    
    注意:如果模型存在多个分片safetensors文件,需要手动加载所有分片并合并字典后再保存;若旧框架对参数命名有特殊要求,可能需要手动调整字典中的键名。

关键注意事项

  • 转换前确认模型结构与旧框架兼容:如果旧框架基于更早版本的Transformer结构开发,加载模型时可能需要指定兼容的模型类或调整加载参数。
  • 多分片模型处理:方法一会自动合并所有分片为单个pytorch_model.bin,方法二需自行遍历分片文件合并参数字典。

内容的提问来源于stack exchange,提问作者FewKey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 03:22:03