def vgg_conv2s(n, bottom, learn=1): n.conv2_1, n.relu2_1 = conv_relu(bottom, 3, 128, pad=1, param=param[learn]) n.conv2_2, n.relu2_2 = conv_relu(n.relu2_1, 3, 128, pad=1, param=param[learn]) return n.relu2_2
def vgg_conv1s(n, bottom, learn=1): n.conv1_1, n.relu1_1 = conv_relu(bottom, 3, 64, pad=1, param=param[learn]) n.conv1_2, n.relu1_2 = conv_relu(n.relu1_1, 3, 64, pad=1, param=param[learn]) return n.relu1_2
def vgg_conv5s(n, bottom, learn=1): n.conv5_1, n.relu5_1 = conv_relu(bottom, 3, 512, pad=1, param=param[learn]) n.conv5_2, n.relu5_2 = conv_relu(n.relu5_1, 3, 512, pad=1, param=param[learn]) n.conv5_3, n.relu5_3 = conv_relu(n.relu5_2, 3, 512, pad=1, param=param[learn]) return n.relu5_3
def vgg_conv3s(n, bottom, learn=1): n.conv3_1, n.relu3_1 = conv_relu(bottom, 3, 256, pad=1, param=param[learn]) n.conv3_2, n.relu3_2 = conv_relu(n.relu3_1, 3, 256, pad=1, param=param[learn]) n.conv3_3, n.relu3_3 = conv_relu(n.relu3_2, 3, 256, pad=1, param=param[learn]) return n.relu3_3
def deeplab_fc6(n, bottom, learn=1): n.fc6, n.relu6 = conv_relu(bottom, 3, 1024, pad=12, dilation=12, param=param[learn]) n.drop6 = L.Dropout(n.relu6) return n.drop6
def deeplab_conv5s(n, bottom, learn=1): n.conv5_1, n.relu5_1 = conv_relu(bottom, 3, 512, pad=2, dilation=2, param=param[learn]) n.conv5_2, n.relu5_2 = conv_relu(n.relu5_1, 3, 512, pad=2, dilation=2, param=param[learn]) n.conv5_3, n.relu5_3 = conv_relu(n.relu5_2, 3, 512, pad=2, dilation=2, param=param[learn]) return n.relu5_3
def gap_fc7(n, bottom, ks, learn=1): n.fc7_gap, n.relu7_gap = conv_relu(bottom, ks, 1024, pad=(ks - 1) / 2, param=param[learn], weight_filler=dict(type='gaussian', std=0.005), bias_filler=dict(type='constant', value=0)) n.drop7_gap = L.Dropout(n.relu7_gap, in_place=True) return n.drop7_gap
def deeplab_fc7(n, bottom, learn=1): n.fc7, n.relu7 = conv_relu(bottom, 1, 1024, param=param[learn]) n.drop7 = L.Dropout(n.relu7) return n.drop7