Topic : 网络参数导出
时间 :2022 / 6 / 07
写在最前:
在这篇文章中Pytorch 提取权重等参数 写入Excel : 以为量化后只给出了相应层的s、z值,需要将网络中的参数导出进行再处理。
需要用到的Python库:
今天才发现其实权重参数可以直接以int8整数形式导出如下图所示,不过后续仍然需要再转换为二进制bin。
(此处偏置bias仍然需要手动量化)
是用到 t.int_repr()
.但是这边并没有查到关于这个函数的更多信息。这里仅作为使用。
(上图参考自 : 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)