使用tensorflow实现卷积神经网络

4

我是卷积神经网络和Tensorflow的新手,需要实现一个具有以下参数的卷积层:

卷积层1: 过滤器=11, 通道=64, 步幅=4, Relu激活函数.

该API如下:

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

我明白stride的含义,并且在我的情况下应该是[1, 4, 4, 1]。但我不理解如何传递filter参数和padding。有人可以帮助吗?

1个回答

5
首先,您需要创建一个筛选变量:
W = tf.Variable(tf.truncated_normal(shape = [11, 11, 3, 64], stddev = 0.1), tf.float32)

shape参数的前两个字段表示过滤器大小,第三个字段表示输入通道的数量(我猜您的图像有3个通道),第四个字段表示输出通道的数量。

现在卷积层的输出可以通过以下方式计算:

conv1 = tf.nn.conv2d(input, W, strides = [1, 4, 4, 1], padding = 'SAME'),其中padding = 'SAME'表示零填充,因此图像的大小保持不变,输入应该具有大小[batch,size1,size2,3]。

ReLU函数的应用非常简单:

conv1 = tf.nn.relu(conv1)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接