​ 常见的权重文件格式(如 .bin.safetensors.pt 等)的保存和加载方法:

文件类型 保存方法 加载方法 描述
.bin torch.save(model.state_dict(), ‘model.bin’) state_dict = torch.load(‘model.bin’, map_location=’cpu’) model.load_state_dict(state_dict) .bin 文件通常存储 state_dict,仅保存模型的权重。需要先加载 state_dict,然后用 model.load_state_dict 加载到模型。
.pt/.pth torch.save(model.state_dict(), ‘model.pth’) state_dict = torch.load(‘model.pth’, map_location=’cpu’) model.load_state_dict(state_dict) .pt / .pth 文件是 PyTorch 中常见的保存权重格式,保存的是模型的 state_dict。加载方式和 .bin 文件相同。
.pt (完整模型) torch.save(model, ‘model.pth’) model = torch.load(‘model.pth’, map_location=’cpu’) 保存的是整个模型对象(包括结构和权重)。加载时会直接返回模型,无需再用 load_state_dict
.safetensors from safetensors import save_file save_file(tensors, ‘model.safetensors’) from safetensors import load_file state_dict = load_file(‘model.safetensors’) model.load_state_dict(state_dict) .safetensors 是一种新型格式,专门用于安全和高效地保存模型权重。保存和加载都需要 safetensors 库。
Hugging Face .bin model.save_pretrained(‘path_to_model’) from transformers import AutoModel model = AutoModel.from_pretrained(‘path_to_model’) Hugging Face 的 .bin 通常用于保存预训练模型的权重,带有额外的配置文件(如 config.json)。AutoModel 会自动处理加载。
.h5 (Keras/TensorFlow) model.save_weights(‘model.h5’) model.load_weights(‘model.h5’) Keras 和 TensorFlow 使用 .h5 文件格式保存模型权重。适用于 TensorFlow/Keras 环境。