From e841d95c33d085d7ac931049657aea7891349fb0 Mon Sep 17 00:00:00 2001 From: Hashim Sharif <hsharif3@miranda.cs.illinois.edu> Date: Tue, 30 Mar 2021 18:14:33 -0500 Subject: [PATCH] Removing some dead code from tensorUtils.h --- .../tensor_runtime/include/tensorUtils.h | 183 +----------------- 1 file changed, 5 insertions(+), 178 deletions(-) diff --git a/hpvm/projects/hpvm-tensor-rt/tensor_runtime/include/tensorUtils.h b/hpvm/projects/hpvm-tensor-rt/tensor_runtime/include/tensorUtils.h index dd7942e288..d4961d19b9 100644 --- a/hpvm/projects/hpvm-tensor-rt/tensor_runtime/include/tensorUtils.h +++ b/hpvm/projects/hpvm-tensor-rt/tensor_runtime/include/tensorUtils.h @@ -148,7 +148,7 @@ void printTensorDims(void *tensor_ptr) { struct Tensor *tensor = (struct Tensor *)tensor_ptr; printf("Num_elems = %lu \n", tensor->num_elems); - for (int i = 0; i < tensor->dims.num_dims; i++) { + for (unsigned int i = 0; i < tensor->dims.num_dims; i++) { printf("dim[%d] = %lu \n", i, tensor->dims.dim_sizes[i]); } } @@ -188,79 +188,8 @@ void compareValues(void *tensor_ptr, float *data, size_t num_elems) { } -/* -void *readInputTensor(const char *file_name, int data_type, - int dim1_size, int dim2_size, int dim3_size, int dim4_size) { - long int type_size = 4; // NOTE: Assuming floating point tensors - long int num_elems = dim1_size * dim2_size * dim3_size * dim4_size; - long int size_in_bytes = type_size * dim1_size * dim2_size * dim3_size * dim4_size; - uint8_t *file_data = (uint8_t *)malloc(sizeof(char) * num_elems); - float *tensor_data = (float *)malloc(sizeof(float) * num_elems); - long int file_header_size = 16; - - FILE *file = fopen(file_name, "rb"); - if (file == NULL) { - printf("Data file %s is not found. Aborting... \n", file_name); - abort(); - } - - 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); - - fclose(file); - - for (size_t i = 0; i < num_elems; ++i) { - tensor_data[i] = (float)file_data[i] / 255.0f; - } - - // NOTE: Using NCHW format - struct Tensor *input = (struct Tensor *)create4DTensor( - data_type, nchw, dim1_size, dim2_size, dim3_size, dim4_size); - - initTensorData(input, tensor_data, size_in_bytes); - // compareValues(input, tensor_data, num_elems); - - return input; -} -*/ - - -//*** FIXIT: Move this to CPU-only -struct Tensor *readTrainedWeightsCPU(const char *file_name, int data_type, - int dim1_size, int dim2_size, - int dim3_size, int dim4_size) { - - // FIXIT: Don't assume floating point types - int type_size = 4; // NOTE: Assuming floating point tensors - long int num_elems = 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); - int file_header_size = 0; - - FILE *file = fopen(file_name, "rb"); - if (file == NULL) { - printf("Data file %s is not found. Aborting... \n", file_name); - abort(); - } - - fseek(file, file_header_size, SEEK_CUR); // Skipping the file header - size_t bytes_read = fread(tensor_data, 1, size_in_bytes, file); - - printf("size in bytes = %lu, bytes read = %lu \n", size_in_bytes, bytes_read); - - fclose(file); - - struct Tensor *weights = (struct Tensor *)create4DTensor( - data_type, nchw, dim1_size, dim2_size, dim3_size, dim4_size); - initTensorData(weights, tensor_data, size_in_bytes); - // compareValues(weights, tensor_data, num_elems); - free(tensor_data); - - return weights; -} struct Tensor *readTrainedWeights(const char *file_name, int data_type, long int dim1_size, long int dim2_size, @@ -368,27 +297,6 @@ uint32_t *readLabels3(const char *labels_file, int num_labels) { return labels; } -uint8_t *readLabelsBatch(const char *labels_file, int start, int end) { - - int num_labels = end - start; - int file_header_size = sizeof(uint8_t) * start; - - uint8_t *labels = (uint8_t *)malloc(sizeof(uint8_t) * num_labels); - FILE *file = fopen(labels_file, "rb"); - if (file == NULL) { - printf("Data file %s is not found. Aborting...\n", labels_file); - abort(); - } - - fseek(file, file_header_size, SEEK_SET); // Skipping the file header - - size_t bytes_read = fread(labels, 1, sizeof(uint8_t) * num_labels, file); - - fclose(file); - - // printf("--labels bytes_read = %lu \n", bytes_read); - return labels; -} uint32_t *readLabelsBatch3(const char *labels_file, int start, int end) { @@ -412,88 +320,6 @@ uint32_t *readLabelsBatch3(const char *labels_file, int start, int end) { } -/*void computeAccuracy(const char *labels_file, int num_labels, - void *result_ptr) { - - struct Tensor *result = (struct Tensor *)result_ptr; - - uint8_t *labels = readLabels(labels_file, num_labels); - size_t batch_dim = result->dims.dim_sizes[0]; - size_t channels = result->dims.dim_sizes[1]; - float *data = (float *)result->host_data; - int num_errors = 0; - - for (int i = 0; i < batch_dim; i++) { - int chosen = 0; - for (int id = 1; id < 10; ++id) { - if (data[i * channels + chosen] < data[i * channels + id]) - chosen = id; - } - - // printf("chosen = %d, label = %d \n", chosen, labels[i]); - if (chosen != labels[i]) - num_errors++; - } - - float accuracy = ((batch_dim - num_errors) * 1.0 / batch_dim * 1.0) * 100.0; - printf("****** Accuracy = %f \n\n", accuracy); - - FILE *fp = fopen("final_accuracy", "w+"); - if (fp != NULL) { - - std::ostringstream ss; - ss << std::fixed << accuracy; - std::string print_str = ss.str(); - - fwrite(print_str.c_str(), 1, print_str.length(), fp); - fclose(fp); - } -} -*/ - - -// NOTE: batch_size and num_classes are Unused arguments -float computeAccuracy2(uint8_t *labels, int batch_size, void *result_ptr, - size_t num_classes = 10) { - - struct Tensor *result = (struct Tensor *)result_ptr; - - size_t batch_dim = result->dims.dim_sizes[0]; - num_classes = result->dims.dim_sizes[1]; - float *data = (float *)result->host_data; - int num_errors = 0; - - printf("batch_dim = %lu, channels = %lu \n", batch_dim, num_classes); - - for (unsigned int i = 0; i < batch_dim; i++) { - - int chosen = 0; - for (unsigned int id = 1; id < num_classes; ++id) { - if (data[i * num_classes + chosen] < data[i * num_classes + id]) - chosen = id; - } - - if (chosen != labels[i]) - num_errors++; - } - - float accuracy = ((batch_dim - num_errors) * 1.0 / batch_dim * 1.0) * 100.0; - printf("****** Accuracy = %f \n\n", accuracy); - - FILE *fp = fopen("final_accuracy", "w+"); - if (fp != NULL) { - - std::ostringstream ss; - ss << std::fixed << accuracy; - std::string print_str = ss.str(); - - fwrite(print_str.c_str(), 1, print_str.length(), fp); - } - - fclose(fp); - - return accuracy; -} float computeAccuracy3(uint32_t *labels, void *result_ptr) { @@ -509,7 +335,7 @@ float computeAccuracy3(uint32_t *labels, void *result_ptr) { for (unsigned int i = 0; i < batch_dim; i++) { int chosen = 0; - for (int id = 1; id < num_classes; ++id) { + for (unsigned int id = 1; id < num_classes; ++id) { if (data[i * num_classes + chosen] < data[i * num_classes + id]) chosen = id; } @@ -557,10 +383,10 @@ float computeTop5Accuracy(uint8_t *labels, int num_labels, void *result_ptr, printf("batch_dim = %lu, channels = %lu \n", batch_dim, channels); - for (int i = 0; i < num_labels; i++) { + for (unsigned int i = 0; i < num_labels; i++) { std::vector<ClassProb> elem_probs; - for (int id = 0; id < num_classes; ++id) { + for (unsigned int id = 0; id < num_classes; ++id) { ClassProb cProb; cProb.prob = data[i * channels + id]; cProb.index = id; @@ -643,6 +469,7 @@ void dumpPSNRStd(float psnr_std) { fclose(fp); } + void dumpExecutionAccuracies() { FILE *fp = fopen("run_accuracies.txt", "w+"); -- GitLab