conv2d函数_Tensorflow-卷积函数con2d的详细用法

conv2d函数形式

 tensorflow.nn.conv2d( input, filter, strides, padding, use_cudnn_on_gpu=True, data_format='NHWC', dilations=[1, 1, 1, 1], name=None)

参数:

1) input:用于做卷积运算的数据(一般是图像),它是一个四维的Tensor:[batch, in_height, in_width, in_channels]。

batch: 数据数量,假设一批训练数据有10000个样本,batch就等于10000;

in_height: 单幅图像的高度;

in_width: 单幅图像的宽度;

in_channels: 图像的通道数,如果RGB图像,那么每个像素点都有RGB三个通道的数据,in_channels为3。如果是单色图片则in_channels为1。

2) filter: 卷积核,它也是一个四维的Tensor: [filter_height, filter_width, in_channels, out_channels],具体含义是[卷积核的高度,卷积核的宽度,图像通道数,卷积核个数],其中图像通道数(in_channels)与input的in_channels数值相同。

out_channels:卷积核数量。卷积神经网络提取信息的过程必然存在信息的丢失,为了最大程度的降低损失,增加卷积核将图片或者数据信息从不同的角度进行分块、信息提炼。

a14c43178896f67d62835832b8537d45.gif

单通道卷积

999be71761b1503beb9b493629edf2ea.png

多通道卷积

3) strides: 一个四维的Tensor:[batch_stride, height_stride, width_stride, channel_stride]。

batch_stride:在batch维度上的移动步长。batch_stride=1表示不跳过任何一个训练样本;batch_stride=2表示每隔一个样本取一个用于训练。一般该值设置为1,表示不错过任何一个样本。

channel_stride:在图像通道维度上的步长。一般也设置为1。

height_stride,width_stride:在图像矩阵上滑动的像素数。当步长为1 时,每次滤波器移动一个像素的位置;当步长为2时,每次滤波器会移动2个像素。

4) padding:卷积的边缘处理方式,值为“VALID”或者“SAME”。

VALID:当卷积核运动到输入图像的边界时,则卷积停止。

SAME:当卷积核运动到输入图像的边界时,继续卷积运算,超出的部分用零值进行填充。这样的优势在于可以对输入图像矩阵的边缘进行滤波,让更好的控制特征图的大小。

5) use_cudnn_on_gpu: 是否使用cudnn加速,默认为True。

6) data_format: 输入数据的格式,取值为"NHWC"或者"NCHW", 默认为"NHWC"。

如果格式为"NHWC

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值