当前位置: 首页 > news >正文

常见的神经网络权重文件格式及其详细说明

常见的神经网络权重文件格式及其详细说明的表格:

扩展名所属框架/工具如何生成表示内容使用方法注意事项
.pt.pthPyTorchtorch.save(model.state_dict(), "model.pt")PyTorch模型的状态字典(权重和参数)或整个模型加载方式:model.load_state_dict(torch.load("model.pt"))如果保存整个模型(含结构和权重),可能导致跨设备加载问题。pth通常用于旧版本。
.h5.hdf5Keras/TensorFlowmodel.save("model.h5")完整的Keras模型(含结构、权重和优化器状态)加载方式:keras.models.load_model("model.h5")HDF5格式依赖h5py库;部分自定义层可能需要手动定义。
.pkl.picklePython通用(如scikit-learn)pickle.dump(model, open("model.pkl", "wb"))序列化的Python对象(如模型参数或全量模型)加载方式:model = pickle.load(open("model.pkl", "rb"))存在安全风险(反序列化恶意代码);建议仅在可信来源使用。
.ckptTensorFlow使用tf.train.CheckpointModelCheckpoint回调TensorFlow检查点文件(模型参数、优化器状态等)恢复训练:model.load_weights("model.ckpt")检查点文件包含多个文件(如.index.data-xxx等),需一起保留。
.pbTensorFlow(SavedModel)tf.saved_model.save(model, "model_dir")TensorFlow的计算图结构和权重(Protocol Buffers格式)加载方式:tf.keras.models.load_model("model_dir") 或 tf.saved_model.load("model_dir")跨语言兼容性好,支持C++/Java等语言调用。
.onnxONNX(跨框架标准)torch.onnx.export(model, input, "model.onnx")跨框架的标准化模型(含结构和权重)加载工具:ONNX Runtime(ort.InferenceSession("model.onnx"))或其他框架的转换工具需验证框架支持的操作;可能需调整算子兼容性。
.weightsDarknet/YOLODarknet训练时自动生成(如YOLOv3的yolov3.weightsDarknet模型的权重参数,需配合配置文件(.cfg)使用加载方式:darknet.load_net("yolov3.cfg", "yolov3.weights")无模型结构信息,必须与对应的.cfg文件匹配使用。
.bin.safetensorsHugging Face Transformers库model.save_pretrained("dir")会生成pytorch_model.bin模型权重文件,通常与配置文件(config.json)配合使用加载方式:model.from_pretrained("dir").safetensors是更安全的格式(替代.bin),避免恶意代码注入。
.tfliteTensorFlow Lite转换工具:tf.lite.TFLiteConverter.from_saved_model("model_dir").convert()轻量化模型,适用于移动端/嵌入式设备移动端推理:使用TensorFlow Lite的Interpreter API加载。模型可能经过量化(精度降低但体积减小)。
.paramsMXNetnet.save_parameters("model.params")MXNet模型的权重参数加载方式:net.load_parameters("model.params")需预先定义网络结构再加载参数。
.joblibscikit-learnjoblib.dump(model, "model.joblib")序列化后的scikit-learn模型(适用于大文件)加载方式:model = joblib.load("model.joblib")pickle更高效,但主要服务于传统机器学习模型,少用于神经网络。

使用场景总结

  • 训练/推理用途.pt(PyTorch)、.h5(Keras)、.ckpt(TensorFlow)常用于训练过程中的保存与恢复。
  • 跨框架部署.onnx适合不同框架间的模型转换;.pb(TensorFlow)适合生产环境部署。
  • 嵌入式/移动端.tflite针对移动设备优化。
  • 安全性优先:优先选择.safetensors替代.pkl.bin
  • 协作与共享.weights+.cfg(YOLO)、saved_model(目录)包含完整信息,便于团队协作。

相关文章:

  • 马拉松赛补给策略
  • P3416-图论-法1.BFS / 法2.Floyd
  • 计算机组成与体系结构:缓存(Cache)
  • 嘻游电玩三端客户端部署实战:PC + Android + iOS 环境全覆盖教程
  • UOS+N 卡 + CUDA 环境下 X86 架构 DeepSeek 基于 vLLM 部署与 Dify 平台搭建指南
  • React 单一职责原则:优化组件设计与提高可维护性
  • Docker 快速入门教程
  • 使用Java调用TensorFlow与PyTorch模型:DJL框架的应用探索
  • 智能座舱测试内容与步骤
  • React18+ 项目搭建-从初始化、技术选型到开发部署的全流程规划
  • 【机器学习-线性回归-2】理解线性回归中的连续值与离散值
  • std::vector 自定义分配器
  • 禁止ubuntu自动更新
  • 实战华为1:1方式1 to 2 VLAN映射
  • PCB材料选择需求分析实例
  • [预备知识]3. 自动求导机制
  • Nginx:支持 HTTPS
  • 考研系列-计算机网络-第五章、传输层
  • 二叉树层序遍历技术解析与面试指南
  • 状态管理最佳实践:Riverpod响应式编程
  • 热点问答|第三轮间接谈判结束,美伊分歧还有多大?
  • “冲刺万亿城市”首季表现如何?温州领跑,大连GDP超徐州
  • 伊朗港口爆炸事件已致195人受伤
  • 居民被脱落的外墙瓦砖砸中致十级伤残,小区物业赔付16万元
  • 南国置业:控股股东电建地产拟受让公司持有的房地产开发业务等相关资产和负债
  • 百台新车首秀上海车展,跨国车企联手中国技术开启智能化下半场