mirror of
https://github.com/pjreddie/darknet.git
synced 2023-08-10 21:13:14 +03:00
Compile fix
This commit is contained in:
@ -11,8 +11,10 @@ void free_layer(layer l)
|
||||
if (l.output_layer) free_layer(*l.output_layer);
|
||||
l.output = NULL;
|
||||
l.delta = NULL;
|
||||
#ifdef GPU
|
||||
l.output_gpu = NULL;
|
||||
l.delta_gpu = NULL;
|
||||
#endif // GPU
|
||||
}
|
||||
if (l.type == DROPOUT) {
|
||||
if (l.rand) free(l.rand);
|
||||
|
@ -1023,6 +1023,7 @@ void calculate_binary_weights(network net)
|
||||
|
||||
void copy_cudnn_descriptors(layer src, layer *dst)
|
||||
{
|
||||
#ifdef CUDNN
|
||||
dst->normTensorDesc = src.normTensorDesc;
|
||||
dst->normDstTensorDesc = src.normDstTensorDesc;
|
||||
dst->normDstTensorDescF16 = src.normDstTensorDescF16;
|
||||
@ -1032,25 +1033,7 @@ void copy_cudnn_descriptors(layer src, layer *dst)
|
||||
|
||||
dst->srcTensorDesc16 = src.srcTensorDesc16;
|
||||
dst->dstTensorDesc16 = src.dstTensorDesc16;
|
||||
|
||||
//dst->batch = 1;
|
||||
//dst->steps = 1;
|
||||
}
|
||||
|
||||
void copy_weights_pointers_gpu(layer src, layer *dst)
|
||||
{
|
||||
dst->weights_gpu = src.weights_gpu;
|
||||
dst->weights_gpu16 = src.weights_gpu16;
|
||||
dst->biases_gpu = src.biases_gpu;
|
||||
dst->scales_gpu = src.scales_gpu;
|
||||
dst->rolling_mean_gpu = src.rolling_mean_gpu;
|
||||
dst->rolling_variance_gpu = src.rolling_variance_gpu;
|
||||
dst->mean_gpu = src.mean_gpu;
|
||||
dst->variance_gpu = src.variance_gpu;
|
||||
//dst->align_bit_weights_gpu = src.align_bit_weights_gpu;
|
||||
dst->x_gpu = src.x_gpu;
|
||||
|
||||
dst->output_gpu = src.output_gpu;
|
||||
#endif // CUDNN
|
||||
}
|
||||
|
||||
void copy_weights_net(network net_train, network *net_map)
|
||||
@ -1091,48 +1074,26 @@ network combine_train_valid_networks(network net_train, network net_map)
|
||||
net_combined = net_train;
|
||||
net_combined.layers = old_layers;
|
||||
net_combined.batch = 1;
|
||||
net_combined.time_steps = 1;
|
||||
|
||||
int k;
|
||||
for (k = 0; k < net_train.n; ++k) {
|
||||
layer *l = &(net_train.layers[k]);
|
||||
net_combined.layers[k] = net_train.layers[k];
|
||||
net_combined.layers[k].batch = 1;
|
||||
|
||||
#ifdef CUDNN
|
||||
if (l->type == CONVOLUTIONAL) {
|
||||
/*
|
||||
net_combined.layers[k] = net_train.layers[k];
|
||||
net_combined.layers[k].batch = 1;
|
||||
net_combined.layers[k].steps = 1;
|
||||
copy_cudnn_descriptors(net_map.layers[k], &net_combined.layers[k]);
|
||||
*/
|
||||
net_combined.layers[k] = net_map.layers[k];
|
||||
//net_combined.layers[k] = net_train.layers[k];
|
||||
net_combined.layers[k].batch = 1;
|
||||
net_combined.layers[k].steps = 1;
|
||||
#ifdef CUDNN
|
||||
net_combined.layers[k].normTensorDesc = net_map.layers[k].normTensorDesc;
|
||||
net_combined.layers[k].normDstTensorDesc = net_map.layers[k].normDstTensorDesc;
|
||||
net_combined.layers[k].normDstTensorDescF16 = net_map.layers[k].normDstTensorDescF16;
|
||||
|
||||
copy_weights_pointers_gpu(net_train.layers[k], &net_combined.layers[k]);
|
||||
net_combined.layers[k].srcTensorDesc = net_map.layers[k].srcTensorDesc;
|
||||
net_combined.layers[k].dstTensorDesc = net_map.layers[k].dstTensorDesc;
|
||||
|
||||
net_combined.layers[k].output_gpu = net_train.layers[k].output_gpu;
|
||||
|
||||
}
|
||||
else if (l->type == CRNN) {
|
||||
net_combined.layers[k] = net_map.layers[k];
|
||||
net_combined.layers[k].batch = 1;
|
||||
net_combined.layers[k].steps = 1;
|
||||
// Don't use copy_cudnn_descriptors() here
|
||||
|
||||
copy_weights_pointers_gpu(*net_train.layers[k].input_layer, net_combined.layers[k].input_layer);
|
||||
copy_weights_pointers_gpu(*net_train.layers[k].self_layer, net_combined.layers[k].self_layer);
|
||||
copy_weights_pointers_gpu(*net_train.layers[k].output_layer, net_combined.layers[k].output_layer);
|
||||
|
||||
net_combined.layers[k].output_gpu = net_combined.layers[k].output_layer->output_gpu;
|
||||
}
|
||||
else {
|
||||
net_combined.layers[k] = net_train.layers[k];
|
||||
net_combined.layers[k].batch = 1;
|
||||
net_combined.layers[k].steps = 1;
|
||||
}
|
||||
net_combined.layers[k].srcTensorDesc16 = net_map.layers[k].srcTensorDesc16;
|
||||
net_combined.layers[k].dstTensorDesc16 = net_map.layers[k].dstTensorDesc16;
|
||||
#endif // CUDNN
|
||||
}
|
||||
}
|
||||
return net_combined;
|
||||
}
|
||||
|
Reference in New Issue
Block a user