Skip to content
Snippets Groups Projects
Commit 68905098 authored by Hashim Sharif's avatar Hashim Sharif
Browse files

Freeing unused memory + file descriptors

parent 56a1340c
No related branches found
No related tags found
No related merge requests found
...@@ -197,6 +197,8 @@ void* readInputTensor(char* file_name, int data_type, int dim1_size, int dim2_si ...@@ -197,6 +197,8 @@ void* readInputTensor(char* file_name, int data_type, int dim1_size, int dim2_si
fseek(file, file_header_size, SEEK_CUR); // Skipping the file header fseek(file, file_header_size, SEEK_CUR); // Skipping the file header
size_t bytes_read = fread(file_data, 1, sizeof(uint8_t) * num_elems, file); size_t bytes_read = fread(file_data, 1, sizeof(uint8_t) * num_elems, file);
fclose(file);
for (size_t i = 0; i < num_elems; ++i){ for (size_t i = 0; i < num_elems; ++i){
tensor_data[i] = (float) file_data[i] / 255.0f; tensor_data[i] = (float) file_data[i] / 255.0f;
...@@ -209,7 +211,7 @@ void* readInputTensor(char* file_name, int data_type, int dim1_size, int dim2_si ...@@ -209,7 +211,7 @@ void* readInputTensor(char* file_name, int data_type, int dim1_size, int dim2_si
dim3_size, dim4_size); dim3_size, dim4_size);
initTensorData(input, tensor_data, size_in_bytes); initTensorData(input, tensor_data, size_in_bytes);
compareValues(input, tensor_data, num_elems); // compareValues(input, tensor_data, num_elems);
return input; return input;
} }
...@@ -222,8 +224,8 @@ struct Tensor* readTrainedWeights(char* file_name, int data_type, ...@@ -222,8 +224,8 @@ struct Tensor* readTrainedWeights(char* file_name, int data_type,
// FIXIT: Don't assume floating point types // FIXIT: Don't assume floating point types
int type_size = 4; // NOTE: Assuming floating point tensors int type_size = 4; // NOTE: Assuming floating point tensors
int num_elems = dim1_size * dim2_size * dim3_size * dim4_size; long int num_elems = dim1_size * dim2_size * dim3_size * dim4_size;
int size_in_bytes = type_size * dim1_size * dim2_size * dim3_size * dim4_size; long int size_in_bytes = type_size * dim1_size * dim2_size * dim3_size * dim4_size;
float* tensor_data = (float*) malloc(sizeof(float) * num_elems); float* tensor_data = (float*) malloc(sizeof(float) * num_elems);
int file_header_size = 0; int file_header_size = 0;
...@@ -236,15 +238,17 @@ struct Tensor* readTrainedWeights(char* file_name, int data_type, ...@@ -236,15 +238,17 @@ struct Tensor* readTrainedWeights(char* file_name, int data_type,
fseek(file, file_header_size, SEEK_CUR); // Skipping the file header fseek(file, file_header_size, SEEK_CUR); // Skipping the file header
size_t bytes_read = fread(tensor_data, 1, size_in_bytes, file); size_t bytes_read = fread(tensor_data, 1, size_in_bytes, file);
//for(unsigned i = 0 ; i < 40; i++){ printf("size in bytes = %lu, bytes read = %lu \n", size_in_bytes, bytes_read);
// printf("tensor_data[%d] = %f \n", i, tensor_data[i]);
//} fclose(file);
struct Tensor* weights = (struct Tensor*) create4DTensor(data_type, nchw, dim1_size, dim2_size, struct Tensor* weights = (struct Tensor*) create4DTensor(data_type, nchw, dim1_size, dim2_size,
dim3_size, dim4_size); dim3_size, dim4_size);
initTensorData(weights, tensor_data, size_in_bytes); initTensorData(weights, tensor_data, size_in_bytes);
compareValues(weights, tensor_data, num_elems); //compareValues(weights, tensor_data, num_elems);
free(tensor_data);
return weights; return weights;
} }
...@@ -265,6 +269,8 @@ uint8_t* readLabels(char* labels_file, int num_labels){ ...@@ -265,6 +269,8 @@ uint8_t* readLabels(char* labels_file, int num_labels){
printf("labels[%d] = %u \n", i, labels[i]); printf("labels[%d] = %u \n", i, labels[i]);
} }
fclose(file);
printf("--labels bytes_read = %d \n", bytes_read); printf("--labels bytes_read = %d \n", bytes_read);
return labels; return labels;
} }
...@@ -353,9 +359,10 @@ void computeAccuracy2(uint8_t* labels, int num_labels, void* result_ptr, unsigne ...@@ -353,9 +359,10 @@ void computeAccuracy2(uint8_t* labels, int num_labels, void* result_ptr, unsigne
std::string print_str = ss.str(); std::string print_str = ss.str();
fwrite(print_str.c_str(), 1, print_str.length(), fp); fwrite(print_str.c_str(), 1, print_str.length(), fp);
fclose(fp);
} }
fclose(fp);
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment