StudyAI上MatConvNet框架学习笔记之:框架详解

xiaoxiao2021-02-28  7

一、封装器

在MatConvNet框架中有2种封装器,分别对应两种不同的神经网络结构。封装器Wrapper是网络构建的基础之一。主要有SimpleNN和DagNN两种,结构如下: 两种封装器的区别: . SimpleNN:用于构建简单网络,面向对象的编程。 . DagNN:有向无环图,可以实现更高级的功能和机制。 区别: 信息流的控制机制不同

二、计算模块

在MatConvNet的官网上可以查看所有的CNN的计算模块单元,主要有: 在官网上可以查看每个版本新添加的和所有的计算模块,有每个模块的详细解释: 封装器文件位置: 工程目录-> Matlab->simplenn->simplenn.m文件, 在simplenn.m文件中可以查看所有计算模块的注释和讲解:

三、数据几何结构

3.1注意

. 在Matlab编程中数据都是以矩阵的形式存在的。 . 在这个框架中,图像是以四维矩阵的形式存在的,分别是图像高度、宽度、通道数和图像数目,卷积核的一维对应上层图像的一维,分别卷积,最后每维的结果相加。 . 注意一点:单个卷积核都是三维的卷积核,分别为卷积核的长度、宽度以及维度,卷积核的维度与上一层的图像维度要一致,一个卷积核对应一个偏置,偏置的个数和卷积核的个数相同 . 池化层仅仅改变图像的宽高,不改变图像的通道数。

3.2结构图

结构图如下:pad参数为图像卷积的边缘填充方式,一般设置为0,不做任何填充,注意下面计算公式中的b和d参数为pad填充的参数,一般都是设置为0。

四、CNN计算流程

需要注意一点:在实际的梯度下降中有一个重要的参数batchsize,意义为每次批量读取这个数目的图像数据积累误差进行参数更新。迭代一次是指将所有的样本全部过一遍

转载请注明原文地址: https://www.6miu.com/read-750282.html

最新回复(0)