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

imagenet-vgg-verydeep-19参数解析_二维


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


以上是关于imagenet-vgg-verydeep-19参数解析的主要内容,如果未能解决你的问题,请参考以下文章

:变参模板

C语言中的函数心形参和实参分别可以为哪几种类型?函数实参可以使任意类型。。。。错在哪?

C++无参构造函数

无参构造方法和有参构造方法的调用

子类可以同时继承父类的有参构造函数和无参函数吗,继承了无参函数还会再继承有参函数吗?

MyEclipse快速生成settergettertoString()有参构造函数无参构造函数