Pytorch 量化后权重参数导出

Pytorch 网络量化后权重等参数导出

Topic : 网络参数导出

时间 :2022 / 6 / 07

写在最前:

在这篇文章中Pytorch 提取权重等参数 写入Excel以为量化后只给出了相应层的s、z值,需要将网络中的参数导出进行再处理

需要用到的Python库:

  • pytorch
  • pandas
  • numpy
  • openpyxl

今天才发现其实权重参数可以直接以int8整数形式导出如下图所示,不过后续仍然需要转换为二进制bin

(此处偏置bias仍然需要手动量化)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZLd6TE6g-1654611905443)(../../../../../../WindowsUsers/Admin/Documents/Typora/images/image-20220607222430399.png)]

是用到 t.int_repr().但是这边并没有查到关于这个函数的更多信息。这里仅作为使用。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BDsgrOYr-1654611905444)(../../../../../../WindowsUsers/Admin/Documents/Typora/images/image-20220607215828428.png)]

(上图参考自 : PyTorch 1.3 —新增功能? – 云+社区 – 腾讯云 (tencent.com))

# 这里仅是部分代码展示  
# 此篇博客关注line7 line8 即第7、8行
parm = {}
counter = 1

if name.endswith('.weight'):
    parm[name] = qs[name].detach()
    parm[name] = qs[name].int_repr()
    parm[name] = parm[name].reshape(-1, 1)

    data = pd.DataFrame(parm[name], columns=[name])
    data.to_excel(writer, index=False, startcol=counter)
    counter += 1

刚好今天高考第一天,考生加油!祝金榜题名!

参考文献 :

pytorch 提取权重_获取Pytorch中间某一层权重或者特征的例子_闲吟客的博客-CSDN博客

tensorflow及numpy的数据类型对象Dtype总结_我爱写BUG的博客-CSDN博客

PyTorch 1.3 —新增功能? – 云+社区 – 腾讯云 (tencent.com)

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
扎眼的阳光的头像扎眼的阳光普通用户
上一篇 2022年6月8日 上午11:32
下一篇 2022年6月8日 上午11:34

相关推荐