| | |
| | | int *mask = parse_yolo_mask(a, &num); |
| | | int max_boxes = option_find_int_quiet(options, "max", 30); |
| | | layer l = make_yolo_layer(params.batch, params.w, params.h, num, total, mask, classes, max_boxes); |
| | | assert(l.outputs == params.inputs); |
| | | if (l.outputs != params.inputs) { |
| | | printf("Error: l.outputs == params.inputs \n"); |
| | | printf("filters= in the [convolutional]-layer doesn't correspond to classes= or mask= in [yolo]-layer \n"); |
| | | exit(EXIT_FAILURE); |
| | | } |
| | | //assert(l.outputs == params.inputs); |
| | | |
| | | //l.max_boxes = option_find_int_quiet(options, "max", 90); |
| | | l.jitter = option_find_float(options, "jitter", .2); |
| | |
| | | int max_boxes = option_find_int_quiet(options, "max", 30); |
| | | |
| | | layer l = make_region_layer(params.batch, params.w, params.h, num, classes, coords, max_boxes); |
| | | assert(l.outputs == params.inputs); |
| | | if (l.outputs != params.inputs) { |
| | | printf("Error: l.outputs == params.inputs \n"); |
| | | printf("filters= in the [convolutional]-layer doesn't correspond to classes= or num= in [region]-layer \n"); |
| | | exit(EXIT_FAILURE); |
| | | } |
| | | //assert(l.outputs == params.inputs); |
| | | |
| | | l.log = option_find_int_quiet(options, "log", 0); |
| | | l.sqrt = option_find_int_quiet(options, "sqrt", 0); |
| | |
| | | net->inputs = option_find_int_quiet(options, "inputs", net->h * net->w * net->c); |
| | | net->max_crop = option_find_int_quiet(options, "max_crop",net->w*2); |
| | | net->min_crop = option_find_int_quiet(options, "min_crop",net->w); |
| | | net->flip = option_find_int_quiet(options, "flip", 1); |
| | | |
| | | net->small_object = option_find_int_quiet(options, "small_object", 0); |
| | | net->angle = option_find_float_quiet(options, "angle", 0); |
| | |
| | | params.time_steps = net.time_steps; |
| | | params.net = net; |
| | | |
| | | float bflops = 0; |
| | | size_t workspace_size = 0; |
| | | n = n->next; |
| | | int count = 0; |
| | |
| | | fprintf(stderr, "layer filters size input output\n"); |
| | | while(n){ |
| | | params.index = count; |
| | | fprintf(stderr, "%5d ", count); |
| | | fprintf(stderr, "%4d ", count); |
| | | s = (section *)n->val; |
| | | options = s->options; |
| | | layer l = {0}; |
| | |
| | | params.c = l.out_c; |
| | | params.inputs = l.outputs; |
| | | } |
| | | if (l.bflops > 0) bflops += l.bflops; |
| | | } |
| | | free_list(sections); |
| | | net.outputs = get_network_output_size(net); |
| | | net.output = get_network_output(net); |
| | | printf("Total BFLOPS %5.3f \n", bflops); |
| | | if(workspace_size){ |
| | | //printf("%ld\n", workspace_size); |
| | | #ifdef GPU |