发布时间:2022-08-19 12:41
最近在做将模型权重量化的研究,而且需要用到c++,所以觉得需要把训练好的alexnet的权重格式转成txt才好进行处理(如果有不需要转换的方法欢迎留言)
代码如下
import numpy as np
import sys
np.set_printoptions(threshold=sys.maxsize) #不把shreshold提高的话大一些的文件的输出会有省略
input_data = np.load(r"E:\bvlc_alexnet.npy", encoding="latin1")
data = input_data.reshape(1, -1) #因为numpy的savetxt只能处理1D和2D的格式
np.savetxt(r"E:\bvlc_alexnet.txt", data, fmt='%s', newline='\n')
需要值得注意的是,这段代码最好在性能好点的服务器上跑,不然像转换bvlc_alexnet.npy这样200多M的文件,普通笔记本会因为运行内存不够直接死机。