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

Pytorch如何判断两个模型的权重是否相同(比较权重差异/参数字典)

  参考资料:

  GPT-4o mini的回答

  第一种方法是使用md5sum这个命令(Linux上),但是由于环境的不同,哪怕是load之后转存似乎都会有差,所以效果不大。

  第二种方法是使用代码比较,这段代码是我找GPT要的,感觉非常不错。

from safetensors.torch import load_fileA = load_file("/data1/chaishang.cs/Tryon/hf_DATA/almmtryon-refinpaintxl-v0-1/unet/diffusion_pytorch_model.safetensors")
B = load_file("/data1/chaishang.cs/Tryon/datasets_and_weights/exps/refinpaintXL_v1_36cate_batch1_itagged_task1fulltask2partly_bz2_a100/2024-08-14T21-26-40/22000/unet/diffusion_pytorch_model.safetensors")weight_changes = {}# 遍历模型的所有参数
for (name, initial_param), (_, trained_param) in zip(A.items(), B.items()):# 计算权重变化change = torch.norm(trained_param - initial_param)  # 计算 L2 范数weight_changes[name] = change.item()  # 存储变化量# 打印每层权重的变化
for layer_name, change in weight_changes.items():print(f"Layer: {layer_name}, Change: {change:.6f}")

  如果参数是内存中的state_dict,对A和B进行替换即可。输出结果如下:

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 推荐适合七夕的SVG模版(第II期)
  • FreeBSD启动后进入单用户模式,但是发现zfs系统是只读的,应该怎样挂载成可读可写呢?
  • SpringCloudAlibaba基础七-2 seata的使用
  • Docker Swarm
  • ArcGIS Pro SDK (十二)布局 6 地图框和环绕要素
  • 年薪30万+,TOP大厂月薪10万+....网络安全工程师凭什么?
  • npm install
  • 如何修改计算机ip地址?几招教你轻松改
  • Java Web|day5.MyBatis
  • 快排/堆排/归并/冒泡/
  • 分布式知识总结(一致性Hash算法)
  • Vue3列表(List)
  • 【ZIP技巧】ZIP分卷压缩包如何解压?
  • SQL 优化笔记:提高查询速度
  • Fiddle抓手机app的包
  • -------------------- 第二讲-------- 第一节------在此给出链表的基本操作
  • 【Amaple教程】5. 插件
  • 【剑指offer】让抽象问题具体化
  • AWS实战 - 利用IAM对S3做访问控制
  • JavaScript HTML DOM
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • Three.js 再探 - 写一个跳一跳极简版游戏
  • 开源中国专访:Chameleon原理首发,其它跨多端统一框架都是假的?
  • 详解NodeJs流之一
  • 一文看透浏览器架构
  • Semaphore
  • ​字​节​一​面​
  • ‌U盘闪一下就没了?‌如何有效恢复数据
  • ###51单片机学习(1)-----单片机烧录软件的使用,以及如何建立一个工程项目
  • #define MODIFY_REG(REG, CLEARMASK, SETMASK)
  • (3)选择元素——(14)接触DOM元素(Accessing DOM elements)
  • (C#)if (this == null)?你在逗我,this 怎么可能为 null!用 IL 编译和反编译看穿一切
  • (附源码)springboot家庭装修管理系统 毕业设计 613205
  • (附源码)ssm考试题库管理系统 毕业设计 069043
  • (论文阅读40-45)图像描述1
  • (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly DetectionRecommender Systems...
  • (轉貼) 寄發紅帖基本原則(教育部禮儀司頒布) (雜項)
  • ..回顾17,展望18
  • ./configure,make,make install的作用(转)
  • .NET CF命令行调试器MDbg入门(四) Attaching to Processes
  • .NET 简介:跨平台、开源、高性能的开发平台
  • .net 使用$.ajax实现从前台调用后台方法(包含静态方法和非静态方法调用)
  • .NET/C# 阻止屏幕关闭,阻止系统进入睡眠状态
  • .NET国产化改造探索(一)、VMware安装银河麒麟
  • .Net通用分页类(存储过程分页版,可以选择页码的显示样式,且有中英选择)
  • .Net中ListT 泛型转成DataTable、DataSet
  • .vimrc 配置项
  • /usr/bin/python: can't decompress data; zlib not available 的异常处理
  • @staticmethod和@classmethod的作用与区别
  • @Transaction注解失效的几种场景(附有示例代码)
  • [AX]AX2012开发新特性-禁止表或者表字段
  • [boost]使用boost::function和boost::bind产生的down机一例
  • [BZOJ 4034][HAOI2015]T2 [树链剖分]
  • [BZOJ] 1001: [BeiJing2006]狼抓兔子
  • [C# WPF] DataGrid选中行或选中单元格的背景和字体颜色修改