diff --git a/include/darknet.h b/include/darknet.h index 8be70406..0acac8a6 100644 --- a/include/darknet.h +++ b/include/darknet.h @@ -873,6 +873,7 @@ LIB_API void free_layer(layer); LIB_API void free_data(data d); LIB_API pthread_t load_data(load_args args); LIB_API pthread_t load_data_in_thread(load_args args); +LIB_API void *load_thread(void *ptr); // dark_cuda.h LIB_API void cuda_pull_array(float *x_gpu, float *x, size_t n); diff --git a/src/convolutional_layer.c b/src/convolutional_layer.c index 7f2bac96..4dd2cf96 100644 --- a/src/convolutional_layer.c +++ b/src/convolutional_layer.c @@ -337,28 +337,28 @@ void cudnn_convolutional_setup(layer *l, int cudnn_preference) void free_convolutional_batchnorm(convolutional_layer *l) { if (!l->share_layer) { - free(l->scales); - free(l->scale_updates); - free(l->mean); - free(l->variance); - free(l->mean_delta); - free(l->variance_delta); - free(l->rolling_mean); - free(l->rolling_variance); - free(l->x); - free(l->x_norm); + free(l->scales); l->scales = NULL; + free(l->scale_updates); l->scale_updates = NULL; + free(l->mean); l->mean = NULL; + free(l->variance); l->variance = NULL; + free(l->mean_delta); l->mean_delta = NULL; + free(l->variance_delta); l->variance_delta = NULL; + free(l->rolling_mean); l->rolling_mean = NULL; + free(l->rolling_variance); l->rolling_variance = NULL; + free(l->x); l->x = NULL; + free(l->x_norm); l->x_norm = NULL; #ifdef GPU - cuda_free(l->scales_gpu); - cuda_free(l->scale_updates_gpu); - cuda_free(l->mean_gpu); - cuda_free(l->variance_gpu); - cuda_free(l->mean_delta_gpu); - cuda_free(l->variance_delta_gpu); - cuda_free(l->rolling_mean_gpu); - cuda_free(l->rolling_variance_gpu); - cuda_free(l->x_gpu); - cuda_free(l->x_norm_gpu); + cuda_free(l->scales_gpu); l->scales_gpu = NULL; + cuda_free(l->scale_updates_gpu); l->scale_updates_gpu = NULL; + cuda_free(l->mean_gpu); l->mean_gpu = NULL; + cuda_free(l->variance_gpu); l->variance_gpu = NULL; + cuda_free(l->mean_delta_gpu); l->mean_delta_gpu = NULL; + cuda_free(l->variance_delta_gpu); l->variance_delta_gpu = NULL; + cuda_free(l->rolling_mean_gpu); l->rolling_mean_gpu = NULL; + cuda_free(l->rolling_variance_gpu); l->rolling_variance_gpu = NULL; + cuda_free(l->x_gpu); l->x_gpu = NULL; + cuda_free(l->x_norm_gpu); l->x_norm_gpu = NULL; #endif } }