tf.nn.conv2d

mac2025-02-27  6

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]的滤波器/内核张量,此操作执行以下操作:

将滤波器展平为具有形状[filter_height * filter_width * in_channels, output_channels]的二维矩阵。从输入张量中提取图像特征,以形成形状为[batch, out_height, out_width, filter_height * filter_width * in_channels]的虚拟张量。对于每个特征,右乘滤波器矩阵和图像特征矢量。 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, float64filter一个4-D张量,[filter_height, filter_width, in_channels, out_channels],必须与input类型相同strides整数列表,长度为4的1-D张量,input的每个维度的滑动窗口的步幅padding字符串,可以是:“SAME”, “VALID”,要使用的填充算法的类型use_cudnn_on_gpu,可选是否是gpu加速,布尔型,默认为Truename,可选操作的名称

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

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

>>>tf.nn.conv2d(x , W, strides = [1,1,1,1], padding= 'SAME')
最新回复(0)