def main():
    '''Main.
    '''

    # Parse arguments
    args = get_args()

    # Create YOLOv2 detection network
    x = nn.Variable((1, 3, args.width, args.width))
    y = yolov2.yolov2(x, args.anchors, args.classes, test=True)
    params = nn.get_parameters(grad_only=False)

    # Parse network parameters
    dn_weights = parser.load_weights_raw(args.input)
    cursor = 0
    for i in range(1, 19):  # 1 to 18
        cursor = parser.load_convolutional_and_get_next_cursor(
            dn_weights, cursor, params, 'c{}'.format(i))
    cursor = parser.load_convolutional_and_get_next_cursor(
        dn_weights, cursor, params, 'c18_19')
    cursor = parser.load_convolutional_and_get_next_cursor(
        dn_weights, cursor, params, 'c18_20')
    cursor = parser.load_convolutional_and_get_next_cursor(
        dn_weights, cursor, params, 'c13_14')
    cursor = parser.load_convolutional_and_get_next_cursor(
        dn_weights, cursor, params, 'c21')
    cursor = parser.load_convolutional_and_get_next_cursor(dn_weights,
                                                           cursor,
                                                           params,
                                                           'detection',
                                                           no_bn=True)
    assert cursor == dn_weights.size

    # Save to a h5 file
    nn.save_parameters(args.output)
Exemple #2
0
def main():
    args = get_args()

    # Defining network first
    x = nn.Variable((1, 3, 224, 224))
    y = darknet19.darknet19_feature(x / 255, test=True)

    # Get NNabla parameters
    params = nn.get_parameters(grad_only=False)

    # Parse Darknet weights and store them into NNabla params
    dn_weights = parser.load_weights_raw(args.input)
    cursor = 0
    for i in range(1, 19):  # 1 to 18
        print("Layer", i)
        cursor = parser.load_convolutional_and_get_next_cursor(
            dn_weights, cursor, params, 'c{}'.format(i))

    nn.save_parameters(args.output)