我是卷积神经网络和Tensorflow的新手,我需要用更多参数实现转换层:
转化率。 layer1:filter = 11,channel = 64,stride = 4,Relu。
API如下:
tf.nn.conv2d(input, filter, strides, padding, use_cudnn_on_gpu=None, data_format=None, name=None)
我明白,大步是什么,在我的情况下它应该是[1,4,4,1]。但我不明白,我应该如何传递过滤器参数和填充。 有人可以帮忙吗?
答案 0 :(得分:4)
首先,您需要创建一个过滤变量:
W = tf.Variable(tf.truncated_normal(shape = [11, 11, 3, 64], stddev = 0.1), tf.float32)
形状参数的前两个字段代表过滤器大小,第三个是输入通道数(我猜您的图像有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)