Пример #1
0
def add_bottleneck(bottom, num_output, stride, flag):
    # flag: 1, skip; 2, downsampling
    # output: 11
    [conv1, bn1, scale1] = add_module(bottom, num_output / 4, 0, 1, 1)
    relu1 = L.ReLURecover(conv1, in_place=True)
    [conv2, bn2, scale2] = add_module(conv1, num_output / 4, 1, 3, 1)
    relu2 = L.ReLURecover(conv2, in_place=True)
    [conv3, bn3, scale3] = add_module(conv2, num_output * flag, 0, 1, stride)
    return conv1, bn1, scale1, relu1, conv2, bn2, scale2, relu2, conv3, bn3, scale3
def add_skip_block(bottom, num_output):
    [conv1, bn1, scale1] = add_module(bottom, num_output, 1)
    relu1 = L.ReLURecover(conv1, in_place=True)

    [conv2, bn2, scale2] = add_module(conv1, num_output, 1)
    relu2 = L.ReLU(conv2, in_place=True)
    return conv1, bn1, scale1, relu1, conv2, bn2, scale2, relu2
Пример #3
0
def add_downsampling_block_1(bottom, num_output):  # special case
    [res1, bn1, scale1] = add_module(bottom, 2 * num_output, 1, 3, 2)
    [conv1, bn2, scale2] = add_module(bottom, num_output, 1, 3, 1)
    relu1 = L.ReLURecover(conv1, in_place=True)

    [conv2, bn3, scale3] = add_module(conv1, 2 * num_output, 1, 3, 2)
    res2 = L.Eltwise(res1, conv2)
    relu2 = L.ReLU(res2, in_place=True)
    return res1, bn1, scale1, conv1, bn2, scale2, relu1, conv2, bn3, scale3, res2, relu2
def add_skip_block(bottom, num_output):
    [conv1, bn1, scale1] = add_module(bottom, num_output, 1)
    relu1 = L.ReLURecover(conv1, in_place=True)
    
    [conv2, bn2, scale2] = add_module(conv1, num_output, 1)
    # bottom不做任何变化,表示skip connection
    res = L.Eltwise(bottom, conv2)
    relu2 = L.ReLU(res, in_place=True)
    return conv1, bn1, scale1, relu1, conv2, bn2, scale2, res, relu2