paddle Conv2D参数,在手撕数字识别案例中调参数;卷积神经网络的卷积核大小个数,卷积层数如何确定呢?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了paddle Conv2D参数,在手撕数字识别案例中调参数;卷积神经网络的卷积核大小个数,卷积层数如何确定呢?相关的知识,希望对你有一定的参考价值。



目录

[paddle Conv2D(num_channels=20, num_filters=20](#paddle%20Conv2D(num_channels%3D20%2C%C2%A0num_filters%3D20)

​​在手撕数字识别案例中​​

​​卷积神经网络的卷积核大小、个数,卷积层数如何确定呢? ​​


paddle Conv2D(num_channels=20, num_filters=20

​​模型组网-使用文档-PaddlePaddle深度学习平台​​

学会看paddle 的文档解说:

(二维卷积层)主要用于对输入的特征图进行卷积操作,广泛用于深度学习网络中。Conv2D 根据输入、卷积核、步长(stride)、填充(padding)、空洞大小(dilations)等参数计算输出特征层大小。输入和输出是 NCHW 或 NHWC 格式,其中 N 是 batchsize 大小,C 是通道数,H 是特征高度,W 是特征宽度。

一般就是输入通道和设置的输出通道数;

num_channels:输入通道

num_filters:滤波器就是卷积核。输出的图像就是通道乘以filter个数;

paddle


在手撕数字识别案例中

原来是7720=980,

输入1通道,输出40,2828的图像池化2次,池化:22的最后是7*7的图像;

有的输入通道是3,就是RGB

7740=1960  就是最后的参数,学习率是0.01 这样做效果好一点;

paddle


效果:

paddle


卷积神经网络的卷积核大小、个数,卷积层数如何确定呢?  

下面的手写字卷积神经网络结构图1,最后输出为什么是12个map,即输出12个特征?然后图2又是输出10个特征了?

在达到相同感受野的情况下,卷积核越小,所需要的参数和计算量越小。

卷积核 1排除了。而大小为偶数的卷积核即使对称地加padding也不能保证输入feature map尺寸和输出feature map尺寸不变(画个图算一下就可以发现),2排除了。所以一般都用3作为卷积核大小。

每一层卷积有多少channel数,以及一共有多少层卷积,这些暂时没有理论支撑,一般都是靠感觉去设置几组候选值,然后通过实验挑选出其中的最佳值。这也是现在深度卷积神经网络虽然效果拔群,但是一直为人诟病的原因之一。

多说几句,每一层卷积的channel数和网络的总卷积层数,构成了一个巨大的超参集合,这个超参集合里的最优组合,很可能比目前业界各种fancy的结构还要高效。只是我们一来没有理论去求解这个超参集合里的最优,二来没有足够的计算资源去穷举这个超参集合里的每一个组合,因此我们不知道这个超参集合里的最优组合是啥。


以上是关于paddle Conv2D参数,在手撕数字识别案例中调参数;卷积神经网络的卷积核大小个数,卷积层数如何确定呢?的主要内容,如果未能解决你的问题,请参考以下文章

paddle Conv2D参数,在手撕数字识别案例中调参数;卷积神经网络的卷积核大小个数,卷积层数如何确定呢?

手写数字识别-paddle版

森说AI:从零开始应用paddlehub转换手写数字识别模型并完成部署:使用paddle2.xAPI简易实现手写数字识别模型

森说AI:从零开始应用paddlehub转换手写数字识别模型并完成部署:使用paddle2.xAPI简易实现手写数字识别模型

专栏 | 在PaddlePaddle上实现MNIST手写体数字识别

有了RestTemplate你还在手撕写HttpClient?