mirror of
https://github.com/pjreddie/darknet.git
synced 2023-08-10 21:13:14 +03:00
stuff
This commit is contained in:
@ -4,7 +4,6 @@
|
||||
#include "image.h"
|
||||
#include "data.h"
|
||||
#include "utils.h"
|
||||
#include "params.h"
|
||||
|
||||
#include "crop_layer.h"
|
||||
#include "connected_layer.h"
|
||||
@ -16,6 +15,7 @@
|
||||
#include "normalization_layer.h"
|
||||
#include "softmax_layer.h"
|
||||
#include "dropout_layer.h"
|
||||
#include "route_layer.h"
|
||||
|
||||
char *get_layer_string(LAYER_TYPE a)
|
||||
{
|
||||
@ -40,6 +40,8 @@ char *get_layer_string(LAYER_TYPE a)
|
||||
return "crop";
|
||||
case COST:
|
||||
return "cost";
|
||||
case ROUTE:
|
||||
return "route";
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@ -99,6 +101,9 @@ void forward_network(network net, network_state state)
|
||||
else if(net.types[i] == DROPOUT){
|
||||
forward_dropout_layer(*(dropout_layer *)net.layers[i], state);
|
||||
}
|
||||
else if(net.types[i] == ROUTE){
|
||||
forward_route_layer(*(route_layer *)net.layers[i], net);
|
||||
}
|
||||
state.input = get_network_output_layer(net, i);
|
||||
}
|
||||
}
|
||||
@ -143,6 +148,8 @@ float *get_network_output_layer(network net, int i)
|
||||
return ((crop_layer *)net.layers[i]) -> output;
|
||||
} else if(net.types[i] == NORMALIZATION){
|
||||
return ((normalization_layer *)net.layers[i]) -> output;
|
||||
} else if(net.types[i] == ROUTE){
|
||||
return ((route_layer *)net.layers[i]) -> output;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@ -177,6 +184,8 @@ float *get_network_delta_layer(network net, int i)
|
||||
} else if(net.types[i] == CONNECTED){
|
||||
connected_layer layer = *(connected_layer *)net.layers[i];
|
||||
return layer.delta;
|
||||
} else if(net.types[i] == ROUTE){
|
||||
return ((route_layer *)net.layers[i]) -> delta;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@ -247,10 +256,12 @@ void backward_network(network net, network_state state)
|
||||
else if(net.types[i] == CONNECTED){
|
||||
connected_layer layer = *(connected_layer *)net.layers[i];
|
||||
backward_connected_layer(layer, state);
|
||||
}
|
||||
else if(net.types[i] == COST){
|
||||
} else if(net.types[i] == COST){
|
||||
cost_layer layer = *(cost_layer *)net.layers[i];
|
||||
backward_cost_layer(layer, state);
|
||||
} else if(net.types[i] == ROUTE){
|
||||
route_layer layer = *(route_layer *)net.layers[i];
|
||||
backward_route_layer(layer, net);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -369,6 +380,10 @@ void set_batch_network(network *net, int b)
|
||||
crop_layer *layer = (crop_layer *)net->layers[i];
|
||||
layer->batch = b;
|
||||
}
|
||||
else if(net->types[i] == ROUTE){
|
||||
route_layer *layer = (route_layer *)net->layers[i];
|
||||
layer->batch = b;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -445,12 +460,17 @@ int get_network_output_size_layer(network net, int i)
|
||||
softmax_layer layer = *(softmax_layer *)net.layers[i];
|
||||
return layer.inputs;
|
||||
}
|
||||
else if(net.types[i] == ROUTE){
|
||||
route_layer layer = *(route_layer *)net.layers[i];
|
||||
return layer.outputs;
|
||||
}
|
||||
fprintf(stderr, "Can't find output size\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
int resize_network(network net, int h, int w, int c)
|
||||
{
|
||||
fprintf(stderr, "Might be broken, careful!!");
|
||||
int i;
|
||||
for (i = 0; i < net.n; ++i){
|
||||
if(net.types[i] == CONVOLUTIONAL){
|
||||
@ -540,6 +560,10 @@ image get_network_image_layer(network net, int i)
|
||||
crop_layer layer = *(crop_layer *)net.layers[i];
|
||||
return get_crop_image(layer);
|
||||
}
|
||||
else if(net.types[i] == ROUTE){
|
||||
route_layer layer = *(route_layer *)net.layers[i];
|
||||
return get_network_image_layer(net, layer.input_layers[0]);
|
||||
}
|
||||
return make_empty_image(0,0,0);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user