free layer
This commit is contained in:
parent
6521badd2d
commit
576cb9c490
26
cnn.h
26
cnn.h
@ -143,3 +143,29 @@ Layer* create_fc(int input_neurons, int output_neurons, fcpos position) {
|
|||||||
return layer;
|
return layer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void free_layer(Layer* layer) {
|
||||||
|
if (!layer) return;
|
||||||
|
switch (layer->type) {
|
||||||
|
case conv:
|
||||||
|
for (int f = 0; f < layer->params.conv_params.num_filters; f++) {
|
||||||
|
for (int h = 0; h < layer->params.conv_params.num_filters; h++) {
|
||||||
|
free(layer->params.conv_params.filters[f][h]);
|
||||||
|
}
|
||||||
|
free(layer->params.conv_params.filters[f]);
|
||||||
|
}
|
||||||
|
free(layer->params.conv_params.filters);
|
||||||
|
break;
|
||||||
|
case fully_connected:
|
||||||
|
for (int i = 0; i < layer->params.fc_params.output_neurons; i++) {
|
||||||
|
free(layer->params.fc_params.weights[i]);
|
||||||
|
}
|
||||||
|
free(layer->params.fc_params.weights);
|
||||||
|
free(layer->params.fc_params.biases);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
free(layer);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user