def __init__(self, n_class=21):
self.n_class = n_class
kwargs = {
'initialW': chainer.initializers.Zero(),
'initial_bias': chainer.initializers.Zero(),
}
super(FCN16s, self).__init__()
with self.init_scope():
self.conv1_1 = L.Convolution2D(3, 64, 3, 1, 100, **kwargs)
self.conv1_2 = L.Convolution2D(64, 64, 3, 1, 1, **kwargs)
self.conv2_1 = L.Convolution2D(64, 128, 3, 1, 1, **kwargs)
self.conv2_2 = L.Convolution2D(128, 128, 3, 1, 1, **kwargs)
self.conv3_1 = L.Convolution2D(128, 256, 3, 1, 1, **kwargs)
self.conv3_2 = L.Convolution2D(256, 256, 3, 1, 1, **kwargs)
self.conv3_3 = L.Convolution2D(256, 256, 3, 1, 1, **kwargs)
self.conv4_1 = L.Convolution2D(256, 512, 3, 1, 1, **kwargs)
self.conv4_2 = L.Convolution2D(512, 512, 3, 1, 1, **kwargs)
self.conv4_3 = L.Convolution2D(512, 512, 3, 1, 1, **kwargs)
self.conv5_1 = L.Convolution2D(512, 512, 3, 1, 1, **kwargs)
self.conv5_2 = L.Convolution2D(512, 512, 3, 1, 1, **kwargs)
self.conv5_3 = L.Convolution2D(512, 512, 3, 1, 1, **kwargs)
self.fc6 = L.Convolution2D(512, 4096, 7, 1, 0, **kwargs)
self.fc7 = L.Convolution2D(4096, 4096, 1, 1, 0, **kwargs)
self.score_fr = L.Convolution2D(4096, n_class, 1, 1, 0, **kwargs)
self.score_pool4 = L.Convolution2D(512, n_class, 1, 1, 0, **kwargs)
self.upscore2 = L.Deconvolution2D(
n_class, n_class, 4, 2, nobias=True,
initialW=initializers.UpsamplingDeconvWeight())
self.upscore16 = L.Deconvolution2D(
n_class, n_class, 32, 16, nobias=True,
initialW=initializers.UpsamplingDeconvWeight())
评论列表
文章目录