imagenet-vgg-verydeep-19参数解析
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了imagenet-vgg-verydeep-19参数解析相关的知识,希望对你有一定的参考价值。
最近学习风格迁移用到vgg19,这里简要总结要迁移学习vgg的模型结构
下载链接http://www.vlfeat.org/matconvnet/models/beta16/imagenet-vgg-verydeep-19.mat
参数结构
import scipy.io
import scipy.misc
path = "/Users/enjlife/deep-learning-model/imagenet-vgg-verydeep-19.mat"
vgg = scipy.io.loadmat(path)
vgg.keys()
查看vgg字典,发现共有6个key
dict_keys([__header__, __version__, __globals__, layers, classes, normalization])
这里我们关注layers key,里面是我们需要的参数
vgg[layers].shape
获取shape结果为(1, 43)
,正好与我们的模型层数相符合。
下面取第一层layer查看vgg[layers][0][0].shape
,结果显示是一个二维(1, 1)
数组。
查看其元素内容发现vgg[layers][0][0]
包含参数部分和说明部分dtype=[(weights, O), (pad, O), (type, O), (name, O), (stride, O)]
,上述为说明部分,参数太长这里没有贴。
vgg[layers][0][0][0][0][0]
最后一个零选取的是W和b的参数。
vgg[layers][0][0][0][0][1]
最后一个1选组的是pad填充的参数。依次可以取出layer的类型、名字、步长。
这里还要注意,取出的W和b的矩阵依然是一个二维矩阵vgg[layers][0][0][0][0][0].shape
,结果为(1,2)
,然后我们通过vgg[layers][0][0][0][0][0][0][0]
和vgg[layers][0][0][0][0][0][0][1]
取到W和b的值。引用一张图片来总结下结果
imagenet-vgg-verydeep-19参数结构解析
以上是关于imagenet-vgg-verydeep-19参数解析的主要内容,如果未能解决你的问题,请参考以下文章
C语言中的函数心形参和实参分别可以为哪几种类型?函数实参可以使任意类型。。。。错在哪?