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)
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)