0
点赞
收藏
分享

微信扫一扫

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)​​,正好与我们的模型层数相符合。

imagenet-vgg-verydeep-19参数解析_vgg19


下面取第一层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参数解析_ci_02


​​imagenet-vgg-verydeep-19参数结构解析​


举报

相关推荐

0 条评论