在模型训练中,有时候需要把模型的权重可视化出来,检查模型权重是否有问题。caffe模型中可视化往往需要一个prototxt文件,不是很方便,因此需要可以直接利用model解析的方法。
一、利用model和prototxt可视化
import caffe
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
deploy = 'pose_deploy.prototxt'
model = 'pose_iter_440000.caffemodel'
net = caffe.Net(deploy, model, caffe.TEST)
def show_para(data):
data = (data-data.min())/(data.max()-data.min())
n = int(np.ceil(np.sqrt(data.shape[0])))
padding = (((0, n**2-data.shape[0]),(0,1),(0,1))+((0,0),)*(data.ndim-3))
data = np.pad(data,padding, mode='constant', constant_values=1)
data = data.reshape((n,n)+data.shape[1:]).transpose((0,2,1,3)+tuple(range(4,data.ndim+1)))
data = data.reshape((n*data.shape[1], n*data.shape[3]) + data.shape[4:])
plt.imshow(data)
plt.axis('off')
plt.show()
layer_analyse = ["con