将下列所示的图像输入2x2的均值图像pooling层,stride为输出值应为

现在大家都意识到深度神经网絡在图像特征提取方面具有很强的能力,尽管其解释性不强尽管人们对它的内部原理不十分清楚。那么能不能取出网络中某层数据作为圖像特征而进行自己定制的其它处理呢答案当然是肯定的。在Matlab2017b中从网络取数据主要有两种方法。一是使用Neural Network Toolboxactivations函数一是导入网络后直接使用网络某层的名字。

%提取输入X的第6层输出数据 %提取测试数据的第6层输出数据 %预测测试数据所属类别 %对测试数据标签进行one-hot编码 %对测试数據预测标签进行one-hot编码 %计算准确率即实际标签和预测标签相同个数的和/测试数据总数

Toolbox,其作用是将每个类别标签转换为只含有0和1的向量即one-hot编码。如类别1和9分别转换为[0 1 0 0 0 0 0 0 0 0]和[0 0 0 0 0 0 0 0 0 1]这里共有10个类,类标签为0~9每个类用10个0或1的数字表示,第几类用对应位置数字为1其它为0表示

Toolbox的Functions中查看。第一次使用需要在Matlab主页工具栏的附加功能中下载调用形式很简单,代码如下

%在图像总数中随机取16个数 %设值要用的层为第7个全连接层 %提取训练图像fc7层数据 %提取测试图像fc7层数据 %拟合训练图像多分类器 %预测测试图像的类别标签

需要注意的是,要使用的网络层的名字可以在导叺网络后用调试模式查看net变量的值,进一步看网络每层的名字如下图:
然后,查看第20层如下图:
可见其层的名字为‘fc7’。
也可以查看Matlab帮助文档中alexnet的网络结构或者在Matlab的命令行窗口输入

我要回帖

更多关于 均值图像 的文章

 

随机推荐