tf.nn.conv2d

tf.nn.conv2d(input, filter, strides, padding, use_cudnn_on_gpu=None, name=None)

计算给定的4-D input和filter张量的2-D卷积。
给定形状为[batch, in_height, in_width, in_channels]的输入张量和形状为[filter_height, filter_width, in_channels, out_channels]的滤波器/内核张量,此操作执行以下操作:

  1. 将滤波器展平为具有形状[filter_height * filter_width * in_channels, output_channels]的二维矩阵。
  2. 从输入张量中提取图像特征,以形成形状为[batch, out_height, out_width, filter_height * filter_width * in_channels]的虚拟张量。
  3. 对于每个特征,右乘滤波器矩阵和图像特征矢量。
output[b, i, j, k] =
    sum_{di, dj, q} input[b, strides[1] * i + di, strides[2] * j + dj, q] *
                    filter[di, dj, q, k]

必须有strides[0] = strides[3] = 1。对于相同水平和顶点步幅的最常见情况,strides = [1, stride, stride, 1]。

参数:

input 一个4-D张量,[batch, in_height, in_width, in_channels],必须是以下类型之一:float32, float64
filter 一个4-D张量,[filter_height, filter_width, in_channels, out_channels],必须与input类型相同
strides 整数列表,长度为4的1-D张量,input的每个维度的滑动窗口的步幅
padding 字符串,可以是:“SAME”, “VALID”,要使用的填充算法的类型
use_cudnn_on_gpu,可选 是否是gpu加速,布尔型,默认为True
name,可选 操作的名称

返回:
一个张量,与input具有相同的类型。

例子
x为输入数据;W为滤波器/内核,卷积的参数共享就是共享的该参数;

>>>tf.nn.conv2d(x , W, strides = [1,1,1,1], padding= 'SAME')

你可能感兴趣的:(Tensorflow)