您现在的位置:首页行业资讯

Python深度学习之卷积函数CNN--中享思途

激活函数的选择
上一节中,我们介绍了激活函数的相关知识,了解了常见的激活函数有哪些。那么当我们进行神经网络训练的时候应该如何选择激活函数呢?当输入数据特征相差比较明显时,用tanh的效果会很好,且在循环过程中会不断扩大特征效果并显示出来。当特征相差不明显时,sigmoid的效果比较好。同时,用sigmoid和tanh作为激活函数时,需要对输入进行规范化,否则激活后的值全部进入平坦区,隐层的输出会全部趋同,丧失原有的特征表达。而relu会好很多,有时可以不需要输入规范化来避免上述情况。
因此,现在大部分的卷积神经网络都采用relu作为激活函数,估计大概有80%~90%的神经网络会采用relu,10~20%的神经网络会采用tanh,尤其用在自然语言处理方面。
卷积函数
卷积函数是构架神经网络的重要支架,是在一批图像上扫描的二维过滤器。我们在用它做实验的时候会更加具体地讲解卷积的过程。卷积函数的定义大家可以再自行查看。我们来对其内部的函数进行一些说明。

青岛python培训机构--中享思途

下面我们就分别加以说明。
(1)tf.nn.convolution(input, filter, padding, strides=None,dilation_rate=None,
name=None,data_format=None)这个函数计算N维卷积的和。
(2)tf.nn.conv2d(input, filter, strides, padding, use_cudnn_on_gpu=None,
data_format=None,name=None)这个函数的作用是对一个四维的输入数据input和四维的卷积核filter进行操作,然后对输入数据进行一个二维的卷积操作,最后得到卷积之后的结果。

青岛python培训机构--中享思途

使用示例如下所示:

青岛python培训机构--中享思途

打印出tf.shape(y)的结果是[10 9 9 2]。
(3)tf.nn.depthwise_conv2d(input, filter, strides, padding, rate=None, name=None, data_formate=None),这个函数输入张量的数据维度是[batch, in_height, in_width, in_channels], 卷积核的维度是[filter_height, filter_width, in_channels, channel_multiplier],在通道in_channels上面的卷积深度是1,depthwise_conv2d函数将不同的卷积核独立地应用在in_channels的每个通道上,然后对所有结果进行汇总。最后输出通道的综述是in_channels*channels_multiplier。
(4)tf.nn.separable_conv2d(input, depthwise_filter, pointwise_filter,strides, padding, rate=None,name=None,data_format=None)是利用几个分散的卷积核去做卷积。在这个API中将应用一个二维的卷积核,在每个通道上,以深度channel_multiplier进行卷积。
【关键词:青岛python培训机构,学python多少钱,python培训哪家好,中享思途】

 st_bottom
青岛Java培训,青岛HTML5培训,青岛UI培训,青岛IT培训,青岛嵌入式培训,青岛运维培训,Java就业培训,专业ui培训,前端开发培训,嵌入式培训价格,运维培训哪家好,IT培训,青岛思途,中享思途IT培训
Copyright © 青岛思途共享科技信息服务有限公司 鲁ICP备14027489号-2

鲁公网安备 37021402000988号

青岛Java培训,青岛HTML5培训,青岛UI培训,青岛IT培训,青岛嵌入式培训,青岛运维培训,Java就业培训,专业ui培训,前端开发培训,嵌入式培训价格,运维培训哪家好,IT培训,青岛思途,中享思途IT培训