提取模型:torch中预训练过的resnet18模型参数
import torch
import pandas as pd
import numpy as np
import torchvision.models as models
resnet18 = models.resnet18(pretrained=True)
print(resnet18)
parm={}
for name,parameters in resnet18.named_parameters():
print(name,':',parameters.size())
parm[name]=parameters.detach().numpy()
print(parm['layer1.0.conv1.weight'][0,0,:,:])
将参数写入Excel表格中:
def parm_to_excel(excel_name, key_name, parm):
with pd.ExcelWriter(excel_name) as writer:
[output_num,input_num,filter_size,_]=parm[key_name].size()
for i in range(output_num):
for j in range(input_num):
data=pd.DataFrame(parm[key_name][i,j,:,:].detach().numpy())
#print(data)
data.to_excel(writer,index=False,header=True,startrow=i*(filter_size+1),startcol=j*filter_size)
# ## 写入test1.xlsx
counter=1
with pd.ExcelWriter('test.xlsx') as writer:
for key in parm.keys():
data=parm[key].reshape(-1,1)
data=data[data>0.001]
data=pd.DataFrame(data,columns=[key])
data.to_excel(writer,index=False,startcol=counter)
counter+=1