diff --git a/include/utils.h b/include/utils.h index 7c10f0f..c0ea8a8 100644 --- a/include/utils.h +++ b/include/utils.h @@ -14,14 +14,31 @@ #define value_type float +// Colored output +#define COL_END "\033[0m" +#define COL_RED "\033[31m" +#define COL_GREEN "\033[32m" +#define COL_ORANGE "\033[33m" +#define COL_BLUE "\033[34m" +#define COL_PURPLE "\033[35m" +#define COL_CYAN "\033[36m" + +#define COL_REDB "\033[1;31m" +#define COL_GREENB "\033[1;32m" +#define COL_ORANGEB "\033[1;33m" +#define COL_BLUEB "\033[1;34m" +#define COL_PURPLEB "\033[1;35m" +#define COL_CYANB "\033[1;36m" + +// Simple Timer #define TIMER_START timespec start, end; \ clock_gettime(CLOCK_MONOTONIC, &start); #define TIMER_STOP clock_gettime(CLOCK_MONOTONIC, &end); \ double t_ns = ((double)(end.tv_sec - start.tv_sec) * 1.0e9 + \ (double)(end.tv_nsec - start.tv_nsec))/1.0e6; \ - std::cout<<"\033[1;36mTime:"< -#include "NvInfer.h" #include "tkdnn.h" #include "Network.h" @@ -12,10 +11,9 @@ Network::Network(dataDim_t input_dim) { float tk_ver = float(tkDNN::getVersion())/1000; float cu_ver = float(cudnnGetVersion())/1000; - float rt_ver = float(NV_TENSORRT_MAJOR) + float(NV_TENSORRT_MINOR)/10 + float(NV_TENSORRT_PATCH)/100; std::cout<<"New NETWORK (tkDNN v"<output_dim; } -} \ No newline at end of file +} diff --git a/src/NetworkRT.cpp b/src/NetworkRT.cpp index 1ce105b..91f1e5c 100644 --- a/src/NetworkRT.cpp +++ b/src/NetworkRT.cpp @@ -10,12 +10,10 @@ using namespace nvinfer1; #include "pluginsRT/RegionRT.cpp" // Logger for info/warning/errors -class Logger : public ILogger -{ - void log(Severity severity, const char* msg) override - { - std::cout <<"TENSORRT: "<< msg << std::endl; - } +class Logger : public ILogger { + void log(Severity severity, const char* msg) override { + std::cout <<"TENSORRT LOG: "<< msg << std::endl; + } } loggerRT; namespace tkDNN { @@ -24,6 +22,11 @@ std::maptensors; NetworkRT::NetworkRT(Network *net) { + float rt_ver = float(NV_TENSORRT_MAJOR) + + float(NV_TENSORRT_MINOR)/10 + + float(NV_TENSORRT_PATCH)/100; + std::cout<<"New NetworkRT (TensorRT v"<createNetwork(); dtRT = DataType::kFLOAT; @@ -250,4 +253,4 @@ ITensor* NetworkRT::convert_layer(ITensor *input, Region *l) { return lRT->getOutput(0); } -} \ No newline at end of file +} diff --git a/src/utils.cpp b/src/utils.cpp index 01a2f9e..45c6372 100644 --- a/src/utils.cpp +++ b/src/utils.cpp @@ -23,9 +23,7 @@ void readBinaryFile(const char* fname, int size, value_type** data_h, value_type } checkCuda( cudaMalloc(data_d, size_b) ); - checkCuda( cudaMemcpy(*data_d, *data_h, - size_b, - cudaMemcpyHostToDevice) ); + checkCuda( cudaMemcpy(*data_d, *data_h, size_b, cudaMemcpyHostToDevice) ); } void printDeviceVector(int size, value_type* vec_d, bool device) @@ -39,8 +37,7 @@ void printDeviceVector(int size, value_type* vec_d, bool device) vec = vec_d; } - for (int i = 0; i < size; i++) - { + for (int i = 0; i < size; i++) { std::cout << vec[i] << " "; } std::cout << std::endl; @@ -52,6 +49,7 @@ void printDeviceVector(int size, value_type* vec_d, bool device) int checkResult(int size, value_type *data_d, value_type *correct_d, bool device) { value_type *data_h, *correct_h; + const float eps = 0.0001f; if(device) { data_h = new value_type[size]; @@ -67,10 +65,12 @@ int checkResult(int size, value_type *data_d, value_type *correct_d, bool device int diffs = 0; for(int i=0; i 0.0001) { + if(fabs(data_h[i] - correct_h[i]) > eps) { diffs += 1; + if(diffs == 1) + std::cout<<"\n"; if(diffs < 10) - printf("%d: %f %f\n", i, data_h[i], correct_h[i]); + std::cout<<" | [ "<