def fcn_net(self, x, train=True):
conv1 = conv2d(x, [3, 3, 3, 32], 'conv1')
maxp1 = maxpooling(conv1)
conv2 = conv2d(maxp1, [3, 3, 32, 32], 'conv2')
maxp2 = maxpooling(conv2)
conv3 = conv2d(maxp2, [3, 3, 32, 64], 'conv3')
maxp3 = maxpooling(conv3)
conv4 = conv2d(maxp3, [3, 3, 64, 64], 'conv4')
maxp4 = maxpooling(conv4)
conv5 = conv2d(maxp4, [3, 3, 64, 128], 'conv5')
maxp5 = maxpooling(conv5)
conv6 = conv2d(maxp5, [3, 3, 128, 128], 'conv6')
maxp6 = maxpooling(conv6)
conv7 = conv2d(maxp6, [3, 3, 128, 256], 'conv7')
maxp7 = maxpooling(conv7)
conv8 = conv2d(maxp7, [3, 3, 256, 256], 'conv8')
maxp8 = maxpooling(conv8)
conv9 = conv2d(maxp8, [3, 3, 256, 512], 'conv9')
maxp9 = maxpooling(conv9)
drop = tf.nn.dropout(maxp9, self.dropout)
# 1x1 convolution + sigmoid activation
net = conv2d(drop, [1, 1, 512, self.input_size*self.input_size], 'conv10', activation='no')
# squeeze the last two dimension in train
if train:
net = tf.squeeze(net, [1, 2], name="squeezed")
return net
评论列表
文章目录