Pytorch 量化后权重参数导出

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

Topic : 网络参数导出

时间 :2022 / 6 / 07


写在最前:

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

需要用到的Python库:

  • pytorch
  • pandas
  • numpy
  • openpyxl

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

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

Pytorch 量化后权重参数导出_第1张图片

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

Pytorch 量化后权重参数导出_第2张图片

(上图参考自 : 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)

你可能感兴趣的:(pytorch,python,tensorflow)