| | |
| | | #ifdef GPU |
| | | if(weights || biases) push_deconvolutional_layer(layer); |
| | | #endif |
| | | option_unused(options); |
| | | return layer; |
| | | } |
| | | |
| | |
| | | #ifdef GPU |
| | | if(weights || biases) push_convolutional_layer(layer); |
| | | #endif |
| | | option_unused(options); |
| | | return layer; |
| | | } |
| | | |
| | |
| | | #ifdef GPU |
| | | if(weights || biases) push_connected_layer(layer); |
| | | #endif |
| | | option_unused(options); |
| | | return layer; |
| | | } |
| | | |
| | |
| | | { |
| | | int groups = option_find_int(options, "groups",1); |
| | | softmax_layer layer = make_softmax_layer(params.batch, params.inputs, groups); |
| | | option_unused(options); |
| | | return layer; |
| | | } |
| | | |
| | |
| | | int objectness = option_find_int(options, "objectness", 0); |
| | | int background = option_find_int(options, "background", 0); |
| | | detection_layer layer = make_detection_layer(params.batch, params.inputs, classes, coords, joint, rescore, background, objectness); |
| | | option_unused(options); |
| | | return layer; |
| | | } |
| | | |
| | |
| | | char *type_s = option_find_str(options, "type", "sse"); |
| | | COST_TYPE type = get_cost_type(type_s); |
| | | cost_layer layer = make_cost_layer(params.batch, params.inputs, type); |
| | | option_unused(options); |
| | | return layer; |
| | | } |
| | | |
| | |
| | | if(!(h && w && c)) error("Layer before crop layer must output image."); |
| | | |
| | | crop_layer l = make_crop_layer(batch,h,w,c,crop_height,crop_width,flip, angle, saturation, exposure); |
| | | option_unused(options); |
| | | return l; |
| | | } |
| | | |
| | |
| | | if(!(h && w && c)) error("Layer before maxpool layer must output image."); |
| | | |
| | | maxpool_layer layer = make_maxpool_layer(batch,h,w,c,size,stride); |
| | | option_unused(options); |
| | | return layer; |
| | | } |
| | | |
| | |
| | | { |
| | | float probability = option_find_float(options, "probability", .5); |
| | | dropout_layer layer = make_dropout_layer(params.batch, params.inputs, probability); |
| | | option_unused(options); |
| | | return layer; |
| | | } |
| | | |
| | |
| | | float kappa = option_find_float(options, "kappa", 1); |
| | | int size = option_find_int(options, "size", 5); |
| | | layer l = make_normalization_layer(params.batch, params.w, params.h, params.c, size, alpha, beta, kappa); |
| | | option_unused(options); |
| | | return l; |
| | | } |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | option_unused(options); |
| | | return layer; |
| | | } |
| | | |
| | |
| | | net->c = option_find_int_quiet(options, "channels",0); |
| | | net->inputs = option_find_int_quiet(options, "inputs", net->h * net->w * net->c); |
| | | if(!net->inputs && !(net->h && net->w && net->c)) error("No input parameters supplied"); |
| | | option_unused(options); |
| | | } |
| | | |
| | | network parse_network_cfg(char *filename) |
| | |
| | | fprintf(stderr, "Type not recognized: %s\n", s->type); |
| | | } |
| | | l.dontload = option_find_int_quiet(options, "dontload", 0); |
| | | option_unused(options); |
| | | net.layers[count] = l; |
| | | free_section(s); |
| | | n = n->next; |