From 2fbac7705dcafe2d39f12793a7dcadc2ebddbdff Mon Sep 17 00:00:00 2001 From: Micaela Verucchi Date: Fri, 17 Apr 2020 22:36:25 +0200 Subject: [PATCH 01/11] Move download of weights inside build folder Signed-off-by: Micaela Verucchi --- README.md | 10 +- src/NetworkRT.cpp | 4 +- src/utils.cpp | 2 + .../csresnext50-panet-spp.cpp | 2 +- tests/dla34/dla34.cpp | 80 +++--- tests/dla34_cnet/dla34_cnet.cpp | 178 ++++++------- tests/imuodom/imuodom.cpp | 34 +-- tests/mnist/test_mnist.cpp | 14 +- tests/mnist/test_mnistRT.cpp | 14 +- tests/mobilenetv2ssd/mobilenetv2ssd.cpp | 180 ++++++------- tests/mobilenetv2ssd512/mobilenetv2ssd512.cpp | 180 ++++++------- tests/resnet101/resnet101.cpp | 214 +++++++-------- tests/resnet101_cnet/resnet101_cnet.cpp | 250 +++++++++--------- tests/simple/test_simple.cpp | 10 +- tests/yolo/yolo.cpp | 54 ++-- tests/yolo3/yolo3.cpp | 4 +- tests/yolo3_512/yolo3_512.cpp | 4 +- tests/yolo3_512tp/yolo3_512tp.cpp | 4 +- tests/yolo3_berkeley/yolo3_berkeley.cpp | 4 +- tests/yolo3_coco4/yolo3_coco4.cpp | 4 +- tests/yolo3_flir/yolo3_flir.cpp | 4 +- tests/yolo3_tiny/yolo3_tiny.cpp | 38 +-- tests/yolo3_tiny512/yolo3_tiny512.cpp | 38 +-- tests/yolo3_tiny512tp/yolo3_tiny512tp.cpp | 36 +-- tests/yolo3_tinyNM512/yolo3_tinyNM512.cpp | 38 +-- tests/yolo_224/yolo_224.cpp | 52 ++-- tests/yolo_berkeley/yolo_berkeley.cpp | 52 ++-- tests/yolo_relu/yolo_relu.cpp | 52 ++-- tests/yolo_tiny/yolo_tiny.cpp | 28 +- tests/yolo_voc/yolo_voc.cpp | 54 ++-- 30 files changed, 820 insertions(+), 818 deletions(-) diff --git a/README.md b/README.md index 7c943bd..c8a547c 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ This branch works on every NVIDIA GPU that supports the dependencies: * CUDA 10.0 * CUDNN 7.603 * TENSORRT 6.01 -* OPENCV 4.1 +* OPENCV 3.4 * yaml-cpp 0.5.2 (sudo apt install libyaml-cpp-dev) ## About OpenCV @@ -60,10 +60,9 @@ Steps needed to do inference on tkDNN with a custom neural network. ## How to export weights -Weights are essential for any network to run inference. For each test a folder organized as follow is needed: +Weights are essential for any network to run inference. For each test a folder organized as follow is needed (in the build folder): ``` test_nn - |---- test_nn.cpp (nn definition in tkDNN) |---- layers/ (folder containing a binary file for each layer with the corresponding wieghts and bias) |---- debug/ (folder containing a binary file for each layer with the corresponding outputs) ``` @@ -119,14 +118,15 @@ rm yolo3_FP32.rt # be sure to delete(or move) old tensorRT files ./test_yolo3 # run the yolo test (is slow) ./demo yolo3_FP32.rt ../demo/yolo_test.mp4 y ``` -In general the demo program takes 3 parameters: +In general the demo program takes 4 parameters: ``` -./demo +./demo ``` where * `````` is the rt file generated by a test * ```<``` is the path to a video file or a camera input * `````` is the type of network. Thee types are currently supported: ```y``` (YOLO family), ```c``` (CenterNet family) and ```m``` (MobileNet-SSD family) +* ``````is the number of classes the network is trained on N.b. By default it is used FP32 inference ![demo](https://user-images.githubusercontent.com/11562617/72547657-540e7800-388d-11ea-83c6-49dfea2a0607.gif) diff --git a/src/NetworkRT.cpp b/src/NetworkRT.cpp index d1886be..6a8dabe 100644 --- a/src/NetworkRT.cpp +++ b/src/NetworkRT.cpp @@ -90,8 +90,8 @@ NetworkRT::NetworkRT(Network *net, const char *name) { * Each network is located in a folder with the same name as the network. * If the folder has a different name, the calibration table is saved in build/ folder. */ - std::string calib_table_name = "../tests/"+ net->networkName + "/" + net->networkNameRT.substr(0, net->networkNameRT.find('.')) + "-calibration.table"; - std::string calib_table_path = "../tests/"+ net->networkName; + std::string calib_table_name = net->networkName + "/" + net->networkNameRT.substr(0, net->networkNameRT.find('.')) + "-calibration.table"; + std::string calib_table_path = net->networkName; if(!fileExist((const char *)calib_table_path.c_str())) calib_table_name = "./" + net->networkNameRT.substr(0, net->networkNameRT.find('.')) + "-calibration.table"; diff --git a/src/utils.cpp b/src/utils.cpp index b196d1c..c678b15 100644 --- a/src/utils.cpp +++ b/src/utils.cpp @@ -22,9 +22,11 @@ bool fileExist(const char *fname) { void downloadWeightsifDoNotExist(const std::string& input_bin, const std::string& test_folder, const std::string& weights_url){ if(!fileExist(input_bin.c_str())){ + std::string mkdir_cmd = "mkdir " + test_folder; std::string wget_cmd = "wget " + weights_url + " -O " + test_folder + "/weights.zip"; std::string unzip_cmd = "unzip " + test_folder + "/weights.zip -d" + test_folder; std::string rm_cmd = "rm " + test_folder + "/weights.zip"; + system(mkdir_cmd.c_str()); system(wget_cmd.c_str()); system(unzip_cmd.c_str()); system(rm_cmd.c_str()); diff --git a/tests/csresnext50-panet-spp/csresnext50-panet-spp.cpp b/tests/csresnext50-panet-spp/csresnext50-panet-spp.cpp index 904df49..11a40ae 100644 --- a/tests/csresnext50-panet-spp/csresnext50-panet-spp.cpp +++ b/tests/csresnext50-panet-spp/csresnext50-panet-spp.cpp @@ -10,7 +10,7 @@ int main() tk::dnn::Network net(dim); // create csresnext50-panet-spp model - std::string bin_path = "../tests/csresnext50-panet-spp"; + std::string bin_path = "csresnext50-panet-spp"; int classes = 80; tk::dnn::Yolo *yolo[3]; diff --git a/tests/dla34/dla34.cpp b/tests/dla34/dla34.cpp index c878621..4440e44 100644 --- a/tests/dla34/dla34.cpp +++ b/tests/dla34/dla34.cpp @@ -1,50 +1,50 @@ #include #include "tkdnn.h" -const char *input_bin = "../tests/dla34/debug/input.bin"; -const char *conv1_bin = "../tests/dla34/layers/features-init_block-conv1-conv.bin"; -const char *conv2_bin = "../tests/dla34/layers/features-init_block-conv2-conv.bin"; -const char *conv3_bin = "../tests/dla34/layers/features-init_block-conv3-conv.bin"; +const char *input_bin = "dla34/debug/input.bin"; +const char *conv1_bin = "dla34/layers/features-init_block-conv1-conv.bin"; +const char *conv2_bin = "dla34/layers/features-init_block-conv2-conv.bin"; +const char *conv3_bin = "dla34/layers/features-init_block-conv3-conv.bin"; // s - stage, t - tree -const char *s1_t1_conv1_bin = "../tests/dla34/layers/features-stage1-tree1-body-conv1-conv.bin"; -const char *s1_t1_conv2_bin = "../tests/dla34/layers/features-stage1-tree1-body-conv2-conv.bin"; -const char *s1_t1_project = "../tests/dla34/layers/features-stage1-tree1-project_conv-conv.bin"; -const char *s1_t2_conv1_bin = "../tests/dla34/layers/features-stage1-tree2-body-conv1-conv.bin"; -const char *s1_t2_conv2_bin = "../tests/dla34/layers/features-stage1-tree2-body-conv2-conv.bin"; -const char *s1_root_conv1_bin = "../tests/dla34/layers/features-stage1-root-conv-conv.bin"; -const char *s2_t1_t1_conv1_bin = "../tests/dla34/layers/features-stage2-tree1-tree1-body-conv1-conv.bin"; -const char *s2_t1_t1_conv2_bin = "../tests/dla34/layers/features-stage2-tree1-tree1-body-conv2-conv.bin"; -const char *s2_t1_t1_project = "../tests/dla34/layers/features-stage2-tree1-tree1-project_conv-conv.bin"; -const char *s2_t1_t2_conv1_bin = "../tests/dla34/layers/features-stage2-tree1-tree2-body-conv1-conv.bin"; -const char *s2_t1_t2_conv2_bin = "../tests/dla34/layers/features-stage2-tree1-tree2-body-conv2-conv.bin"; -const char *s2_t1_root_conv1_bin = "../tests/dla34/layers/features-stage2-tree1-root-conv-conv.bin"; -const char *s2_t2_t1_conv1_bin = "../tests/dla34/layers/features-stage2-tree2-tree1-body-conv1-conv.bin"; -const char *s2_t2_t1_conv2_bin = "../tests/dla34/layers/features-stage2-tree2-tree1-body-conv2-conv.bin"; -const char *s2_t2_t2_conv1_bin = "../tests/dla34/layers/features-stage2-tree2-tree2-body-conv1-conv.bin"; -const char *s2_t2_t2_conv2_bin = "../tests/dla34/layers/features-stage2-tree2-tree2-body-conv2-conv.bin"; -const char *s2_t2_root_conv1_bin = "../tests/dla34/layers/features-stage2-tree2-root-conv-conv.bin"; -const char *s3_t1_t1_conv1_bin = "../tests/dla34/layers/features-stage3-tree1-tree1-body-conv1-conv.bin"; -const char *s3_t1_t1_conv2_bin = "../tests/dla34/layers/features-stage3-tree1-tree1-body-conv2-conv.bin"; -const char *s3_t1_t1_project = "../tests/dla34/layers/features-stage3-tree1-tree1-project_conv-conv.bin"; -const char *s3_t1_t2_conv1_bin = "../tests/dla34/layers/features-stage3-tree1-tree2-body-conv1-conv.bin"; -const char *s3_t1_t2_conv2_bin = "../tests/dla34/layers/features-stage3-tree1-tree2-body-conv2-conv.bin"; -const char *s3_t1_root_conv1_bin = "../tests/dla34/layers/features-stage3-tree1-root-conv-conv.bin"; -const char *s3_t2_t1_conv1_bin = "../tests/dla34/layers/features-stage3-tree2-tree1-body-conv1-conv.bin"; -const char *s3_t2_t1_conv2_bin = "../tests/dla34/layers/features-stage3-tree2-tree1-body-conv2-conv.bin"; -const char *s3_t2_t2_conv1_bin = "../tests/dla34/layers/features-stage3-tree2-tree2-body-conv1-conv.bin"; -const char *s3_t2_t2_conv2_bin = "../tests/dla34/layers/features-stage3-tree2-tree2-body-conv2-conv.bin"; -const char *s3_t2_root_conv1_bin = "../tests/dla34/layers/features-stage3-tree2-root-conv-conv.bin"; -const char *s4_t1_conv1_bin = "../tests/dla34/layers/features-stage4-tree1-body-conv1-conv.bin"; -const char *s4_t1_conv2_bin = "../tests/dla34/layers/features-stage4-tree1-body-conv2-conv.bin"; -const char *s4_t1_project = "../tests/dla34/layers/features-stage4-tree1-project_conv-conv.bin"; -const char *s4_t2_conv1_bin = "../tests/dla34/layers/features-stage4-tree2-body-conv1-conv.bin"; -const char *s4_t2_conv2_bin = "../tests/dla34/layers/features-stage4-tree2-body-conv2-conv.bin"; -const char *s4_root_conv1_bin = "../tests/dla34/layers/features-stage4-root-conv-conv.bin"; +const char *s1_t1_conv1_bin = "dla34/layers/features-stage1-tree1-body-conv1-conv.bin"; +const char *s1_t1_conv2_bin = "dla34/layers/features-stage1-tree1-body-conv2-conv.bin"; +const char *s1_t1_project = "dla34/layers/features-stage1-tree1-project_conv-conv.bin"; +const char *s1_t2_conv1_bin = "dla34/layers/features-stage1-tree2-body-conv1-conv.bin"; +const char *s1_t2_conv2_bin = "dla34/layers/features-stage1-tree2-body-conv2-conv.bin"; +const char *s1_root_conv1_bin = "dla34/layers/features-stage1-root-conv-conv.bin"; +const char *s2_t1_t1_conv1_bin = "dla34/layers/features-stage2-tree1-tree1-body-conv1-conv.bin"; +const char *s2_t1_t1_conv2_bin = "dla34/layers/features-stage2-tree1-tree1-body-conv2-conv.bin"; +const char *s2_t1_t1_project = "dla34/layers/features-stage2-tree1-tree1-project_conv-conv.bin"; +const char *s2_t1_t2_conv1_bin = "dla34/layers/features-stage2-tree1-tree2-body-conv1-conv.bin"; +const char *s2_t1_t2_conv2_bin = "dla34/layers/features-stage2-tree1-tree2-body-conv2-conv.bin"; +const char *s2_t1_root_conv1_bin = "dla34/layers/features-stage2-tree1-root-conv-conv.bin"; +const char *s2_t2_t1_conv1_bin = "dla34/layers/features-stage2-tree2-tree1-body-conv1-conv.bin"; +const char *s2_t2_t1_conv2_bin = "dla34/layers/features-stage2-tree2-tree1-body-conv2-conv.bin"; +const char *s2_t2_t2_conv1_bin = "dla34/layers/features-stage2-tree2-tree2-body-conv1-conv.bin"; +const char *s2_t2_t2_conv2_bin = "dla34/layers/features-stage2-tree2-tree2-body-conv2-conv.bin"; +const char *s2_t2_root_conv1_bin = "dla34/layers/features-stage2-tree2-root-conv-conv.bin"; +const char *s3_t1_t1_conv1_bin = "dla34/layers/features-stage3-tree1-tree1-body-conv1-conv.bin"; +const char *s3_t1_t1_conv2_bin = "dla34/layers/features-stage3-tree1-tree1-body-conv2-conv.bin"; +const char *s3_t1_t1_project = "dla34/layers/features-stage3-tree1-tree1-project_conv-conv.bin"; +const char *s3_t1_t2_conv1_bin = "dla34/layers/features-stage3-tree1-tree2-body-conv1-conv.bin"; +const char *s3_t1_t2_conv2_bin = "dla34/layers/features-stage3-tree1-tree2-body-conv2-conv.bin"; +const char *s3_t1_root_conv1_bin = "dla34/layers/features-stage3-tree1-root-conv-conv.bin"; +const char *s3_t2_t1_conv1_bin = "dla34/layers/features-stage3-tree2-tree1-body-conv1-conv.bin"; +const char *s3_t2_t1_conv2_bin = "dla34/layers/features-stage3-tree2-tree1-body-conv2-conv.bin"; +const char *s3_t2_t2_conv1_bin = "dla34/layers/features-stage3-tree2-tree2-body-conv1-conv.bin"; +const char *s3_t2_t2_conv2_bin = "dla34/layers/features-stage3-tree2-tree2-body-conv2-conv.bin"; +const char *s3_t2_root_conv1_bin = "dla34/layers/features-stage3-tree2-root-conv-conv.bin"; +const char *s4_t1_conv1_bin = "dla34/layers/features-stage4-tree1-body-conv1-conv.bin"; +const char *s4_t1_conv2_bin = "dla34/layers/features-stage4-tree1-body-conv2-conv.bin"; +const char *s4_t1_project = "dla34/layers/features-stage4-tree1-project_conv-conv.bin"; +const char *s4_t2_conv1_bin = "dla34/layers/features-stage4-tree2-body-conv1-conv.bin"; +const char *s4_t2_conv2_bin = "dla34/layers/features-stage4-tree2-body-conv2-conv.bin"; +const char *s4_root_conv1_bin = "dla34/layers/features-stage4-root-conv-conv.bin"; //final -const char *fc_bin = "../tests/dla34/layers/output.bin"; +const char *fc_bin = "dla34/layers/output.bin"; -const char *output_bin = "../tests/dla34/debug/output.bin"; +const char *output_bin = "dla34/debug/output.bin"; int main() { diff --git a/tests/dla34_cnet/dla34_cnet.cpp b/tests/dla34_cnet/dla34_cnet.cpp index d4d8923..1461094 100644 --- a/tests/dla34_cnet/dla34_cnet.cpp +++ b/tests/dla34_cnet/dla34_cnet.cpp @@ -1,109 +1,109 @@ #include #include "tkdnn.h" -const char *input_bin = "../tests/dla34_cnet/debug/input.bin"; -const char *conv1_bin = "../tests/dla34_cnet/layers/base-base_layer-0.bin"; -const char *conv2_bin = "../tests/dla34_cnet/layers/base-level0-0.bin"; -const char *conv3_bin = "../tests/dla34_cnet/layers/base-level1-0.bin"; +const char *input_bin = "dla34_cnet/debug/input.bin"; +const char *conv1_bin = "dla34_cnet/layers/base-base_layer-0.bin"; +const char *conv2_bin = "dla34_cnet/layers/base-level0-0.bin"; +const char *conv3_bin = "dla34_cnet/layers/base-level1-0.bin"; // s - stage, t - tree -const char *s1_t1_conv1_bin = "../tests/dla34_cnet/layers/base-level2-tree1-conv1.bin"; -const char *s1_t1_conv2_bin = "../tests/dla34_cnet/layers/base-level2-tree1-conv2.bin"; -const char *s1_t1_project = "../tests/dla34_cnet/layers/base-level2-project-0.bin"; -const char *s1_t2_conv1_bin = "../tests/dla34_cnet/layers/base-level2-tree2-conv1.bin"; -const char *s1_t2_conv2_bin = "../tests/dla34_cnet/layers/base-level2-tree2-conv2.bin"; -const char *s1_root_conv1_bin = "../tests/dla34_cnet/layers/base-level2-root-conv.bin"; -const char *s2_t1_t1_conv1_bin = "../tests/dla34_cnet/layers/base-level3-tree1-tree1-conv1.bin"; -const char *s2_t1_t1_conv2_bin = "../tests/dla34_cnet/layers/base-level3-tree1-tree1-conv2.bin"; -const char *s2_t1_t1_project = "../tests/dla34_cnet/layers/base-level3-tree1-project-0.bin"; -const char *s2_t1_t2_conv1_bin = "../tests/dla34_cnet/layers/base-level3-tree1-tree2-conv1.bin"; -const char *s2_t1_t2_conv2_bin = "../tests/dla34_cnet/layers/base-level3-tree1-tree2-conv2.bin"; -const char *s2_t1_root_conv1_bin = "../tests/dla34_cnet/layers/base-level3-tree1-root-conv.bin"; -const char *s2_t2_t1_conv1_bin = "../tests/dla34_cnet/layers/base-level3-tree2-tree1-conv1.bin"; -const char *s2_t2_t1_conv2_bin = "../tests/dla34_cnet/layers/base-level3-tree2-tree1-conv2.bin"; -const char *s2_t2_t2_conv1_bin = "../tests/dla34_cnet/layers/base-level3-tree2-tree2-conv1.bin"; -const char *s2_t2_t2_conv2_bin = "../tests/dla34_cnet/layers/base-level3-tree2-tree2-conv2.bin"; -const char *s2_t2_root_conv1_bin = "../tests/dla34_cnet/layers/base-level3-tree2-root-conv.bin"; -const char *s3_t1_t1_conv1_bin = "../tests/dla34_cnet/layers/base-level4-tree1-tree1-conv1.bin"; -const char *s3_t1_t1_conv2_bin = "../tests/dla34_cnet/layers/base-level4-tree1-tree1-conv2.bin"; -const char *s3_t1_t1_project = "../tests/dla34_cnet/layers/base-level4-tree1-project-0.bin"; -const char *s3_t1_t2_conv1_bin = "../tests/dla34_cnet/layers/base-level4-tree1-tree2-conv1.bin"; -const char *s3_t1_t2_conv2_bin = "../tests/dla34_cnet/layers/base-level4-tree1-tree2-conv2.bin"; -const char *s3_t1_root_conv1_bin = "../tests/dla34_cnet/layers/base-level4-tree1-root-conv.bin"; -const char *s3_t2_t1_conv1_bin = "../tests/dla34_cnet/layers/base-level4-tree2-tree1-conv1.bin"; -const char *s3_t2_t1_conv2_bin = "../tests/dla34_cnet/layers/base-level4-tree2-tree1-conv2.bin"; -const char *s3_t2_t2_conv1_bin = "../tests/dla34_cnet/layers/base-level4-tree2-tree2-conv1.bin"; -const char *s3_t2_t2_conv2_bin = "../tests/dla34_cnet/layers/base-level4-tree2-tree2-conv2.bin"; -const char *s3_t2_root_conv1_bin = "../tests/dla34_cnet/layers/base-level4-tree2-root-conv.bin"; -const char *s4_t1_conv1_bin = "../tests/dla34_cnet/layers/base-level5-tree1-conv1.bin"; -const char *s4_t1_conv2_bin = "../tests/dla34_cnet/layers/base-level5-tree1-conv2.bin"; -const char *s4_t1_project = "../tests/dla34_cnet/layers/base-level5-project-0.bin"; -const char *s4_t2_conv1_bin = "../tests/dla34_cnet/layers/base-level5-tree2-conv1.bin"; -const char *s4_t2_conv2_bin = "../tests/dla34_cnet/layers/base-level5-tree2-conv2.bin"; -const char *s4_root_conv1_bin = "../tests/dla34_cnet/layers/base-level5-root-conv.bin"; +const char *s1_t1_conv1_bin = "dla34_cnet/layers/base-level2-tree1-conv1.bin"; +const char *s1_t1_conv2_bin = "dla34_cnet/layers/base-level2-tree1-conv2.bin"; +const char *s1_t1_project = "dla34_cnet/layers/base-level2-project-0.bin"; +const char *s1_t2_conv1_bin = "dla34_cnet/layers/base-level2-tree2-conv1.bin"; +const char *s1_t2_conv2_bin = "dla34_cnet/layers/base-level2-tree2-conv2.bin"; +const char *s1_root_conv1_bin = "dla34_cnet/layers/base-level2-root-conv.bin"; +const char *s2_t1_t1_conv1_bin = "dla34_cnet/layers/base-level3-tree1-tree1-conv1.bin"; +const char *s2_t1_t1_conv2_bin = "dla34_cnet/layers/base-level3-tree1-tree1-conv2.bin"; +const char *s2_t1_t1_project = "dla34_cnet/layers/base-level3-tree1-project-0.bin"; +const char *s2_t1_t2_conv1_bin = "dla34_cnet/layers/base-level3-tree1-tree2-conv1.bin"; +const char *s2_t1_t2_conv2_bin = "dla34_cnet/layers/base-level3-tree1-tree2-conv2.bin"; +const char *s2_t1_root_conv1_bin = "dla34_cnet/layers/base-level3-tree1-root-conv.bin"; +const char *s2_t2_t1_conv1_bin = "dla34_cnet/layers/base-level3-tree2-tree1-conv1.bin"; +const char *s2_t2_t1_conv2_bin = "dla34_cnet/layers/base-level3-tree2-tree1-conv2.bin"; +const char *s2_t2_t2_conv1_bin = "dla34_cnet/layers/base-level3-tree2-tree2-conv1.bin"; +const char *s2_t2_t2_conv2_bin = "dla34_cnet/layers/base-level3-tree2-tree2-conv2.bin"; +const char *s2_t2_root_conv1_bin = "dla34_cnet/layers/base-level3-tree2-root-conv.bin"; +const char *s3_t1_t1_conv1_bin = "dla34_cnet/layers/base-level4-tree1-tree1-conv1.bin"; +const char *s3_t1_t1_conv2_bin = "dla34_cnet/layers/base-level4-tree1-tree1-conv2.bin"; +const char *s3_t1_t1_project = "dla34_cnet/layers/base-level4-tree1-project-0.bin"; +const char *s3_t1_t2_conv1_bin = "dla34_cnet/layers/base-level4-tree1-tree2-conv1.bin"; +const char *s3_t1_t2_conv2_bin = "dla34_cnet/layers/base-level4-tree1-tree2-conv2.bin"; +const char *s3_t1_root_conv1_bin = "dla34_cnet/layers/base-level4-tree1-root-conv.bin"; +const char *s3_t2_t1_conv1_bin = "dla34_cnet/layers/base-level4-tree2-tree1-conv1.bin"; +const char *s3_t2_t1_conv2_bin = "dla34_cnet/layers/base-level4-tree2-tree1-conv2.bin"; +const char *s3_t2_t2_conv1_bin = "dla34_cnet/layers/base-level4-tree2-tree2-conv1.bin"; +const char *s3_t2_t2_conv2_bin = "dla34_cnet/layers/base-level4-tree2-tree2-conv2.bin"; +const char *s3_t2_root_conv1_bin = "dla34_cnet/layers/base-level4-tree2-root-conv.bin"; +const char *s4_t1_conv1_bin = "dla34_cnet/layers/base-level5-tree1-conv1.bin"; +const char *s4_t1_conv2_bin = "dla34_cnet/layers/base-level5-tree1-conv2.bin"; +const char *s4_t1_project = "dla34_cnet/layers/base-level5-project-0.bin"; +const char *s4_t2_conv1_bin = "dla34_cnet/layers/base-level5-tree2-conv1.bin"; +const char *s4_t2_conv2_bin = "dla34_cnet/layers/base-level5-tree2-conv2.bin"; +const char *s4_root_conv1_bin = "dla34_cnet/layers/base-level5-root-conv.bin"; //final -// const char *fc_bin = "../tests/dla34_cnet/layers/output.bin"; +// const char *fc_bin = "dla34_cnet/layers/output.bin"; -const char *ida_0_p_1_dcn_bin = "../tests/dla34_cnet/layers/dla_up-ida_0-proj_1-conv.bin"; -const char *ida_0_p_1_conv_bin = "../tests/dla34_cnet/layers/dla_up-ida_0-proj_1-conv-conv_offset_mask.bin"; -const char *ida_0_up_1_deconv_bin = "../tests/dla34_cnet/layers/dla_up-ida_0-up_1.bin"; -const char *ida_0_n_1_dcn_bin = "../tests/dla34_cnet/layers/dla_up-ida_0-node_1-conv.bin"; -const char *ida_0_n_1_conv_bin = "../tests/dla34_cnet/layers/dla_up-ida_0-node_1-conv-conv_offset_mask.bin"; +const char *ida_0_p_1_dcn_bin = "dla34_cnet/layers/dla_up-ida_0-proj_1-conv.bin"; +const char *ida_0_p_1_conv_bin = "dla34_cnet/layers/dla_up-ida_0-proj_1-conv-conv_offset_mask.bin"; +const char *ida_0_up_1_deconv_bin = "dla34_cnet/layers/dla_up-ida_0-up_1.bin"; +const char *ida_0_n_1_dcn_bin = "dla34_cnet/layers/dla_up-ida_0-node_1-conv.bin"; +const char *ida_0_n_1_conv_bin = "dla34_cnet/layers/dla_up-ida_0-node_1-conv-conv_offset_mask.bin"; -const char *ida_1_p_1_dcn_bin = "../tests/dla34_cnet/layers/dla_up-ida_1-proj_1-conv.bin"; -const char *ida_1_p_1_conv_bin = "../tests/dla34_cnet/layers/dla_up-ida_1-proj_1-conv-conv_offset_mask.bin"; -const char *ida_1_up_1_deconv_bin = "../tests/dla34_cnet/layers/dla_up-ida_1-up_1.bin"; -const char *ida_1_n_1_dcn_bin = "../tests/dla34_cnet/layers/dla_up-ida_1-node_1-conv.bin"; -const char *ida_1_n_1_conv_bin = "../tests/dla34_cnet/layers/dla_up-ida_1-node_1-conv-conv_offset_mask.bin"; -const char *ida_1_p_2_dcn_bin = "../tests/dla34_cnet/layers/dla_up-ida_1-proj_2-conv.bin"; -const char *ida_1_p_2_conv_bin = "../tests/dla34_cnet/layers/dla_up-ida_1-proj_2-conv-conv_offset_mask.bin"; -const char *ida_1_up_2_deconv_bin = "../tests/dla34_cnet/layers/dla_up-ida_1-up_2.bin"; -const char *ida_1_n_2_dcn_bin = "../tests/dla34_cnet/layers/dla_up-ida_1-node_2-conv.bin"; -const char *ida_1_n_2_conv_bin = "../tests/dla34_cnet/layers/dla_up-ida_1-node_2-conv-conv_offset_mask.bin"; +const char *ida_1_p_1_dcn_bin = "dla34_cnet/layers/dla_up-ida_1-proj_1-conv.bin"; +const char *ida_1_p_1_conv_bin = "dla34_cnet/layers/dla_up-ida_1-proj_1-conv-conv_offset_mask.bin"; +const char *ida_1_up_1_deconv_bin = "dla34_cnet/layers/dla_up-ida_1-up_1.bin"; +const char *ida_1_n_1_dcn_bin = "dla34_cnet/layers/dla_up-ida_1-node_1-conv.bin"; +const char *ida_1_n_1_conv_bin = "dla34_cnet/layers/dla_up-ida_1-node_1-conv-conv_offset_mask.bin"; +const char *ida_1_p_2_dcn_bin = "dla34_cnet/layers/dla_up-ida_1-proj_2-conv.bin"; +const char *ida_1_p_2_conv_bin = "dla34_cnet/layers/dla_up-ida_1-proj_2-conv-conv_offset_mask.bin"; +const char *ida_1_up_2_deconv_bin = "dla34_cnet/layers/dla_up-ida_1-up_2.bin"; +const char *ida_1_n_2_dcn_bin = "dla34_cnet/layers/dla_up-ida_1-node_2-conv.bin"; +const char *ida_1_n_2_conv_bin = "dla34_cnet/layers/dla_up-ida_1-node_2-conv-conv_offset_mask.bin"; -const char *ida_2_p_1_dcn_bin = "../tests/dla34_cnet/layers/dla_up-ida_2-proj_1-conv.bin"; -const char *ida_2_p_1_conv_bin = "../tests/dla34_cnet/layers/dla_up-ida_2-proj_1-conv-conv_offset_mask.bin"; -const char *ida_2_up_1_deconv_bin = "../tests/dla34_cnet/layers/dla_up-ida_2-up_1.bin"; -const char *ida_2_n_1_dcn_bin = "../tests/dla34_cnet/layers/dla_up-ida_2-node_1-conv.bin"; -const char *ida_2_n_1_conv_bin = "../tests/dla34_cnet/layers/dla_up-ida_2-node_1-conv-conv_offset_mask.bin"; -const char *ida_2_p_2_dcn_bin = "../tests/dla34_cnet/layers/dla_up-ida_2-proj_2-conv.bin"; -const char *ida_2_p_2_conv_bin = "../tests/dla34_cnet/layers/dla_up-ida_2-proj_2-conv-conv_offset_mask.bin"; -const char *ida_2_up_2_deconv_bin = "../tests/dla34_cnet/layers/dla_up-ida_2-up_2.bin"; -const char *ida_2_n_2_dcn_bin = "../tests/dla34_cnet/layers/dla_up-ida_2-node_2-conv.bin"; -const char *ida_2_n_2_conv_bin = "../tests/dla34_cnet/layers/dla_up-ida_2-node_2-conv-conv_offset_mask.bin"; -const char *ida_2_p_3_dcn_bin = "../tests/dla34_cnet/layers/dla_up-ida_2-proj_3-conv.bin"; -const char *ida_2_p_3_conv_bin = "../tests/dla34_cnet/layers/dla_up-ida_2-proj_3-conv-conv_offset_mask.bin"; -const char *ida_2_up_3_deconv_bin = "../tests/dla34_cnet/layers/dla_up-ida_2-up_3.bin"; -const char *ida_2_n_3_dcn_bin = "../tests/dla34_cnet/layers/dla_up-ida_2-node_3-conv.bin"; -const char *ida_2_n_3_conv_bin = "../tests/dla34_cnet/layers/dla_up-ida_2-node_3-conv-conv_offset_mask.bin"; +const char *ida_2_p_1_dcn_bin = "dla34_cnet/layers/dla_up-ida_2-proj_1-conv.bin"; +const char *ida_2_p_1_conv_bin = "dla34_cnet/layers/dla_up-ida_2-proj_1-conv-conv_offset_mask.bin"; +const char *ida_2_up_1_deconv_bin = "dla34_cnet/layers/dla_up-ida_2-up_1.bin"; +const char *ida_2_n_1_dcn_bin = "dla34_cnet/layers/dla_up-ida_2-node_1-conv.bin"; +const char *ida_2_n_1_conv_bin = "dla34_cnet/layers/dla_up-ida_2-node_1-conv-conv_offset_mask.bin"; +const char *ida_2_p_2_dcn_bin = "dla34_cnet/layers/dla_up-ida_2-proj_2-conv.bin"; +const char *ida_2_p_2_conv_bin = "dla34_cnet/layers/dla_up-ida_2-proj_2-conv-conv_offset_mask.bin"; +const char *ida_2_up_2_deconv_bin = "dla34_cnet/layers/dla_up-ida_2-up_2.bin"; +const char *ida_2_n_2_dcn_bin = "dla34_cnet/layers/dla_up-ida_2-node_2-conv.bin"; +const char *ida_2_n_2_conv_bin = "dla34_cnet/layers/dla_up-ida_2-node_2-conv-conv_offset_mask.bin"; +const char *ida_2_p_3_dcn_bin = "dla34_cnet/layers/dla_up-ida_2-proj_3-conv.bin"; +const char *ida_2_p_3_conv_bin = "dla34_cnet/layers/dla_up-ida_2-proj_3-conv-conv_offset_mask.bin"; +const char *ida_2_up_3_deconv_bin = "dla34_cnet/layers/dla_up-ida_2-up_3.bin"; +const char *ida_2_n_3_dcn_bin = "dla34_cnet/layers/dla_up-ida_2-node_3-conv.bin"; +const char *ida_2_n_3_conv_bin = "dla34_cnet/layers/dla_up-ida_2-node_3-conv-conv_offset_mask.bin"; -const char *ida_up_p_1_dcn_bin = "../tests/dla34_cnet/layers/ida_up-proj_1-conv.bin"; -const char *ida_up_p_1_conv_bin = "../tests/dla34_cnet/layers/ida_up-proj_1-conv-conv_offset_mask.bin"; -const char *ida_up_up_1_deconv_bin = "../tests/dla34_cnet/layers/ida_up-up_1.bin"; -const char *ida_up_n_1_dcn_bin = "../tests/dla34_cnet/layers/ida_up-node_1-conv.bin"; -const char *ida_up_n_1_conv_bin = "../tests/dla34_cnet/layers/ida_up-node_1-conv-conv_offset_mask.bin"; -const char *ida_up_p_2_dcn_bin = "../tests/dla34_cnet/layers/ida_up-proj_2-conv.bin"; -const char *ida_up_p_2_conv_bin = "../tests/dla34_cnet/layers/ida_up-proj_2-conv-conv_offset_mask.bin"; -const char *ida_up_up_2_deconv_bin = "../tests/dla34_cnet/layers/ida_up-up_2.bin"; -const char *ida_up_n_2_dcn_bin = "../tests/dla34_cnet/layers/ida_up-node_2-conv.bin"; -const char *ida_up_n_2_conv_bin = "../tests/dla34_cnet/layers/ida_up-node_2-conv-conv_offset_mask.bin"; +const char *ida_up_p_1_dcn_bin = "dla34_cnet/layers/ida_up-proj_1-conv.bin"; +const char *ida_up_p_1_conv_bin = "dla34_cnet/layers/ida_up-proj_1-conv-conv_offset_mask.bin"; +const char *ida_up_up_1_deconv_bin = "dla34_cnet/layers/ida_up-up_1.bin"; +const char *ida_up_n_1_dcn_bin = "dla34_cnet/layers/ida_up-node_1-conv.bin"; +const char *ida_up_n_1_conv_bin = "dla34_cnet/layers/ida_up-node_1-conv-conv_offset_mask.bin"; +const char *ida_up_p_2_dcn_bin = "dla34_cnet/layers/ida_up-proj_2-conv.bin"; +const char *ida_up_p_2_conv_bin = "dla34_cnet/layers/ida_up-proj_2-conv-conv_offset_mask.bin"; +const char *ida_up_up_2_deconv_bin = "dla34_cnet/layers/ida_up-up_2.bin"; +const char *ida_up_n_2_dcn_bin = "dla34_cnet/layers/ida_up-node_2-conv.bin"; +const char *ida_up_n_2_conv_bin = "dla34_cnet/layers/ida_up-node_2-conv-conv_offset_mask.bin"; -const char *hm_conv1_bin = "../tests/dla34_cnet/layers/hm-0.bin"; -const char *hm_conv2_bin = "../tests/dla34_cnet/layers/hm-2.bin"; -const char *wh_conv1_bin = "../tests/dla34_cnet/layers/wh-0.bin"; -const char *wh_conv2_bin = "../tests/dla34_cnet/layers/wh-2.bin"; -const char *reg_conv1_bin = "../tests/dla34_cnet/layers/reg-0.bin"; -const char *reg_conv2_bin = "../tests/dla34_cnet/layers/reg-2.bin"; +const char *hm_conv1_bin = "dla34_cnet/layers/hm-0.bin"; +const char *hm_conv2_bin = "dla34_cnet/layers/hm-2.bin"; +const char *wh_conv1_bin = "dla34_cnet/layers/wh-0.bin"; +const char *wh_conv2_bin = "dla34_cnet/layers/wh-2.bin"; +const char *reg_conv1_bin = "dla34_cnet/layers/reg-0.bin"; +const char *reg_conv2_bin = "dla34_cnet/layers/reg-2.bin"; const char *output_bin[]={ -"../tests/dla34_cnet/debug/hm.bin", -"../tests/dla34_cnet/debug/wh.bin", -"../tests/dla34_cnet/debug/reg.bin"}; +"dla34_cnet/debug/hm.bin", +"dla34_cnet/debug/wh.bin", +"dla34_cnet/debug/reg.bin"}; int main() { - downloadWeightsifDoNotExist(input_bin, "../tests/dla34_cnet", "https://cloud.hipert.unimore.it/s/KRZBbCQsKAtQwpZ/download"); + downloadWeightsifDoNotExist(input_bin, "dla34_cnet", "https://cloud.hipert.unimore.it/s/KRZBbCQsKAtQwpZ/download"); // Network layout tk::dnn::dataDim_t dim(1, 3, 512, 512, 1); diff --git a/tests/imuodom/imuodom.cpp b/tests/imuodom/imuodom.cpp index 98ab1be..9682f15 100644 --- a/tests/imuodom/imuodom.cpp +++ b/tests/imuodom/imuodom.cpp @@ -1,30 +1,30 @@ #include #include "tkDNN/ImuOdom.h" -const char *i0_bin = "../tests/imuodom/layers/input0.bin"; -const char *i1_bin = "../tests/imuodom/layers/input1.bin"; -const char *i2_bin = "../tests/imuodom/layers/input2.bin"; -const char *o0_bin = "../tests/imuodom/layers/output0.bin"; -const char *o1_bin = "../tests/imuodom/layers/output1.bin"; +const char *i0_bin = "imuodom/layers/input0.bin"; +const char *i1_bin = "imuodom/layers/input1.bin"; +const char *i2_bin = "imuodom/layers/input2.bin"; +const char *o0_bin = "imuodom/layers/output0.bin"; +const char *o1_bin = "imuodom/layers/output1.bin"; -const char *c0_bin = "../tests/imuodom/layers/conv1d_7.bin"; -const char *c1_bin = "../tests/imuodom/layers/conv1d_8.bin"; -const char *c2_bin = "../tests/imuodom/layers/conv1d_9.bin"; -const char *c3_bin = "../tests/imuodom/layers/conv1d_10.bin"; -const char *c4_bin = "../tests/imuodom/layers/conv1d_11.bin"; -const char *c5_bin = "../tests/imuodom/layers/conv1d_12.bin"; -const char *l0_bin = "../tests/imuodom/layers/bidirectional_3.bin"; -const char *l1_bin = "../tests/imuodom/layers/bidirectional_4.bin"; -const char *d0_bin = "../tests/imuodom/layers/dense_3.bin"; -const char *d1_bin = "../tests/imuodom/layers/dense_4.bin"; +const char *c0_bin = "imuodom/layers/conv1d_7.bin"; +const char *c1_bin = "imuodom/layers/conv1d_8.bin"; +const char *c2_bin = "imuodom/layers/conv1d_9.bin"; +const char *c3_bin = "imuodom/layers/conv1d_10.bin"; +const char *c4_bin = "imuodom/layers/conv1d_11.bin"; +const char *c5_bin = "imuodom/layers/conv1d_12.bin"; +const char *l0_bin = "imuodom/layers/bidirectional_3.bin"; +const char *l1_bin = "imuodom/layers/bidirectional_4.bin"; +const char *d0_bin = "imuodom/layers/dense_3.bin"; +const char *d1_bin = "imuodom/layers/dense_4.bin"; int main() { - downloadWeightsifDoNotExist(i0_bin, "../tests/imuodom", "https://cloud.hipert.unimore.it/s/ZAy34K5w2ixED6x/download"); + downloadWeightsifDoNotExist(i0_bin, "imuodom", "https://cloud.hipert.unimore.it/s/ZAy34K5w2ixED6x/download"); tk::dnn::ImuOdom ImuNet; - ImuNet.init("../tests/imuodom/layers/"); + ImuNet.init("imuodom/layers/"); const int N = 10000; //19513; diff --git a/tests/mnist/test_mnist.cpp b/tests/mnist/test_mnist.cpp index 9c2f6e9..5aa39bb 100644 --- a/tests/mnist/test_mnist.cpp +++ b/tests/mnist/test_mnist.cpp @@ -1,16 +1,16 @@ #include #include "tkdnn.h" -const char *input_bin = "../tests/mnist/input.bin"; -const char *c0_bin = "../tests/mnist/layers/c0.bin"; -const char *c1_bin = "../tests/mnist/layers/c1.bin"; -const char *d2_bin = "../tests/mnist/layers/d2.bin"; -const char *d3_bin = "../tests/mnist/layers/d3.bin"; -const char *output_bin = "../tests/mnist/output.bin"; +const char *input_bin = "mnist/input.bin"; +const char *c0_bin = "mnist/layers/c0.bin"; +const char *c1_bin = "mnist/layers/c1.bin"; +const char *d2_bin = "mnist/layers/d2.bin"; +const char *d3_bin = "mnist/layers/d3.bin"; +const char *output_bin = "mnist/output.bin"; int main() { - downloadWeightsifDoNotExist(input_bin, "../tests/mnist", "https://cloud.hipert.unimore.it/s/2TyQkMJL3LArLAS/download"); + downloadWeightsifDoNotExist(input_bin, "mnist", "https://cloud.hipert.unimore.it/s/2TyQkMJL3LArLAS/download"); // Network layout tk::dnn::dataDim_t dim(1, 1, 28, 28, 1); diff --git a/tests/mnist/test_mnistRT.cpp b/tests/mnist/test_mnistRT.cpp index 802b540..be1dc08 100644 --- a/tests/mnist/test_mnistRT.cpp +++ b/tests/mnist/test_mnistRT.cpp @@ -3,12 +3,12 @@ #include "tkdnn.h" #include "NvInfer.h" -const char *input_bin = "../tests/mnist/input.bin"; -const char *c0_bin = "../tests/mnist/layers/c0.bin"; -const char *c1_bin = "../tests/mnist/layers/c1.bin"; -const char *d2_bin = "../tests/mnist/layers/d2.bin"; -const char *d3_bin = "../tests/mnist/layers/d3.bin"; -const char *output_bin = "../tests/mnist/output.bin"; +const char *input_bin = "mnist/input.bin"; +const char *c0_bin = "mnist/layers/c0.bin"; +const char *c1_bin = "mnist/layers/c1.bin"; +const char *d2_bin = "mnist/layers/d2.bin"; +const char *d3_bin = "mnist/layers/d3.bin"; +const char *output_bin = "mnist/output.bin"; using namespace nvinfer1; @@ -25,7 +25,7 @@ class Logger : public ILogger int main() { - downloadWeightsifDoNotExist(input_bin, "../tests/mnist", "https://cloud.hipert.unimore.it/s/2TyQkMJL3LArLAS/download"); + downloadWeightsifDoNotExist(input_bin, "mnist", "https://cloud.hipert.unimore.it/s/2TyQkMJL3LArLAS/download"); std::cout<<"\n==== CUDNN ====\n"; // Network layout diff --git a/tests/mobilenetv2ssd/mobilenetv2ssd.cpp b/tests/mobilenetv2ssd/mobilenetv2ssd.cpp index 883d05a..787341f 100644 --- a/tests/mobilenetv2ssd/mobilenetv2ssd.cpp +++ b/tests/mobilenetv2ssd/mobilenetv2ssd.cpp @@ -2,139 +2,139 @@ #include "tkdnn.h" -const char *output_bin1 = "../tests/mobilenetv2ssd/debug/classification_headers-5.bin"; -const char *output_bin2 = "../tests/mobilenetv2ssd/debug/regression_headers-5.bin"; -const char *input_bin = "../tests/mobilenetv2ssd/debug/input.bin"; +const char *output_bin1 = "mobilenetv2ssd/debug/classification_headers-5.bin"; +const char *output_bin2 = "mobilenetv2ssd/debug/regression_headers-5.bin"; +const char *input_bin = "mobilenetv2ssd/debug/input.bin"; -const char *conv0_bin = "../tests/mobilenetv2ssd/layers/base_net-0-0.bin"; +const char *conv0_bin = "mobilenetv2ssd/layers/base_net-0-0.bin"; const char *inverted_residual1[] = { - "../tests/mobilenetv2ssd/layers/base_net-1-conv-0.bin", - "../tests/mobilenetv2ssd/layers/base_net-1-conv-3.bin"}; + "mobilenetv2ssd/layers/base_net-1-conv-0.bin", + "mobilenetv2ssd/layers/base_net-1-conv-3.bin"}; const char *inverted_residual2[] = { - "../tests/mobilenetv2ssd/layers/base_net-2-conv-0.bin", - "../tests/mobilenetv2ssd/layers/base_net-2-conv-3.bin", - "../tests/mobilenetv2ssd/layers/base_net-2-conv-6.bin"}; + "mobilenetv2ssd/layers/base_net-2-conv-0.bin", + "mobilenetv2ssd/layers/base_net-2-conv-3.bin", + "mobilenetv2ssd/layers/base_net-2-conv-6.bin"}; const char *inverted_residual3[] = { - "../tests/mobilenetv2ssd/layers/base_net-3-conv-0.bin", - "../tests/mobilenetv2ssd/layers/base_net-3-conv-3.bin", - "../tests/mobilenetv2ssd/layers/base_net-3-conv-6.bin"}; + "mobilenetv2ssd/layers/base_net-3-conv-0.bin", + "mobilenetv2ssd/layers/base_net-3-conv-3.bin", + "mobilenetv2ssd/layers/base_net-3-conv-6.bin"}; const char *inverted_residual4[] = { - "../tests/mobilenetv2ssd/layers/base_net-4-conv-0.bin", - "../tests/mobilenetv2ssd/layers/base_net-4-conv-3.bin", - "../tests/mobilenetv2ssd/layers/base_net-4-conv-6.bin"}; + "mobilenetv2ssd/layers/base_net-4-conv-0.bin", + "mobilenetv2ssd/layers/base_net-4-conv-3.bin", + "mobilenetv2ssd/layers/base_net-4-conv-6.bin"}; const char *inverted_residual5[] = { - "../tests/mobilenetv2ssd/layers/base_net-5-conv-0.bin", - "../tests/mobilenetv2ssd/layers/base_net-5-conv-3.bin", - "../tests/mobilenetv2ssd/layers/base_net-5-conv-6.bin"}; + "mobilenetv2ssd/layers/base_net-5-conv-0.bin", + "mobilenetv2ssd/layers/base_net-5-conv-3.bin", + "mobilenetv2ssd/layers/base_net-5-conv-6.bin"}; const char *inverted_residual6[] = { - "../tests/mobilenetv2ssd/layers/base_net-6-conv-0.bin", - "../tests/mobilenetv2ssd/layers/base_net-6-conv-3.bin", - "../tests/mobilenetv2ssd/layers/base_net-6-conv-6.bin"}; + "mobilenetv2ssd/layers/base_net-6-conv-0.bin", + "mobilenetv2ssd/layers/base_net-6-conv-3.bin", + "mobilenetv2ssd/layers/base_net-6-conv-6.bin"}; const char *inverted_residual7[] = { - "../tests/mobilenetv2ssd/layers/base_net-7-conv-0.bin", - "../tests/mobilenetv2ssd/layers/base_net-7-conv-3.bin", - "../tests/mobilenetv2ssd/layers/base_net-7-conv-6.bin"}; + "mobilenetv2ssd/layers/base_net-7-conv-0.bin", + "mobilenetv2ssd/layers/base_net-7-conv-3.bin", + "mobilenetv2ssd/layers/base_net-7-conv-6.bin"}; const char *inverted_residual8[] = { - "../tests/mobilenetv2ssd/layers/base_net-8-conv-0.bin", - "../tests/mobilenetv2ssd/layers/base_net-8-conv-3.bin", - "../tests/mobilenetv2ssd/layers/base_net-8-conv-6.bin"}; + "mobilenetv2ssd/layers/base_net-8-conv-0.bin", + "mobilenetv2ssd/layers/base_net-8-conv-3.bin", + "mobilenetv2ssd/layers/base_net-8-conv-6.bin"}; const char *inverted_residual9[] = { - "../tests/mobilenetv2ssd/layers/base_net-9-conv-0.bin", - "../tests/mobilenetv2ssd/layers/base_net-9-conv-3.bin", - "../tests/mobilenetv2ssd/layers/base_net-9-conv-6.bin"}; + "mobilenetv2ssd/layers/base_net-9-conv-0.bin", + "mobilenetv2ssd/layers/base_net-9-conv-3.bin", + "mobilenetv2ssd/layers/base_net-9-conv-6.bin"}; const char *inverted_residual10[] = { - "../tests/mobilenetv2ssd/layers/base_net-10-conv-0.bin", - "../tests/mobilenetv2ssd/layers/base_net-10-conv-3.bin", - "../tests/mobilenetv2ssd/layers/base_net-10-conv-6.bin"}; + "mobilenetv2ssd/layers/base_net-10-conv-0.bin", + "mobilenetv2ssd/layers/base_net-10-conv-3.bin", + "mobilenetv2ssd/layers/base_net-10-conv-6.bin"}; const char *inverted_residual11[] = { - "../tests/mobilenetv2ssd/layers/base_net-11-conv-0.bin", - "../tests/mobilenetv2ssd/layers/base_net-11-conv-3.bin", - "../tests/mobilenetv2ssd/layers/base_net-11-conv-6.bin"}; + "mobilenetv2ssd/layers/base_net-11-conv-0.bin", + "mobilenetv2ssd/layers/base_net-11-conv-3.bin", + "mobilenetv2ssd/layers/base_net-11-conv-6.bin"}; const char *inverted_residual12[] = { - "../tests/mobilenetv2ssd/layers/base_net-12-conv-0.bin", - "../tests/mobilenetv2ssd/layers/base_net-12-conv-3.bin", - "../tests/mobilenetv2ssd/layers/base_net-12-conv-6.bin"}; + "mobilenetv2ssd/layers/base_net-12-conv-0.bin", + "mobilenetv2ssd/layers/base_net-12-conv-3.bin", + "mobilenetv2ssd/layers/base_net-12-conv-6.bin"}; const char *inverted_residual13[] = { - "../tests/mobilenetv2ssd/layers/base_net-13-conv-0.bin", - "../tests/mobilenetv2ssd/layers/base_net-13-conv-3.bin", - "../tests/mobilenetv2ssd/layers/base_net-13-conv-6.bin"}; + "mobilenetv2ssd/layers/base_net-13-conv-0.bin", + "mobilenetv2ssd/layers/base_net-13-conv-3.bin", + "mobilenetv2ssd/layers/base_net-13-conv-6.bin"}; const char *inverted_residual14[] = { - "../tests/mobilenetv2ssd/layers/base_net-14-conv-0.bin", - "../tests/mobilenetv2ssd/layers/base_net-14-conv-3.bin", - "../tests/mobilenetv2ssd/layers/base_net-14-conv-6.bin"}; + "mobilenetv2ssd/layers/base_net-14-conv-0.bin", + "mobilenetv2ssd/layers/base_net-14-conv-3.bin", + "mobilenetv2ssd/layers/base_net-14-conv-6.bin"}; const char *inverted_residual15[] = { - "../tests/mobilenetv2ssd/layers/base_net-15-conv-0.bin", - "../tests/mobilenetv2ssd/layers/base_net-15-conv-3.bin", - "../tests/mobilenetv2ssd/layers/base_net-15-conv-6.bin"}; + "mobilenetv2ssd/layers/base_net-15-conv-0.bin", + "mobilenetv2ssd/layers/base_net-15-conv-3.bin", + "mobilenetv2ssd/layers/base_net-15-conv-6.bin"}; const char *inverted_residual16[] = { - "../tests/mobilenetv2ssd/layers/base_net-16-conv-0.bin", - "../tests/mobilenetv2ssd/layers/base_net-16-conv-3.bin", - "../tests/mobilenetv2ssd/layers/base_net-16-conv-6.bin"}; + "mobilenetv2ssd/layers/base_net-16-conv-0.bin", + "mobilenetv2ssd/layers/base_net-16-conv-3.bin", + "mobilenetv2ssd/layers/base_net-16-conv-6.bin"}; const char *inverted_residual17[] = { - "../tests/mobilenetv2ssd/layers/base_net-17-conv-0.bin", - "../tests/mobilenetv2ssd/layers/base_net-17-conv-3.bin", - "../tests/mobilenetv2ssd/layers/base_net-17-conv-6.bin"}; + "mobilenetv2ssd/layers/base_net-17-conv-0.bin", + "mobilenetv2ssd/layers/base_net-17-conv-3.bin", + "mobilenetv2ssd/layers/base_net-17-conv-6.bin"}; -const char *conv18 = "../tests/mobilenetv2ssd/layers/base_net-18-0.bin"; +const char *conv18 = "mobilenetv2ssd/layers/base_net-18-0.bin"; const char *extras0[] = { - "../tests/mobilenetv2ssd/layers/extras-0-conv-0.bin", - "../tests/mobilenetv2ssd/layers/extras-0-conv-3.bin", - "../tests/mobilenetv2ssd/layers/extras-0-conv-6.bin"}; + "mobilenetv2ssd/layers/extras-0-conv-0.bin", + "mobilenetv2ssd/layers/extras-0-conv-3.bin", + "mobilenetv2ssd/layers/extras-0-conv-6.bin"}; const char *extras1[] = { - "../tests/mobilenetv2ssd/layers/extras-1-conv-0.bin", - "../tests/mobilenetv2ssd/layers/extras-1-conv-3.bin", - "../tests/mobilenetv2ssd/layers/extras-1-conv-6.bin"}; + "mobilenetv2ssd/layers/extras-1-conv-0.bin", + "mobilenetv2ssd/layers/extras-1-conv-3.bin", + "mobilenetv2ssd/layers/extras-1-conv-6.bin"}; const char *extras2[] = { - "../tests/mobilenetv2ssd/layers/extras-2-conv-0.bin", - "../tests/mobilenetv2ssd/layers/extras-2-conv-3.bin", - "../tests/mobilenetv2ssd/layers/extras-2-conv-6.bin"}; + "mobilenetv2ssd/layers/extras-2-conv-0.bin", + "mobilenetv2ssd/layers/extras-2-conv-3.bin", + "mobilenetv2ssd/layers/extras-2-conv-6.bin"}; const char *extras3[] = { - "../tests/mobilenetv2ssd/layers/extras-3-conv-0.bin", - "../tests/mobilenetv2ssd/layers/extras-3-conv-3.bin", - "../tests/mobilenetv2ssd/layers/extras-3-conv-6.bin"}; + "mobilenetv2ssd/layers/extras-3-conv-0.bin", + "mobilenetv2ssd/layers/extras-3-conv-3.bin", + "mobilenetv2ssd/layers/extras-3-conv-6.bin"}; const char *classification_header0[] = { - "../tests/mobilenetv2ssd/layers/classification_headers-0-0.bin", - "../tests/mobilenetv2ssd/layers/classification_headers-0-3.bin"}; + "mobilenetv2ssd/layers/classification_headers-0-0.bin", + "mobilenetv2ssd/layers/classification_headers-0-3.bin"}; const char *classification_header1[] = { - "../tests/mobilenetv2ssd/layers/classification_headers-1-0.bin", - "../tests/mobilenetv2ssd/layers/classification_headers-1-3.bin"}; + "mobilenetv2ssd/layers/classification_headers-1-0.bin", + "mobilenetv2ssd/layers/classification_headers-1-3.bin"}; const char *classification_header2[] = { - "../tests/mobilenetv2ssd/layers/classification_headers-2-0.bin", - "../tests/mobilenetv2ssd/layers/classification_headers-2-3.bin"}; + "mobilenetv2ssd/layers/classification_headers-2-0.bin", + "mobilenetv2ssd/layers/classification_headers-2-3.bin"}; const char *classification_header3[] = { - "../tests/mobilenetv2ssd/layers/classification_headers-3-0.bin", - "../tests/mobilenetv2ssd/layers/classification_headers-3-3.bin"}; + "mobilenetv2ssd/layers/classification_headers-3-0.bin", + "mobilenetv2ssd/layers/classification_headers-3-3.bin"}; const char *classification_header4[] = { - "../tests/mobilenetv2ssd/layers/classification_headers-4-0.bin", - "../tests/mobilenetv2ssd/layers/classification_headers-4-3.bin"}; + "mobilenetv2ssd/layers/classification_headers-4-0.bin", + "mobilenetv2ssd/layers/classification_headers-4-3.bin"}; -const char *classification_header5 = "../tests/mobilenetv2ssd/layers/classification_headers-5.bin"; +const char *classification_header5 = "mobilenetv2ssd/layers/classification_headers-5.bin"; const char *regression_header0[] = { - "../tests/mobilenetv2ssd/layers/regression_headers-0-0.bin", - "../tests/mobilenetv2ssd/layers/regression_headers-0-3.bin"}; + "mobilenetv2ssd/layers/regression_headers-0-0.bin", + "mobilenetv2ssd/layers/regression_headers-0-3.bin"}; const char *regression_header1[] = { - "../tests/mobilenetv2ssd/layers/regression_headers-1-0.bin", - "../tests/mobilenetv2ssd/layers/regression_headers-1-3.bin"}; + "mobilenetv2ssd/layers/regression_headers-1-0.bin", + "mobilenetv2ssd/layers/regression_headers-1-3.bin"}; const char *regression_header2[] = { - "../tests/mobilenetv2ssd/layers/regression_headers-2-0.bin", - "../tests/mobilenetv2ssd/layers/regression_headers-2-3.bin"}; + "mobilenetv2ssd/layers/regression_headers-2-0.bin", + "mobilenetv2ssd/layers/regression_headers-2-3.bin"}; const char *regression_header3[] = { - "../tests/mobilenetv2ssd/layers/regression_headers-3-0.bin", - "../tests/mobilenetv2ssd/layers/regression_headers-3-3.bin"}; + "mobilenetv2ssd/layers/regression_headers-3-0.bin", + "mobilenetv2ssd/layers/regression_headers-3-3.bin"}; const char *regression_header4[] = { - "../tests/mobilenetv2ssd/layers/regression_headers-4-0.bin", - "../tests/mobilenetv2ssd/layers/regression_headers-4-3.bin"}; + "mobilenetv2ssd/layers/regression_headers-4-0.bin", + "mobilenetv2ssd/layers/regression_headers-4-3.bin"}; -const char *regression_header5 = "../tests/mobilenetv2ssd/layers/regression_headers-5.bin"; +const char *regression_header5 = "mobilenetv2ssd/layers/regression_headers-5.bin"; int main() { - downloadWeightsifDoNotExist(input_bin, "../tests/mobilenetv2ssd", "https://cloud.hipert.unimore.it/s/x4ZfxBKN23zAJQp/download"); + downloadWeightsifDoNotExist(input_bin, "mobilenetv2ssd", "https://cloud.hipert.unimore.it/s/x4ZfxBKN23zAJQp/download"); int classes = 21; diff --git a/tests/mobilenetv2ssd512/mobilenetv2ssd512.cpp b/tests/mobilenetv2ssd512/mobilenetv2ssd512.cpp index 4fb530a..8886232 100644 --- a/tests/mobilenetv2ssd512/mobilenetv2ssd512.cpp +++ b/tests/mobilenetv2ssd512/mobilenetv2ssd512.cpp @@ -2,139 +2,139 @@ #include "tkdnn.h" -const char *output_bin1 = "../tests/mobilenetv2ssd512/debug/classification_headers-5.bin"; -const char *output_bin2 = "../tests/mobilenetv2ssd512/debug/regression_headers-5.bin"; -const char *input_bin = "../tests/mobilenetv2ssd512/debug/input.bin"; +const char *output_bin1 = "mobilenetv2ssd512/debug/classification_headers-5.bin"; +const char *output_bin2 = "mobilenetv2ssd512/debug/regression_headers-5.bin"; +const char *input_bin = "mobilenetv2ssd512/debug/input.bin"; -const char *conv0_bin = "../tests/mobilenetv2ssd512/layers/base_net-0-0.bin"; +const char *conv0_bin = "mobilenetv2ssd512/layers/base_net-0-0.bin"; const char *inverted_residual1[] = { - "../tests/mobilenetv2ssd512/layers/base_net-1-conv-0.bin", - "../tests/mobilenetv2ssd512/layers/base_net-1-conv-3.bin"}; + "mobilenetv2ssd512/layers/base_net-1-conv-0.bin", + "mobilenetv2ssd512/layers/base_net-1-conv-3.bin"}; const char *inverted_residual2[] = { - "../tests/mobilenetv2ssd512/layers/base_net-2-conv-0.bin", - "../tests/mobilenetv2ssd512/layers/base_net-2-conv-3.bin", - "../tests/mobilenetv2ssd512/layers/base_net-2-conv-6.bin"}; + "mobilenetv2ssd512/layers/base_net-2-conv-0.bin", + "mobilenetv2ssd512/layers/base_net-2-conv-3.bin", + "mobilenetv2ssd512/layers/base_net-2-conv-6.bin"}; const char *inverted_residual3[] = { - "../tests/mobilenetv2ssd512/layers/base_net-3-conv-0.bin", - "../tests/mobilenetv2ssd512/layers/base_net-3-conv-3.bin", - "../tests/mobilenetv2ssd512/layers/base_net-3-conv-6.bin"}; + "mobilenetv2ssd512/layers/base_net-3-conv-0.bin", + "mobilenetv2ssd512/layers/base_net-3-conv-3.bin", + "mobilenetv2ssd512/layers/base_net-3-conv-6.bin"}; const char *inverted_residual4[] = { - "../tests/mobilenetv2ssd512/layers/base_net-4-conv-0.bin", - "../tests/mobilenetv2ssd512/layers/base_net-4-conv-3.bin", - "../tests/mobilenetv2ssd512/layers/base_net-4-conv-6.bin"}; + "mobilenetv2ssd512/layers/base_net-4-conv-0.bin", + "mobilenetv2ssd512/layers/base_net-4-conv-3.bin", + "mobilenetv2ssd512/layers/base_net-4-conv-6.bin"}; const char *inverted_residual5[] = { - "../tests/mobilenetv2ssd512/layers/base_net-5-conv-0.bin", - "../tests/mobilenetv2ssd512/layers/base_net-5-conv-3.bin", - "../tests/mobilenetv2ssd512/layers/base_net-5-conv-6.bin"}; + "mobilenetv2ssd512/layers/base_net-5-conv-0.bin", + "mobilenetv2ssd512/layers/base_net-5-conv-3.bin", + "mobilenetv2ssd512/layers/base_net-5-conv-6.bin"}; const char *inverted_residual6[] = { - "../tests/mobilenetv2ssd512/layers/base_net-6-conv-0.bin", - "../tests/mobilenetv2ssd512/layers/base_net-6-conv-3.bin", - "../tests/mobilenetv2ssd512/layers/base_net-6-conv-6.bin"}; + "mobilenetv2ssd512/layers/base_net-6-conv-0.bin", + "mobilenetv2ssd512/layers/base_net-6-conv-3.bin", + "mobilenetv2ssd512/layers/base_net-6-conv-6.bin"}; const char *inverted_residual7[] = { - "../tests/mobilenetv2ssd512/layers/base_net-7-conv-0.bin", - "../tests/mobilenetv2ssd512/layers/base_net-7-conv-3.bin", - "../tests/mobilenetv2ssd512/layers/base_net-7-conv-6.bin"}; + "mobilenetv2ssd512/layers/base_net-7-conv-0.bin", + "mobilenetv2ssd512/layers/base_net-7-conv-3.bin", + "mobilenetv2ssd512/layers/base_net-7-conv-6.bin"}; const char *inverted_residual8[] = { - "../tests/mobilenetv2ssd512/layers/base_net-8-conv-0.bin", - "../tests/mobilenetv2ssd512/layers/base_net-8-conv-3.bin", - "../tests/mobilenetv2ssd512/layers/base_net-8-conv-6.bin"}; + "mobilenetv2ssd512/layers/base_net-8-conv-0.bin", + "mobilenetv2ssd512/layers/base_net-8-conv-3.bin", + "mobilenetv2ssd512/layers/base_net-8-conv-6.bin"}; const char *inverted_residual9[] = { - "../tests/mobilenetv2ssd512/layers/base_net-9-conv-0.bin", - "../tests/mobilenetv2ssd512/layers/base_net-9-conv-3.bin", - "../tests/mobilenetv2ssd512/layers/base_net-9-conv-6.bin"}; + "mobilenetv2ssd512/layers/base_net-9-conv-0.bin", + "mobilenetv2ssd512/layers/base_net-9-conv-3.bin", + "mobilenetv2ssd512/layers/base_net-9-conv-6.bin"}; const char *inverted_residual10[] = { - "../tests/mobilenetv2ssd512/layers/base_net-10-conv-0.bin", - "../tests/mobilenetv2ssd512/layers/base_net-10-conv-3.bin", - "../tests/mobilenetv2ssd512/layers/base_net-10-conv-6.bin"}; + "mobilenetv2ssd512/layers/base_net-10-conv-0.bin", + "mobilenetv2ssd512/layers/base_net-10-conv-3.bin", + "mobilenetv2ssd512/layers/base_net-10-conv-6.bin"}; const char *inverted_residual11[] = { - "../tests/mobilenetv2ssd512/layers/base_net-11-conv-0.bin", - "../tests/mobilenetv2ssd512/layers/base_net-11-conv-3.bin", - "../tests/mobilenetv2ssd512/layers/base_net-11-conv-6.bin"}; + "mobilenetv2ssd512/layers/base_net-11-conv-0.bin", + "mobilenetv2ssd512/layers/base_net-11-conv-3.bin", + "mobilenetv2ssd512/layers/base_net-11-conv-6.bin"}; const char *inverted_residual12[] = { - "../tests/mobilenetv2ssd512/layers/base_net-12-conv-0.bin", - "../tests/mobilenetv2ssd512/layers/base_net-12-conv-3.bin", - "../tests/mobilenetv2ssd512/layers/base_net-12-conv-6.bin"}; + "mobilenetv2ssd512/layers/base_net-12-conv-0.bin", + "mobilenetv2ssd512/layers/base_net-12-conv-3.bin", + "mobilenetv2ssd512/layers/base_net-12-conv-6.bin"}; const char *inverted_residual13[] = { - "../tests/mobilenetv2ssd512/layers/base_net-13-conv-0.bin", - "../tests/mobilenetv2ssd512/layers/base_net-13-conv-3.bin", - "../tests/mobilenetv2ssd512/layers/base_net-13-conv-6.bin"}; + "mobilenetv2ssd512/layers/base_net-13-conv-0.bin", + "mobilenetv2ssd512/layers/base_net-13-conv-3.bin", + "mobilenetv2ssd512/layers/base_net-13-conv-6.bin"}; const char *inverted_residual14[] = { - "../tests/mobilenetv2ssd512/layers/base_net-14-conv-0.bin", - "../tests/mobilenetv2ssd512/layers/base_net-14-conv-3.bin", - "../tests/mobilenetv2ssd512/layers/base_net-14-conv-6.bin"}; + "mobilenetv2ssd512/layers/base_net-14-conv-0.bin", + "mobilenetv2ssd512/layers/base_net-14-conv-3.bin", + "mobilenetv2ssd512/layers/base_net-14-conv-6.bin"}; const char *inverted_residual15[] = { - "../tests/mobilenetv2ssd512/layers/base_net-15-conv-0.bin", - "../tests/mobilenetv2ssd512/layers/base_net-15-conv-3.bin", - "../tests/mobilenetv2ssd512/layers/base_net-15-conv-6.bin"}; + "mobilenetv2ssd512/layers/base_net-15-conv-0.bin", + "mobilenetv2ssd512/layers/base_net-15-conv-3.bin", + "mobilenetv2ssd512/layers/base_net-15-conv-6.bin"}; const char *inverted_residual16[] = { - "../tests/mobilenetv2ssd512/layers/base_net-16-conv-0.bin", - "../tests/mobilenetv2ssd512/layers/base_net-16-conv-3.bin", - "../tests/mobilenetv2ssd512/layers/base_net-16-conv-6.bin"}; + "mobilenetv2ssd512/layers/base_net-16-conv-0.bin", + "mobilenetv2ssd512/layers/base_net-16-conv-3.bin", + "mobilenetv2ssd512/layers/base_net-16-conv-6.bin"}; const char *inverted_residual17[] = { - "../tests/mobilenetv2ssd512/layers/base_net-17-conv-0.bin", - "../tests/mobilenetv2ssd512/layers/base_net-17-conv-3.bin", - "../tests/mobilenetv2ssd512/layers/base_net-17-conv-6.bin"}; + "mobilenetv2ssd512/layers/base_net-17-conv-0.bin", + "mobilenetv2ssd512/layers/base_net-17-conv-3.bin", + "mobilenetv2ssd512/layers/base_net-17-conv-6.bin"}; -const char *conv18 = "../tests/mobilenetv2ssd512/layers/base_net-18-0.bin"; +const char *conv18 = "mobilenetv2ssd512/layers/base_net-18-0.bin"; const char *extras0[] = { - "../tests/mobilenetv2ssd512/layers/extras-0-conv-0.bin", - "../tests/mobilenetv2ssd512/layers/extras-0-conv-3.bin", - "../tests/mobilenetv2ssd512/layers/extras-0-conv-6.bin"}; + "mobilenetv2ssd512/layers/extras-0-conv-0.bin", + "mobilenetv2ssd512/layers/extras-0-conv-3.bin", + "mobilenetv2ssd512/layers/extras-0-conv-6.bin"}; const char *extras1[] = { - "../tests/mobilenetv2ssd512/layers/extras-1-conv-0.bin", - "../tests/mobilenetv2ssd512/layers/extras-1-conv-3.bin", - "../tests/mobilenetv2ssd512/layers/extras-1-conv-6.bin"}; + "mobilenetv2ssd512/layers/extras-1-conv-0.bin", + "mobilenetv2ssd512/layers/extras-1-conv-3.bin", + "mobilenetv2ssd512/layers/extras-1-conv-6.bin"}; const char *extras2[] = { - "../tests/mobilenetv2ssd512/layers/extras-2-conv-0.bin", - "../tests/mobilenetv2ssd512/layers/extras-2-conv-3.bin", - "../tests/mobilenetv2ssd512/layers/extras-2-conv-6.bin"}; + "mobilenetv2ssd512/layers/extras-2-conv-0.bin", + "mobilenetv2ssd512/layers/extras-2-conv-3.bin", + "mobilenetv2ssd512/layers/extras-2-conv-6.bin"}; const char *extras3[] = { - "../tests/mobilenetv2ssd512/layers/extras-3-conv-0.bin", - "../tests/mobilenetv2ssd512/layers/extras-3-conv-3.bin", - "../tests/mobilenetv2ssd512/layers/extras-3-conv-6.bin"}; + "mobilenetv2ssd512/layers/extras-3-conv-0.bin", + "mobilenetv2ssd512/layers/extras-3-conv-3.bin", + "mobilenetv2ssd512/layers/extras-3-conv-6.bin"}; const char *classification_header0[] = { - "../tests/mobilenetv2ssd512/layers/classification_headers-0-0.bin", - "../tests/mobilenetv2ssd512/layers/classification_headers-0-3.bin"}; + "mobilenetv2ssd512/layers/classification_headers-0-0.bin", + "mobilenetv2ssd512/layers/classification_headers-0-3.bin"}; const char *classification_header1[] = { - "../tests/mobilenetv2ssd512/layers/classification_headers-1-0.bin", - "../tests/mobilenetv2ssd512/layers/classification_headers-1-3.bin"}; + "mobilenetv2ssd512/layers/classification_headers-1-0.bin", + "mobilenetv2ssd512/layers/classification_headers-1-3.bin"}; const char *classification_header2[] = { - "../tests/mobilenetv2ssd512/layers/classification_headers-2-0.bin", - "../tests/mobilenetv2ssd512/layers/classification_headers-2-3.bin"}; + "mobilenetv2ssd512/layers/classification_headers-2-0.bin", + "mobilenetv2ssd512/layers/classification_headers-2-3.bin"}; const char *classification_header3[] = { - "../tests/mobilenetv2ssd512/layers/classification_headers-3-0.bin", - "../tests/mobilenetv2ssd512/layers/classification_headers-3-3.bin"}; + "mobilenetv2ssd512/layers/classification_headers-3-0.bin", + "mobilenetv2ssd512/layers/classification_headers-3-3.bin"}; const char *classification_header4[] = { - "../tests/mobilenetv2ssd512/layers/classification_headers-4-0.bin", - "../tests/mobilenetv2ssd512/layers/classification_headers-4-3.bin"}; + "mobilenetv2ssd512/layers/classification_headers-4-0.bin", + "mobilenetv2ssd512/layers/classification_headers-4-3.bin"}; -const char *classification_header5 = "../tests/mobilenetv2ssd512/layers/classification_headers-5.bin"; +const char *classification_header5 = "mobilenetv2ssd512/layers/classification_headers-5.bin"; const char *regression_header0[] = { - "../tests/mobilenetv2ssd512/layers/regression_headers-0-0.bin", - "../tests/mobilenetv2ssd512/layers/regression_headers-0-3.bin"}; + "mobilenetv2ssd512/layers/regression_headers-0-0.bin", + "mobilenetv2ssd512/layers/regression_headers-0-3.bin"}; const char *regression_header1[] = { - "../tests/mobilenetv2ssd512/layers/regression_headers-1-0.bin", - "../tests/mobilenetv2ssd512/layers/regression_headers-1-3.bin"}; + "mobilenetv2ssd512/layers/regression_headers-1-0.bin", + "mobilenetv2ssd512/layers/regression_headers-1-3.bin"}; const char *regression_header2[] = { - "../tests/mobilenetv2ssd512/layers/regression_headers-2-0.bin", - "../tests/mobilenetv2ssd512/layers/regression_headers-2-3.bin"}; + "mobilenetv2ssd512/layers/regression_headers-2-0.bin", + "mobilenetv2ssd512/layers/regression_headers-2-3.bin"}; const char *regression_header3[] = { - "../tests/mobilenetv2ssd512/layers/regression_headers-3-0.bin", - "../tests/mobilenetv2ssd512/layers/regression_headers-3-3.bin"}; + "mobilenetv2ssd512/layers/regression_headers-3-0.bin", + "mobilenetv2ssd512/layers/regression_headers-3-3.bin"}; const char *regression_header4[] = { - "../tests/mobilenetv2ssd512/layers/regression_headers-4-0.bin", - "../tests/mobilenetv2ssd512/layers/regression_headers-4-3.bin"}; + "mobilenetv2ssd512/layers/regression_headers-4-0.bin", + "mobilenetv2ssd512/layers/regression_headers-4-3.bin"}; -const char *regression_header5 = "../tests/mobilenetv2ssd512/layers/regression_headers-5.bin"; +const char *regression_header5 = "mobilenetv2ssd512/layers/regression_headers-5.bin"; int main() { - downloadWeightsifDoNotExist(input_bin, "../tests/mobilenetv2ssd512", "https://cloud.hipert.unimore.it/s/pdCw2dYyHMJrcEM/download"); + downloadWeightsifDoNotExist(input_bin, "mobilenetv2ssd512", "https://cloud.hipert.unimore.it/s/pdCw2dYyHMJrcEM/download"); int classes = 81; diff --git a/tests/resnet101/resnet101.cpp b/tests/resnet101/resnet101.cpp index a0febd7..5bb6784 100644 --- a/tests/resnet101/resnet101.cpp +++ b/tests/resnet101/resnet101.cpp @@ -1,159 +1,159 @@ #include #include "tkdnn.h" -const char *input_bin = "../tests/resnet101/debug/input.bin"; -const char *conv1_bin = "../tests/resnet101/layers/conv1.bin"; +const char *input_bin = "resnet101/debug/input.bin"; +const char *conv1_bin = "resnet101/layers/conv1.bin"; //layer1 const char *layer1_bin[]={ -"../tests/resnet101/layers/layer1-0-conv1.bin", -"../tests/resnet101/layers/layer1-0-conv2.bin", -"../tests/resnet101/layers/layer1-0-conv3.bin", -"../tests/resnet101/layers/layer1-0-downsample-0.bin", +"resnet101/layers/layer1-0-conv1.bin", +"resnet101/layers/layer1-0-conv2.bin", +"resnet101/layers/layer1-0-conv3.bin", +"resnet101/layers/layer1-0-downsample-0.bin", -"../tests/resnet101/layers/layer1-1-conv1.bin", -"../tests/resnet101/layers/layer1-1-conv2.bin", -"../tests/resnet101/layers/layer1-1-conv3.bin", +"resnet101/layers/layer1-1-conv1.bin", +"resnet101/layers/layer1-1-conv2.bin", +"resnet101/layers/layer1-1-conv3.bin", -"../tests/resnet101/layers/layer1-2-conv1.bin", -"../tests/resnet101/layers/layer1-2-conv2.bin", -"../tests/resnet101/layers/layer1-2-conv3.bin"}; +"resnet101/layers/layer1-2-conv1.bin", +"resnet101/layers/layer1-2-conv2.bin", +"resnet101/layers/layer1-2-conv3.bin"}; //layer2 const char *layer2_bin[]={ -"../tests/resnet101/layers/layer2-0-conv1.bin", -"../tests/resnet101/layers/layer2-0-conv2.bin", -"../tests/resnet101/layers/layer2-0-conv3.bin", -"../tests/resnet101/layers/layer2-0-downsample-0.bin", +"resnet101/layers/layer2-0-conv1.bin", +"resnet101/layers/layer2-0-conv2.bin", +"resnet101/layers/layer2-0-conv3.bin", +"resnet101/layers/layer2-0-downsample-0.bin", -"../tests/resnet101/layers/layer2-1-conv1.bin", -"../tests/resnet101/layers/layer2-1-conv2.bin", -"../tests/resnet101/layers/layer2-1-conv3.bin", +"resnet101/layers/layer2-1-conv1.bin", +"resnet101/layers/layer2-1-conv2.bin", +"resnet101/layers/layer2-1-conv3.bin", -"../tests/resnet101/layers/layer2-2-conv1.bin", -"../tests/resnet101/layers/layer2-2-conv2.bin", -"../tests/resnet101/layers/layer2-2-conv3.bin", +"resnet101/layers/layer2-2-conv1.bin", +"resnet101/layers/layer2-2-conv2.bin", +"resnet101/layers/layer2-2-conv3.bin", -"../tests/resnet101/layers/layer2-3-conv1.bin", -"../tests/resnet101/layers/layer2-3-conv2.bin", -"../tests/resnet101/layers/layer2-3-conv3.bin" +"resnet101/layers/layer2-3-conv1.bin", +"resnet101/layers/layer2-3-conv2.bin", +"resnet101/layers/layer2-3-conv3.bin" }; //layer3 const char *layer3_bin[]={ -"../tests/resnet101/layers/layer3-0-conv1.bin", -"../tests/resnet101/layers/layer3-0-conv2.bin", -"../tests/resnet101/layers/layer3-0-conv3.bin", -"../tests/resnet101/layers/layer3-0-downsample-0.bin", +"resnet101/layers/layer3-0-conv1.bin", +"resnet101/layers/layer3-0-conv2.bin", +"resnet101/layers/layer3-0-conv3.bin", +"resnet101/layers/layer3-0-downsample-0.bin", -"../tests/resnet101/layers/layer3-1-conv1.bin", -"../tests/resnet101/layers/layer3-1-conv2.bin", -"../tests/resnet101/layers/layer3-1-conv3.bin", +"resnet101/layers/layer3-1-conv1.bin", +"resnet101/layers/layer3-1-conv2.bin", +"resnet101/layers/layer3-1-conv3.bin", -"../tests/resnet101/layers/layer3-2-conv1.bin", -"../tests/resnet101/layers/layer3-2-conv2.bin", -"../tests/resnet101/layers/layer3-2-conv3.bin", +"resnet101/layers/layer3-2-conv1.bin", +"resnet101/layers/layer3-2-conv2.bin", +"resnet101/layers/layer3-2-conv3.bin", -"../tests/resnet101/layers/layer3-3-conv1.bin", -"../tests/resnet101/layers/layer3-3-conv2.bin", -"../tests/resnet101/layers/layer3-3-conv3.bin", +"resnet101/layers/layer3-3-conv1.bin", +"resnet101/layers/layer3-3-conv2.bin", +"resnet101/layers/layer3-3-conv3.bin", -"../tests/resnet101/layers/layer3-4-conv1.bin", -"../tests/resnet101/layers/layer3-4-conv2.bin", -"../tests/resnet101/layers/layer3-4-conv3.bin", +"resnet101/layers/layer3-4-conv1.bin", +"resnet101/layers/layer3-4-conv2.bin", +"resnet101/layers/layer3-4-conv3.bin", -"../tests/resnet101/layers/layer3-5-conv1.bin", -"../tests/resnet101/layers/layer3-5-conv2.bin", -"../tests/resnet101/layers/layer3-5-conv3.bin", +"resnet101/layers/layer3-5-conv1.bin", +"resnet101/layers/layer3-5-conv2.bin", +"resnet101/layers/layer3-5-conv3.bin", -"../tests/resnet101/layers/layer3-6-conv1.bin", -"../tests/resnet101/layers/layer3-6-conv2.bin", -"../tests/resnet101/layers/layer3-6-conv3.bin", +"resnet101/layers/layer3-6-conv1.bin", +"resnet101/layers/layer3-6-conv2.bin", +"resnet101/layers/layer3-6-conv3.bin", -"../tests/resnet101/layers/layer3-7-conv1.bin", -"../tests/resnet101/layers/layer3-7-conv2.bin", -"../tests/resnet101/layers/layer3-7-conv3.bin", +"resnet101/layers/layer3-7-conv1.bin", +"resnet101/layers/layer3-7-conv2.bin", +"resnet101/layers/layer3-7-conv3.bin", -"../tests/resnet101/layers/layer3-8-conv1.bin", -"../tests/resnet101/layers/layer3-8-conv2.bin", -"../tests/resnet101/layers/layer3-8-conv3.bin", +"resnet101/layers/layer3-8-conv1.bin", +"resnet101/layers/layer3-8-conv2.bin", +"resnet101/layers/layer3-8-conv3.bin", -"../tests/resnet101/layers/layer3-9-conv1.bin", -"../tests/resnet101/layers/layer3-9-conv2.bin", -"../tests/resnet101/layers/layer3-9-conv3.bin", +"resnet101/layers/layer3-9-conv1.bin", +"resnet101/layers/layer3-9-conv2.bin", +"resnet101/layers/layer3-9-conv3.bin", -"../tests/resnet101/layers/layer3-10-conv1.bin", -"../tests/resnet101/layers/layer3-10-conv2.bin", -"../tests/resnet101/layers/layer3-10-conv3.bin", +"resnet101/layers/layer3-10-conv1.bin", +"resnet101/layers/layer3-10-conv2.bin", +"resnet101/layers/layer3-10-conv3.bin", -"../tests/resnet101/layers/layer3-11-conv1.bin", -"../tests/resnet101/layers/layer3-11-conv2.bin", -"../tests/resnet101/layers/layer3-11-conv3.bin", +"resnet101/layers/layer3-11-conv1.bin", +"resnet101/layers/layer3-11-conv2.bin", +"resnet101/layers/layer3-11-conv3.bin", -"../tests/resnet101/layers/layer3-12-conv1.bin", -"../tests/resnet101/layers/layer3-12-conv2.bin", -"../tests/resnet101/layers/layer3-12-conv3.bin", +"resnet101/layers/layer3-12-conv1.bin", +"resnet101/layers/layer3-12-conv2.bin", +"resnet101/layers/layer3-12-conv3.bin", -"../tests/resnet101/layers/layer3-13-conv1.bin", -"../tests/resnet101/layers/layer3-13-conv2.bin", -"../tests/resnet101/layers/layer3-13-conv3.bin", +"resnet101/layers/layer3-13-conv1.bin", +"resnet101/layers/layer3-13-conv2.bin", +"resnet101/layers/layer3-13-conv3.bin", -"../tests/resnet101/layers/layer3-14-conv1.bin", -"../tests/resnet101/layers/layer3-14-conv2.bin", -"../tests/resnet101/layers/layer3-14-conv3.bin", +"resnet101/layers/layer3-14-conv1.bin", +"resnet101/layers/layer3-14-conv2.bin", +"resnet101/layers/layer3-14-conv3.bin", -"../tests/resnet101/layers/layer3-15-conv1.bin", -"../tests/resnet101/layers/layer3-15-conv2.bin", -"../tests/resnet101/layers/layer3-15-conv3.bin", +"resnet101/layers/layer3-15-conv1.bin", +"resnet101/layers/layer3-15-conv2.bin", +"resnet101/layers/layer3-15-conv3.bin", -"../tests/resnet101/layers/layer3-16-conv1.bin", -"../tests/resnet101/layers/layer3-16-conv2.bin", -"../tests/resnet101/layers/layer3-16-conv3.bin", +"resnet101/layers/layer3-16-conv1.bin", +"resnet101/layers/layer3-16-conv2.bin", +"resnet101/layers/layer3-16-conv3.bin", -"../tests/resnet101/layers/layer3-17-conv1.bin", -"../tests/resnet101/layers/layer3-17-conv2.bin", -"../tests/resnet101/layers/layer3-17-conv3.bin", +"resnet101/layers/layer3-17-conv1.bin", +"resnet101/layers/layer3-17-conv2.bin", +"resnet101/layers/layer3-17-conv3.bin", -"../tests/resnet101/layers/layer3-18-conv1.bin", -"../tests/resnet101/layers/layer3-18-conv2.bin", -"../tests/resnet101/layers/layer3-18-conv3.bin", +"resnet101/layers/layer3-18-conv1.bin", +"resnet101/layers/layer3-18-conv2.bin", +"resnet101/layers/layer3-18-conv3.bin", -"../tests/resnet101/layers/layer3-19-conv1.bin", -"../tests/resnet101/layers/layer3-19-conv2.bin", -"../tests/resnet101/layers/layer3-19-conv3.bin", +"resnet101/layers/layer3-19-conv1.bin", +"resnet101/layers/layer3-19-conv2.bin", +"resnet101/layers/layer3-19-conv3.bin", -"../tests/resnet101/layers/layer3-20-conv1.bin", -"../tests/resnet101/layers/layer3-20-conv2.bin", -"../tests/resnet101/layers/layer3-20-conv3.bin", +"resnet101/layers/layer3-20-conv1.bin", +"resnet101/layers/layer3-20-conv2.bin", +"resnet101/layers/layer3-20-conv3.bin", -"../tests/resnet101/layers/layer3-21-conv1.bin", -"../tests/resnet101/layers/layer3-21-conv2.bin", -"../tests/resnet101/layers/layer3-21-conv3.bin", +"resnet101/layers/layer3-21-conv1.bin", +"resnet101/layers/layer3-21-conv2.bin", +"resnet101/layers/layer3-21-conv3.bin", -"../tests/resnet101/layers/layer3-22-conv1.bin", -"../tests/resnet101/layers/layer3-22-conv2.bin", -"../tests/resnet101/layers/layer3-22-conv3.bin"}; +"resnet101/layers/layer3-22-conv1.bin", +"resnet101/layers/layer3-22-conv2.bin", +"resnet101/layers/layer3-22-conv3.bin"}; //layer4 const char *layer4_bin[]={ -"../tests/resnet101/layers/layer4-0-conv1.bin", -"../tests/resnet101/layers/layer4-0-conv2.bin", -"../tests/resnet101/layers/layer4-0-conv3.bin", -"../tests/resnet101/layers/layer4-0-downsample-0.bin", +"resnet101/layers/layer4-0-conv1.bin", +"resnet101/layers/layer4-0-conv2.bin", +"resnet101/layers/layer4-0-conv3.bin", +"resnet101/layers/layer4-0-downsample-0.bin", -"../tests/resnet101/layers/layer4-1-conv1.bin", -"../tests/resnet101/layers/layer4-1-conv2.bin", -"../tests/resnet101/layers/layer4-1-conv3.bin", +"resnet101/layers/layer4-1-conv1.bin", +"resnet101/layers/layer4-1-conv2.bin", +"resnet101/layers/layer4-1-conv3.bin", -"../tests/resnet101/layers/layer4-2-conv1.bin", -"../tests/resnet101/layers/layer4-2-conv2.bin", -"../tests/resnet101/layers/layer4-2-conv3.bin"}; +"resnet101/layers/layer4-2-conv1.bin", +"resnet101/layers/layer4-2-conv2.bin", +"resnet101/layers/layer4-2-conv3.bin"}; //final -const char *fc_bin = "../tests/resnet101/layers/fc.bin"; +const char *fc_bin = "resnet101/layers/fc.bin"; -const char *output_bin = "../tests/resnet101/debug/fc.bin"; +const char *output_bin = "resnet101/debug/fc.bin"; int main() { diff --git a/tests/resnet101_cnet/resnet101_cnet.cpp b/tests/resnet101_cnet/resnet101_cnet.cpp index cc4682c..d48043b 100644 --- a/tests/resnet101_cnet/resnet101_cnet.cpp +++ b/tests/resnet101_cnet/resnet101_cnet.cpp @@ -8,184 +8,184 @@ #include // std::sort // #include "utils.h" -const char *input_bin = "../tests/resnet101_cnet/debug/input.bin"; -const char *conv1_bin = "../tests/resnet101_cnet/layers/conv1.bin"; +const char *input_bin = "resnet101_cnet/debug/input.bin"; +const char *conv1_bin = "resnet101_cnet/layers/conv1.bin"; //layer1 const char *layer1_bin[]={ -"../tests/resnet101_cnet/layers/layer1-0-conv1.bin", -"../tests/resnet101_cnet/layers/layer1-0-conv2.bin", -"../tests/resnet101_cnet/layers/layer1-0-conv3.bin", -"../tests/resnet101_cnet/layers/layer1-0-downsample-0.bin", +"resnet101_cnet/layers/layer1-0-conv1.bin", +"resnet101_cnet/layers/layer1-0-conv2.bin", +"resnet101_cnet/layers/layer1-0-conv3.bin", +"resnet101_cnet/layers/layer1-0-downsample-0.bin", -"../tests/resnet101_cnet/layers/layer1-1-conv1.bin", -"../tests/resnet101_cnet/layers/layer1-1-conv2.bin", -"../tests/resnet101_cnet/layers/layer1-1-conv3.bin", +"resnet101_cnet/layers/layer1-1-conv1.bin", +"resnet101_cnet/layers/layer1-1-conv2.bin", +"resnet101_cnet/layers/layer1-1-conv3.bin", -"../tests/resnet101_cnet/layers/layer1-2-conv1.bin", -"../tests/resnet101_cnet/layers/layer1-2-conv2.bin", -"../tests/resnet101_cnet/layers/layer1-2-conv3.bin"}; +"resnet101_cnet/layers/layer1-2-conv1.bin", +"resnet101_cnet/layers/layer1-2-conv2.bin", +"resnet101_cnet/layers/layer1-2-conv3.bin"}; //layer2 const char *layer2_bin[]={ -"../tests/resnet101_cnet/layers/layer2-0-conv1.bin", -"../tests/resnet101_cnet/layers/layer2-0-conv2.bin", -"../tests/resnet101_cnet/layers/layer2-0-conv3.bin", -"../tests/resnet101_cnet/layers/layer2-0-downsample-0.bin", +"resnet101_cnet/layers/layer2-0-conv1.bin", +"resnet101_cnet/layers/layer2-0-conv2.bin", +"resnet101_cnet/layers/layer2-0-conv3.bin", +"resnet101_cnet/layers/layer2-0-downsample-0.bin", -"../tests/resnet101_cnet/layers/layer2-1-conv1.bin", -"../tests/resnet101_cnet/layers/layer2-1-conv2.bin", -"../tests/resnet101_cnet/layers/layer2-1-conv3.bin", +"resnet101_cnet/layers/layer2-1-conv1.bin", +"resnet101_cnet/layers/layer2-1-conv2.bin", +"resnet101_cnet/layers/layer2-1-conv3.bin", -"../tests/resnet101_cnet/layers/layer2-2-conv1.bin", -"../tests/resnet101_cnet/layers/layer2-2-conv2.bin", -"../tests/resnet101_cnet/layers/layer2-2-conv3.bin", +"resnet101_cnet/layers/layer2-2-conv1.bin", +"resnet101_cnet/layers/layer2-2-conv2.bin", +"resnet101_cnet/layers/layer2-2-conv3.bin", -"../tests/resnet101_cnet/layers/layer2-3-conv1.bin", -"../tests/resnet101_cnet/layers/layer2-3-conv2.bin", -"../tests/resnet101_cnet/layers/layer2-3-conv3.bin" +"resnet101_cnet/layers/layer2-3-conv1.bin", +"resnet101_cnet/layers/layer2-3-conv2.bin", +"resnet101_cnet/layers/layer2-3-conv3.bin" }; //layer3 const char *layer3_bin[]={ -"../tests/resnet101_cnet/layers/layer3-0-conv1.bin", -"../tests/resnet101_cnet/layers/layer3-0-conv2.bin", -"../tests/resnet101_cnet/layers/layer3-0-conv3.bin", -"../tests/resnet101_cnet/layers/layer3-0-downsample-0.bin", +"resnet101_cnet/layers/layer3-0-conv1.bin", +"resnet101_cnet/layers/layer3-0-conv2.bin", +"resnet101_cnet/layers/layer3-0-conv3.bin", +"resnet101_cnet/layers/layer3-0-downsample-0.bin", -"../tests/resnet101_cnet/layers/layer3-1-conv1.bin", -"../tests/resnet101_cnet/layers/layer3-1-conv2.bin", -"../tests/resnet101_cnet/layers/layer3-1-conv3.bin", +"resnet101_cnet/layers/layer3-1-conv1.bin", +"resnet101_cnet/layers/layer3-1-conv2.bin", +"resnet101_cnet/layers/layer3-1-conv3.bin", -"../tests/resnet101_cnet/layers/layer3-2-conv1.bin", -"../tests/resnet101_cnet/layers/layer3-2-conv2.bin", -"../tests/resnet101_cnet/layers/layer3-2-conv3.bin", +"resnet101_cnet/layers/layer3-2-conv1.bin", +"resnet101_cnet/layers/layer3-2-conv2.bin", +"resnet101_cnet/layers/layer3-2-conv3.bin", -"../tests/resnet101_cnet/layers/layer3-3-conv1.bin", -"../tests/resnet101_cnet/layers/layer3-3-conv2.bin", -"../tests/resnet101_cnet/layers/layer3-3-conv3.bin", +"resnet101_cnet/layers/layer3-3-conv1.bin", +"resnet101_cnet/layers/layer3-3-conv2.bin", +"resnet101_cnet/layers/layer3-3-conv3.bin", -"../tests/resnet101_cnet/layers/layer3-4-conv1.bin", -"../tests/resnet101_cnet/layers/layer3-4-conv2.bin", -"../tests/resnet101_cnet/layers/layer3-4-conv3.bin", +"resnet101_cnet/layers/layer3-4-conv1.bin", +"resnet101_cnet/layers/layer3-4-conv2.bin", +"resnet101_cnet/layers/layer3-4-conv3.bin", -"../tests/resnet101_cnet/layers/layer3-5-conv1.bin", -"../tests/resnet101_cnet/layers/layer3-5-conv2.bin", -"../tests/resnet101_cnet/layers/layer3-5-conv3.bin", +"resnet101_cnet/layers/layer3-5-conv1.bin", +"resnet101_cnet/layers/layer3-5-conv2.bin", +"resnet101_cnet/layers/layer3-5-conv3.bin", -"../tests/resnet101_cnet/layers/layer3-6-conv1.bin", -"../tests/resnet101_cnet/layers/layer3-6-conv2.bin", -"../tests/resnet101_cnet/layers/layer3-6-conv3.bin", +"resnet101_cnet/layers/layer3-6-conv1.bin", +"resnet101_cnet/layers/layer3-6-conv2.bin", +"resnet101_cnet/layers/layer3-6-conv3.bin", -"../tests/resnet101_cnet/layers/layer3-7-conv1.bin", -"../tests/resnet101_cnet/layers/layer3-7-conv2.bin", -"../tests/resnet101_cnet/layers/layer3-7-conv3.bin", +"resnet101_cnet/layers/layer3-7-conv1.bin", +"resnet101_cnet/layers/layer3-7-conv2.bin", +"resnet101_cnet/layers/layer3-7-conv3.bin", -"../tests/resnet101_cnet/layers/layer3-8-conv1.bin", -"../tests/resnet101_cnet/layers/layer3-8-conv2.bin", -"../tests/resnet101_cnet/layers/layer3-8-conv3.bin", +"resnet101_cnet/layers/layer3-8-conv1.bin", +"resnet101_cnet/layers/layer3-8-conv2.bin", +"resnet101_cnet/layers/layer3-8-conv3.bin", -"../tests/resnet101_cnet/layers/layer3-9-conv1.bin", -"../tests/resnet101_cnet/layers/layer3-9-conv2.bin", -"../tests/resnet101_cnet/layers/layer3-9-conv3.bin", +"resnet101_cnet/layers/layer3-9-conv1.bin", +"resnet101_cnet/layers/layer3-9-conv2.bin", +"resnet101_cnet/layers/layer3-9-conv3.bin", -"../tests/resnet101_cnet/layers/layer3-10-conv1.bin", -"../tests/resnet101_cnet/layers/layer3-10-conv2.bin", -"../tests/resnet101_cnet/layers/layer3-10-conv3.bin", +"resnet101_cnet/layers/layer3-10-conv1.bin", +"resnet101_cnet/layers/layer3-10-conv2.bin", +"resnet101_cnet/layers/layer3-10-conv3.bin", -"../tests/resnet101_cnet/layers/layer3-11-conv1.bin", -"../tests/resnet101_cnet/layers/layer3-11-conv2.bin", -"../tests/resnet101_cnet/layers/layer3-11-conv3.bin", +"resnet101_cnet/layers/layer3-11-conv1.bin", +"resnet101_cnet/layers/layer3-11-conv2.bin", +"resnet101_cnet/layers/layer3-11-conv3.bin", -"../tests/resnet101_cnet/layers/layer3-12-conv1.bin", -"../tests/resnet101_cnet/layers/layer3-12-conv2.bin", -"../tests/resnet101_cnet/layers/layer3-12-conv3.bin", +"resnet101_cnet/layers/layer3-12-conv1.bin", +"resnet101_cnet/layers/layer3-12-conv2.bin", +"resnet101_cnet/layers/layer3-12-conv3.bin", -"../tests/resnet101_cnet/layers/layer3-13-conv1.bin", -"../tests/resnet101_cnet/layers/layer3-13-conv2.bin", -"../tests/resnet101_cnet/layers/layer3-13-conv3.bin", +"resnet101_cnet/layers/layer3-13-conv1.bin", +"resnet101_cnet/layers/layer3-13-conv2.bin", +"resnet101_cnet/layers/layer3-13-conv3.bin", -"../tests/resnet101_cnet/layers/layer3-14-conv1.bin", -"../tests/resnet101_cnet/layers/layer3-14-conv2.bin", -"../tests/resnet101_cnet/layers/layer3-14-conv3.bin", +"resnet101_cnet/layers/layer3-14-conv1.bin", +"resnet101_cnet/layers/layer3-14-conv2.bin", +"resnet101_cnet/layers/layer3-14-conv3.bin", -"../tests/resnet101_cnet/layers/layer3-15-conv1.bin", -"../tests/resnet101_cnet/layers/layer3-15-conv2.bin", -"../tests/resnet101_cnet/layers/layer3-15-conv3.bin", +"resnet101_cnet/layers/layer3-15-conv1.bin", +"resnet101_cnet/layers/layer3-15-conv2.bin", +"resnet101_cnet/layers/layer3-15-conv3.bin", -"../tests/resnet101_cnet/layers/layer3-16-conv1.bin", -"../tests/resnet101_cnet/layers/layer3-16-conv2.bin", -"../tests/resnet101_cnet/layers/layer3-16-conv3.bin", +"resnet101_cnet/layers/layer3-16-conv1.bin", +"resnet101_cnet/layers/layer3-16-conv2.bin", +"resnet101_cnet/layers/layer3-16-conv3.bin", -"../tests/resnet101_cnet/layers/layer3-17-conv1.bin", -"../tests/resnet101_cnet/layers/layer3-17-conv2.bin", -"../tests/resnet101_cnet/layers/layer3-17-conv3.bin", +"resnet101_cnet/layers/layer3-17-conv1.bin", +"resnet101_cnet/layers/layer3-17-conv2.bin", +"resnet101_cnet/layers/layer3-17-conv3.bin", -"../tests/resnet101_cnet/layers/layer3-18-conv1.bin", -"../tests/resnet101_cnet/layers/layer3-18-conv2.bin", -"../tests/resnet101_cnet/layers/layer3-18-conv3.bin", +"resnet101_cnet/layers/layer3-18-conv1.bin", +"resnet101_cnet/layers/layer3-18-conv2.bin", +"resnet101_cnet/layers/layer3-18-conv3.bin", -"../tests/resnet101_cnet/layers/layer3-19-conv1.bin", -"../tests/resnet101_cnet/layers/layer3-19-conv2.bin", -"../tests/resnet101_cnet/layers/layer3-19-conv3.bin", +"resnet101_cnet/layers/layer3-19-conv1.bin", +"resnet101_cnet/layers/layer3-19-conv2.bin", +"resnet101_cnet/layers/layer3-19-conv3.bin", -"../tests/resnet101_cnet/layers/layer3-20-conv1.bin", -"../tests/resnet101_cnet/layers/layer3-20-conv2.bin", -"../tests/resnet101_cnet/layers/layer3-20-conv3.bin", +"resnet101_cnet/layers/layer3-20-conv1.bin", +"resnet101_cnet/layers/layer3-20-conv2.bin", +"resnet101_cnet/layers/layer3-20-conv3.bin", -"../tests/resnet101_cnet/layers/layer3-21-conv1.bin", -"../tests/resnet101_cnet/layers/layer3-21-conv2.bin", -"../tests/resnet101_cnet/layers/layer3-21-conv3.bin", +"resnet101_cnet/layers/layer3-21-conv1.bin", +"resnet101_cnet/layers/layer3-21-conv2.bin", +"resnet101_cnet/layers/layer3-21-conv3.bin", -"../tests/resnet101_cnet/layers/layer3-22-conv1.bin", -"../tests/resnet101_cnet/layers/layer3-22-conv2.bin", -"../tests/resnet101_cnet/layers/layer3-22-conv3.bin"}; +"resnet101_cnet/layers/layer3-22-conv1.bin", +"resnet101_cnet/layers/layer3-22-conv2.bin", +"resnet101_cnet/layers/layer3-22-conv3.bin"}; //layer4 const char *layer4_bin[]={ -"../tests/resnet101_cnet/layers/layer4-0-conv1.bin", -"../tests/resnet101_cnet/layers/layer4-0-conv2.bin", -"../tests/resnet101_cnet/layers/layer4-0-conv3.bin", -"../tests/resnet101_cnet/layers/layer4-0-downsample-0.bin", +"resnet101_cnet/layers/layer4-0-conv1.bin", +"resnet101_cnet/layers/layer4-0-conv2.bin", +"resnet101_cnet/layers/layer4-0-conv3.bin", +"resnet101_cnet/layers/layer4-0-downsample-0.bin", -"../tests/resnet101_cnet/layers/layer4-1-conv1.bin", -"../tests/resnet101_cnet/layers/layer4-1-conv2.bin", -"../tests/resnet101_cnet/layers/layer4-1-conv3.bin", +"resnet101_cnet/layers/layer4-1-conv1.bin", +"resnet101_cnet/layers/layer4-1-conv2.bin", +"resnet101_cnet/layers/layer4-1-conv3.bin", -"../tests/resnet101_cnet/layers/layer4-2-conv1.bin", -"../tests/resnet101_cnet/layers/layer4-2-conv2.bin", -"../tests/resnet101_cnet/layers/layer4-2-conv3.bin"}; +"resnet101_cnet/layers/layer4-2-conv1.bin", +"resnet101_cnet/layers/layer4-2-conv2.bin", +"resnet101_cnet/layers/layer4-2-conv3.bin"}; -const char *d_conv1_bin = "../tests/resnet101_cnet/layers/deconv_layers-0-conv_offset_mask.bin"; -const char *deform1_bin = "../tests/resnet101_cnet/layers/deconv_layers-0.bin"; -const char *deconv1_bin = "../tests/resnet101_cnet/layers/deconv_layers-3.bin"; +const char *d_conv1_bin = "resnet101_cnet/layers/deconv_layers-0-conv_offset_mask.bin"; +const char *deform1_bin = "resnet101_cnet/layers/deconv_layers-0.bin"; +const char *deconv1_bin = "resnet101_cnet/layers/deconv_layers-3.bin"; -const char *d_conv2_bin = "../tests/resnet101_cnet/layers/deconv_layers-6-conv_offset_mask.bin"; -const char *deform2_bin = "../tests/resnet101_cnet/layers/deconv_layers-6.bin"; -const char *deconv2_bin = "../tests/resnet101_cnet/layers/deconv_layers-9.bin"; +const char *d_conv2_bin = "resnet101_cnet/layers/deconv_layers-6-conv_offset_mask.bin"; +const char *deform2_bin = "resnet101_cnet/layers/deconv_layers-6.bin"; +const char *deconv2_bin = "resnet101_cnet/layers/deconv_layers-9.bin"; -const char *d_conv3_bin = "../tests/resnet101_cnet/layers/deconv_layers-12-conv_offset_mask.bin"; -const char *deform3_bin = "../tests/resnet101_cnet/layers/deconv_layers-12.bin"; -const char *deconv3_bin = "../tests/resnet101_cnet/layers/deconv_layers-15.bin"; +const char *d_conv3_bin = "resnet101_cnet/layers/deconv_layers-12-conv_offset_mask.bin"; +const char *deform3_bin = "resnet101_cnet/layers/deconv_layers-12.bin"; +const char *deconv3_bin = "resnet101_cnet/layers/deconv_layers-15.bin"; -const char *hm_conv1_bin = "../tests/resnet101_cnet/layers/hm-0.bin"; -const char *hm_conv2_bin = "../tests/resnet101_cnet/layers/hm-2.bin"; -const char *wh_conv1_bin = "../tests/resnet101_cnet/layers/wh-0.bin"; -const char *wh_conv2_bin = "../tests/resnet101_cnet/layers/wh-2.bin"; -const char *reg_conv1_bin = "../tests/resnet101_cnet/layers/reg-0.bin"; -const char *reg_conv2_bin = "../tests/resnet101_cnet/layers/reg-2.bin"; +const char *hm_conv1_bin = "resnet101_cnet/layers/hm-0.bin"; +const char *hm_conv2_bin = "resnet101_cnet/layers/hm-2.bin"; +const char *wh_conv1_bin = "resnet101_cnet/layers/wh-0.bin"; +const char *wh_conv2_bin = "resnet101_cnet/layers/wh-2.bin"; +const char *reg_conv1_bin = "resnet101_cnet/layers/reg-0.bin"; +const char *reg_conv2_bin = "resnet101_cnet/layers/reg-2.bin"; //final -const char *fc_bin = "../tests/resnet101_cnet/layers/fc.bin"; +const char *fc_bin = "resnet101_cnet/layers/fc.bin"; const char *output_bin[]={ -"../tests/resnet101_cnet/debug/hm.bin", -"../tests/resnet101_cnet/debug/wh.bin", -"../tests/resnet101_cnet/debug/reg.bin"}; +"resnet101_cnet/debug/hm.bin", +"resnet101_cnet/debug/wh.bin", +"resnet101_cnet/debug/reg.bin"}; int main() { - downloadWeightsifDoNotExist(input_bin, "../tests/resnet101_cnet", "https://cloud.hipert.unimore.it/s/5BTjHMWBcJk8g3i/download"); + downloadWeightsifDoNotExist(input_bin, "resnet101_cnet", "https://cloud.hipert.unimore.it/s/5BTjHMWBcJk8g3i/download"); // Network layout tk::dnn::dataDim_t dim(1, 3, 512, 512, 1); diff --git a/tests/simple/test_simple.cpp b/tests/simple/test_simple.cpp index 8a65b5c..b2b0441 100644 --- a/tests/simple/test_simple.cpp +++ b/tests/simple/test_simple.cpp @@ -1,11 +1,11 @@ #include #include "tkdnn.h" -const char *input_bin = "../tests/simple/input.bin"; -const char *c0_bin = "../tests/simple/layers/conv1d_1.bin"; -const char *l1_bin = "../tests/simple/layers/bidirectional_1.bin"; -const char *l2_bin = "../tests/simple/layers/bidirectional_2.bin"; -const char *output_bin = "../tests/simple/output.bin"; +const char *input_bin = "simple/input.bin"; +const char *c0_bin = "simple/layers/conv1d_1.bin"; +const char *l1_bin = "simple/layers/bidirectional_1.bin"; +const char *l2_bin = "simple/layers/bidirectional_2.bin"; +const char *output_bin = "simple/output.bin"; int main() { diff --git a/tests/yolo/yolo.cpp b/tests/yolo/yolo.cpp index a975da1..e47fd8f 100644 --- a/tests/yolo/yolo.cpp +++ b/tests/yolo/yolo.cpp @@ -1,36 +1,36 @@ #include #include "tkdnn.h" -const char *input_bin = "../tests/yolo/layers/input.bin"; -const char *c0_bin = "../tests/yolo/layers/c0.bin"; -const char *c2_bin = "../tests/yolo/layers/c2.bin"; -const char *c4_bin = "../tests/yolo/layers/c4.bin"; -const char *c5_bin = "../tests/yolo/layers/c5.bin"; -const char *c6_bin = "../tests/yolo/layers/c6.bin"; -const char *c8_bin = "../tests/yolo/layers/c8.bin"; -const char *c9_bin = "../tests/yolo/layers/c9.bin"; -const char *c10_bin = "../tests/yolo/layers/c10.bin"; -const char *c12_bin = "../tests/yolo/layers/c12.bin"; -const char *c13_bin = "../tests/yolo/layers/c13.bin"; -const char *c14_bin = "../tests/yolo/layers/c14.bin"; -const char *c15_bin = "../tests/yolo/layers/c15.bin"; -const char *c16_bin = "../tests/yolo/layers/c16.bin"; -const char *c18_bin = "../tests/yolo/layers/c18.bin"; -const char *c19_bin = "../tests/yolo/layers/c19.bin"; -const char *c20_bin = "../tests/yolo/layers/c20.bin"; -const char *c21_bin = "../tests/yolo/layers/c21.bin"; -const char *c22_bin = "../tests/yolo/layers/c22.bin"; -const char *c23_bin = "../tests/yolo/layers/c23.bin"; -const char *c24_bin = "../tests/yolo/layers/c24.bin"; -const char *c26_bin = "../tests/yolo/layers/c26.bin"; -const char *c29_bin = "../tests/yolo/layers/c29.bin"; -const char *c30_bin = "../tests/yolo/layers/c30.bin"; -const char *g31_bin = "../tests/yolo/layers/g31.bin"; -const char *output_bin = "../tests/yolo/layers/output.bin"; +const char *input_bin = "yolo/layers/input.bin"; +const char *c0_bin = "yolo/layers/c0.bin"; +const char *c2_bin = "yolo/layers/c2.bin"; +const char *c4_bin = "yolo/layers/c4.bin"; +const char *c5_bin = "yolo/layers/c5.bin"; +const char *c6_bin = "yolo/layers/c6.bin"; +const char *c8_bin = "yolo/layers/c8.bin"; +const char *c9_bin = "yolo/layers/c9.bin"; +const char *c10_bin = "yolo/layers/c10.bin"; +const char *c12_bin = "yolo/layers/c12.bin"; +const char *c13_bin = "yolo/layers/c13.bin"; +const char *c14_bin = "yolo/layers/c14.bin"; +const char *c15_bin = "yolo/layers/c15.bin"; +const char *c16_bin = "yolo/layers/c16.bin"; +const char *c18_bin = "yolo/layers/c18.bin"; +const char *c19_bin = "yolo/layers/c19.bin"; +const char *c20_bin = "yolo/layers/c20.bin"; +const char *c21_bin = "yolo/layers/c21.bin"; +const char *c22_bin = "yolo/layers/c22.bin"; +const char *c23_bin = "yolo/layers/c23.bin"; +const char *c24_bin = "yolo/layers/c24.bin"; +const char *c26_bin = "yolo/layers/c26.bin"; +const char *c29_bin = "yolo/layers/c29.bin"; +const char *c30_bin = "yolo/layers/c30.bin"; +const char *g31_bin = "yolo/layers/g31.bin"; +const char *output_bin = "yolo/layers/output.bin"; int main() { - downloadWeightsifDoNotExist(input_bin, "../tests/yolo", "https://cloud.hipert.unimore.it/s/nf4PJ3k8bxBETwL/download"); + downloadWeightsifDoNotExist(input_bin, "yolo", "https://cloud.hipert.unimore.it/s/nf4PJ3k8bxBETwL/download"); // Network layout tk::dnn::dataDim_t dim(1, 3, 608, 608, 1); diff --git a/tests/yolo3/yolo3.cpp b/tests/yolo3/yolo3.cpp index abb0972..e783f31 100644 --- a/tests/yolo3/yolo3.cpp +++ b/tests/yolo3/yolo3.cpp @@ -9,8 +9,8 @@ int main() { tk::dnn::Network net(dim); // create yolo3 model - std::string bin_path = "../tests/yolo3"; - downloadWeightsifDoNotExist("../tests/yolo3/layers/input.bin", bin_path, "https://cloud.hipert.unimore.it/s/jPXmHyptpLoNdNR/download"); + std::string bin_path = "yolo3"; + downloadWeightsifDoNotExist("yolo3/layers/input.bin", bin_path, "https://cloud.hipert.unimore.it/s/jPXmHyptpLoNdNR/download"); int classes = 80; tk::dnn::Yolo *yolo [3]; #include "models/Yolo3.h" diff --git a/tests/yolo3_512/yolo3_512.cpp b/tests/yolo3_512/yolo3_512.cpp index fcd96d6..cb50410 100644 --- a/tests/yolo3_512/yolo3_512.cpp +++ b/tests/yolo3_512/yolo3_512.cpp @@ -9,8 +9,8 @@ int main() { tk::dnn::Network net(dim); // create yolo3 model - std::string bin_path = "../tests/yolo3_512"; - downloadWeightsifDoNotExist("../tests/yolo3_512/layers/input.bin", bin_path, "https://cloud.hipert.unimore.it/s/e7HfScx77JEHeYb/download"); + std::string bin_path = "yolo3_512"; + downloadWeightsifDoNotExist("yolo3_512/layers/input.bin", bin_path, "https://cloud.hipert.unimore.it/s/e7HfScx77JEHeYb/download"); int classes = 80; tk::dnn::Yolo *yolo [3]; #include "models/Yolo3.h" diff --git a/tests/yolo3_512tp/yolo3_512tp.cpp b/tests/yolo3_512tp/yolo3_512tp.cpp index 1410111..11074e2 100644 --- a/tests/yolo3_512tp/yolo3_512tp.cpp +++ b/tests/yolo3_512tp/yolo3_512tp.cpp @@ -9,8 +9,8 @@ int main() { tk::dnn::Network net(dim); // create yolo3 model - std::string bin_path = "../tests/yolo3_512tp"; - // downloadWeightsifDoNotExist("../tests/yolo3_512tp/layers/input.bin", bin_path, ); + std::string bin_path = "yolo3_512tp"; + // downloadWeightsifDoNotExist("yolo3_512tp/layers/input.bin", bin_path, ); int classes = 3; tk::dnn::Yolo *yolo [3]; #include "models/Yolo3.h" diff --git a/tests/yolo3_berkeley/yolo3_berkeley.cpp b/tests/yolo3_berkeley/yolo3_berkeley.cpp index 71b0887..59ca733 100644 --- a/tests/yolo3_berkeley/yolo3_berkeley.cpp +++ b/tests/yolo3_berkeley/yolo3_berkeley.cpp @@ -9,8 +9,8 @@ int main() { tk::dnn::Network net(dim); // create yolo3 model - std::string bin_path = "../tests/yolo3_berkeley"; - downloadWeightsifDoNotExist("../tests/yolo3_berkeley/layers/input.bin", bin_path, "https://cloud.hipert.unimore.it/s/o5cHa4AjTKS64oD/download"); + std::string bin_path = "yolo3_berkeley"; + downloadWeightsifDoNotExist("yolo3_berkeley/layers/input.bin", bin_path, "https://cloud.hipert.unimore.it/s/o5cHa4AjTKS64oD/download"); int classes = 10; tk::dnn::Yolo *yolo [3]; #include "models/Yolo3.h" diff --git a/tests/yolo3_coco4/yolo3_coco4.cpp b/tests/yolo3_coco4/yolo3_coco4.cpp index 67f2374..89ba074 100644 --- a/tests/yolo3_coco4/yolo3_coco4.cpp +++ b/tests/yolo3_coco4/yolo3_coco4.cpp @@ -9,8 +9,8 @@ int main() { tk::dnn::Network net(dim); // create yolo3 model - std::string bin_path = "../tests/yolo3_coco4"; - downloadWeightsifDoNotExist("../tests/yolo3_coco4/layers/input.bin", bin_path, "https://cloud.hipert.unimore.it/s/o27NDzSAartbyc4/download"); + std::string bin_path = "yolo3_coco4"; + downloadWeightsifDoNotExist("yolo3_coco4/layers/input.bin", bin_path, "https://cloud.hipert.unimore.it/s/o27NDzSAartbyc4/download"); int classes = 4; tk::dnn::Yolo *yolo [3]; #include "models/Yolo3.h" diff --git a/tests/yolo3_flir/yolo3_flir.cpp b/tests/yolo3_flir/yolo3_flir.cpp index f6fd0f0..94b5733 100644 --- a/tests/yolo3_flir/yolo3_flir.cpp +++ b/tests/yolo3_flir/yolo3_flir.cpp @@ -10,8 +10,8 @@ int main() { tk::dnn::Network net(dim); // create yolo3 model - std::string bin_path = "../tests/yolo3_flir"; - downloadWeightsifDoNotExist("../tests/yolo3_flir/layers/input.bin", bin_path, "https://cloud.hipert.unimore.it/s/62DECncmF6bMMiH/download"); + std::string bin_path = "yolo3_flir"; + downloadWeightsifDoNotExist("yolo3_flir/layers/input.bin", bin_path, "https://cloud.hipert.unimore.it/s/62DECncmF6bMMiH/download"); int classes = 3; tk::dnn::Yolo *yolo [3]; diff --git a/tests/yolo3_tiny/yolo3_tiny.cpp b/tests/yolo3_tiny/yolo3_tiny.cpp index cea116e..596dffa 100644 --- a/tests/yolo3_tiny/yolo3_tiny.cpp +++ b/tests/yolo3_tiny/yolo3_tiny.cpp @@ -2,29 +2,29 @@ // #include #include "tkdnn.h" -const char *input_bin = "../tests/yolo3_tiny/layers/input.bin"; -const char *c0_bin = "../tests/yolo3_tiny/layers/c0.bin"; -const char *c2_bin = "../tests/yolo3_tiny/layers/c2.bin"; -const char *c4_bin = "../tests/yolo3_tiny/layers/c4.bin"; -const char *c6_bin = "../tests/yolo3_tiny/layers/c6.bin"; -const char *c8_bin = "../tests/yolo3_tiny/layers/c8.bin"; -const char *c10_bin = "../tests/yolo3_tiny/layers/c10.bin"; -const char *c12_bin = "../tests/yolo3_tiny/layers/c12.bin"; -const char *c13_bin = "../tests/yolo3_tiny/layers/c13.bin"; -const char *c14_bin = "../tests/yolo3_tiny/layers/c14.bin"; -const char *c15_bin = "../tests/yolo3_tiny/layers/c15.bin"; -const char *c18_bin = "../tests/yolo3_tiny/layers/c18.bin"; -const char *c21_bin = "../tests/yolo3_tiny/layers/c21.bin"; -const char *c22_bin = "../tests/yolo3_tiny/layers/c22.bin"; -const char *g16_bin = "../tests/yolo3_tiny/layers/g16.bin"; -const char *g23_bin = "../tests/yolo3_tiny/layers/g23.bin"; -// const char *output_bin = "../tests/yolo3_tiny/layers/output.bin"; +const char *input_bin = "yolo3_tiny/layers/input.bin"; +const char *c0_bin = "yolo3_tiny/layers/c0.bin"; +const char *c2_bin = "yolo3_tiny/layers/c2.bin"; +const char *c4_bin = "yolo3_tiny/layers/c4.bin"; +const char *c6_bin = "yolo3_tiny/layers/c6.bin"; +const char *c8_bin = "yolo3_tiny/layers/c8.bin"; +const char *c10_bin = "yolo3_tiny/layers/c10.bin"; +const char *c12_bin = "yolo3_tiny/layers/c12.bin"; +const char *c13_bin = "yolo3_tiny/layers/c13.bin"; +const char *c14_bin = "yolo3_tiny/layers/c14.bin"; +const char *c15_bin = "yolo3_tiny/layers/c15.bin"; +const char *c18_bin = "yolo3_tiny/layers/c18.bin"; +const char *c21_bin = "yolo3_tiny/layers/c21.bin"; +const char *c22_bin = "yolo3_tiny/layers/c22.bin"; +const char *g16_bin = "yolo3_tiny/layers/g16.bin"; +const char *g23_bin = "yolo3_tiny/layers/g23.bin"; +// const char *output_bin = "yolo3_tiny/layers/output.bin"; -const char *output_bin = "../tests/yolo3_tiny/debug/layer23_out.bin"; +const char *output_bin = "yolo3_tiny/debug/layer23_out.bin"; int main() { - downloadWeightsifDoNotExist(input_bin, "../tests/yolo3_tiny", "https://cloud.hipert.unimore.it/s/LMcSHtWaLeps8yN/download"); + downloadWeightsifDoNotExist(input_bin, "yolo3_tiny", "https://cloud.hipert.unimore.it/s/LMcSHtWaLeps8yN/download"); int classes = 80; diff --git a/tests/yolo3_tiny512/yolo3_tiny512.cpp b/tests/yolo3_tiny512/yolo3_tiny512.cpp index fb6b061..38816f9 100644 --- a/tests/yolo3_tiny512/yolo3_tiny512.cpp +++ b/tests/yolo3_tiny512/yolo3_tiny512.cpp @@ -1,29 +1,29 @@ #include #include "tkdnn.h" -const char *input_bin = "../tests/yolo3_tiny512/layers/input.bin"; -const char *c0_bin = "../tests/yolo3_tiny512/layers/c0.bin"; -const char *c2_bin = "../tests/yolo3_tiny512/layers/c2.bin"; -const char *c4_bin = "../tests/yolo3_tiny512/layers/c4.bin"; -const char *c6_bin = "../tests/yolo3_tiny512/layers/c6.bin"; -const char *c8_bin = "../tests/yolo3_tiny512/layers/c8.bin"; -const char *c10_bin = "../tests/yolo3_tiny512/layers/c10.bin"; -const char *c12_bin = "../tests/yolo3_tiny512/layers/c12.bin"; -const char *c13_bin = "../tests/yolo3_tiny512/layers/c13.bin"; -const char *c14_bin = "../tests/yolo3_tiny512/layers/c14.bin"; -const char *c15_bin = "../tests/yolo3_tiny512/layers/c15.bin"; -const char *c18_bin = "../tests/yolo3_tiny512/layers/c18.bin"; -const char *c21_bin = "../tests/yolo3_tiny512/layers/c21.bin"; -const char *c22_bin = "../tests/yolo3_tiny512/layers/c22.bin"; -const char *g16_bin = "../tests/yolo3_tiny512/layers/g16.bin"; -const char *g23_bin = "../tests/yolo3_tiny512/layers/g23.bin"; -// const char *output_bin = "../tests/yolo3_tiny512/layers/output.bin"; +const char *input_bin = "yolo3_tiny512/layers/input.bin"; +const char *c0_bin = "yolo3_tiny512/layers/c0.bin"; +const char *c2_bin = "yolo3_tiny512/layers/c2.bin"; +const char *c4_bin = "yolo3_tiny512/layers/c4.bin"; +const char *c6_bin = "yolo3_tiny512/layers/c6.bin"; +const char *c8_bin = "yolo3_tiny512/layers/c8.bin"; +const char *c10_bin = "yolo3_tiny512/layers/c10.bin"; +const char *c12_bin = "yolo3_tiny512/layers/c12.bin"; +const char *c13_bin = "yolo3_tiny512/layers/c13.bin"; +const char *c14_bin = "yolo3_tiny512/layers/c14.bin"; +const char *c15_bin = "yolo3_tiny512/layers/c15.bin"; +const char *c18_bin = "yolo3_tiny512/layers/c18.bin"; +const char *c21_bin = "yolo3_tiny512/layers/c21.bin"; +const char *c22_bin = "yolo3_tiny512/layers/c22.bin"; +const char *g16_bin = "yolo3_tiny512/layers/g16.bin"; +const char *g23_bin = "yolo3_tiny512/layers/g23.bin"; +// const char *output_bin = "yolo3_tiny512/layers/output.bin"; -const char *output_bin = "../tests/yolo3_tiny512/debug/layer23_out.bin"; +const char *output_bin = "yolo3_tiny512/debug/layer23_out.bin"; int main() { - downloadWeightsifDoNotExist(input_bin, "../tests/yolo3_tiny512", "https://cloud.hipert.unimore.it/s/8Zt6bHwHADqP4JC/download"); + downloadWeightsifDoNotExist(input_bin, "yolo3_tiny512", "https://cloud.hipert.unimore.it/s/8Zt6bHwHADqP4JC/download"); int classes = 80; diff --git a/tests/yolo3_tiny512tp/yolo3_tiny512tp.cpp b/tests/yolo3_tiny512tp/yolo3_tiny512tp.cpp index 9d4c9d4..13a8b00 100644 --- a/tests/yolo3_tiny512tp/yolo3_tiny512tp.cpp +++ b/tests/yolo3_tiny512tp/yolo3_tiny512tp.cpp @@ -1,25 +1,25 @@ #include #include "tkdnn.h" -const char *input_bin = "../tests/yolo3_tiny512tp/layers/input.bin"; -const char *c0_bin = "../tests/yolo3_tiny512tp/layers/c0.bin"; -const char *c2_bin = "../tests/yolo3_tiny512tp/layers/c2.bin"; -const char *c4_bin = "../tests/yolo3_tiny512tp/layers/c4.bin"; -const char *c6_bin = "../tests/yolo3_tiny512tp/layers/c6.bin"; -const char *c8_bin = "../tests/yolo3_tiny512tp/layers/c8.bin"; -const char *c10_bin = "../tests/yolo3_tiny512tp/layers/c10.bin"; -const char *c12_bin = "../tests/yolo3_tiny512tp/layers/c12.bin"; -const char *c13_bin = "../tests/yolo3_tiny512tp/layers/c13.bin"; -const char *c14_bin = "../tests/yolo3_tiny512tp/layers/c14.bin"; -const char *c15_bin = "../tests/yolo3_tiny512tp/layers/c15.bin"; -const char *c18_bin = "../tests/yolo3_tiny512tp/layers/c18.bin"; -const char *c21_bin = "../tests/yolo3_tiny512tp/layers/c21.bin"; -const char *c22_bin = "../tests/yolo3_tiny512tp/layers/c22.bin"; -const char *g16_bin = "../tests/yolo3_tiny512tp/layers/g16.bin"; -const char *g23_bin = "../tests/yolo3_tiny512tp/layers/g23.bin"; -// const char *output_bin = "../tests/yolo3_tiny512tp/layers/output.bin"; +const char *input_bin = "yolo3_tiny512tp/layers/input.bin"; +const char *c0_bin = "yolo3_tiny512tp/layers/c0.bin"; +const char *c2_bin = "yolo3_tiny512tp/layers/c2.bin"; +const char *c4_bin = "yolo3_tiny512tp/layers/c4.bin"; +const char *c6_bin = "yolo3_tiny512tp/layers/c6.bin"; +const char *c8_bin = "yolo3_tiny512tp/layers/c8.bin"; +const char *c10_bin = "yolo3_tiny512tp/layers/c10.bin"; +const char *c12_bin = "yolo3_tiny512tp/layers/c12.bin"; +const char *c13_bin = "yolo3_tiny512tp/layers/c13.bin"; +const char *c14_bin = "yolo3_tiny512tp/layers/c14.bin"; +const char *c15_bin = "yolo3_tiny512tp/layers/c15.bin"; +const char *c18_bin = "yolo3_tiny512tp/layers/c18.bin"; +const char *c21_bin = "yolo3_tiny512tp/layers/c21.bin"; +const char *c22_bin = "yolo3_tiny512tp/layers/c22.bin"; +const char *g16_bin = "yolo3_tiny512tp/layers/g16.bin"; +const char *g23_bin = "yolo3_tiny512tp/layers/g23.bin"; +// const char *output_bin = "yolo3_tiny512tp/layers/output.bin"; -const char *output_bin = "../tests/yolo3_tiny512tp/debug/layer23_out.bin"; +const char *output_bin = "yolo3_tiny512tp/debug/layer23_out.bin"; int main() { diff --git a/tests/yolo3_tinyNM512/yolo3_tinyNM512.cpp b/tests/yolo3_tinyNM512/yolo3_tinyNM512.cpp index a347670..7ffd603 100644 --- a/tests/yolo3_tinyNM512/yolo3_tinyNM512.cpp +++ b/tests/yolo3_tinyNM512/yolo3_tinyNM512.cpp @@ -1,29 +1,29 @@ #include #include "tkdnn.h" -const char *input_bin = "../tests/yolo3_tinyNM512/layers/input.bin"; -const char *c0_bin = "../tests/yolo3_tinyNM512/layers/c0.bin"; -const char *c2_bin = "../tests/yolo3_tinyNM512/layers/c2.bin"; -const char *c4_bin = "../tests/yolo3_tinyNM512/layers/c4.bin"; -const char *c6_bin = "../tests/yolo3_tinyNM512/layers/c6.bin"; -const char *c8_bin = "../tests/yolo3_tinyNM512/layers/c8.bin"; -const char *c10_bin = "../tests/yolo3_tinyNM512/layers/c10.bin"; -const char *c11_bin = "../tests/yolo3_tinyNM512/layers/c11.bin"; -const char *c12_bin = "../tests/yolo3_tinyNM512/layers/c12.bin"; -const char *c13_bin = "../tests/yolo3_tinyNM512/layers/c13.bin"; -const char *c14_bin = "../tests/yolo3_tinyNM512/layers/c14.bin"; -const char *c17_bin = "../tests/yolo3_tinyNM512/layers/c17.bin"; -const char *c20_bin = "../tests/yolo3_tinyNM512/layers/c20.bin"; -const char *c21_bin = "../tests/yolo3_tinyNM512/layers/c21.bin"; -const char *g15_bin = "../tests/yolo3_tinyNM512/layers/g15.bin"; -const char *g22_bin = "../tests/yolo3_tinyNM512/layers/g22.bin"; -// const char *output_bin = "../tests/yolo3_tinyNM512/layers/output.bin"; +const char *input_bin = "yolo3_tinyNM512/layers/input.bin"; +const char *c0_bin = "yolo3_tinyNM512/layers/c0.bin"; +const char *c2_bin = "yolo3_tinyNM512/layers/c2.bin"; +const char *c4_bin = "yolo3_tinyNM512/layers/c4.bin"; +const char *c6_bin = "yolo3_tinyNM512/layers/c6.bin"; +const char *c8_bin = "yolo3_tinyNM512/layers/c8.bin"; +const char *c10_bin = "yolo3_tinyNM512/layers/c10.bin"; +const char *c11_bin = "yolo3_tinyNM512/layers/c11.bin"; +const char *c12_bin = "yolo3_tinyNM512/layers/c12.bin"; +const char *c13_bin = "yolo3_tinyNM512/layers/c13.bin"; +const char *c14_bin = "yolo3_tinyNM512/layers/c14.bin"; +const char *c17_bin = "yolo3_tinyNM512/layers/c17.bin"; +const char *c20_bin = "yolo3_tinyNM512/layers/c20.bin"; +const char *c21_bin = "yolo3_tinyNM512/layers/c21.bin"; +const char *g15_bin = "yolo3_tinyNM512/layers/g15.bin"; +const char *g22_bin = "yolo3_tinyNM512/layers/g22.bin"; +// const char *output_bin = "yolo3_tinyNM512/layers/output.bin"; -const char *output_bin = "../tests/yolo3_tinyNM512/debug/layer22_out.bin"; +const char *output_bin = "yolo3_tinyNM512/debug/layer22_out.bin"; int main() { - // downloadWeightsifDoNotExist(input_bin, "../tests/yolo3_tinyNM512", "https://cloud.hipert.unimore.it/s/wRW9nmkibSe5HoS/download"); + // downloadWeightsifDoNotExist(input_bin, "yolo3_tinyNM512", "https://cloud.hipert.unimore.it/s/wRW9nmkibSe5HoS/download"); int classes = 80; diff --git a/tests/yolo_224/yolo_224.cpp b/tests/yolo_224/yolo_224.cpp index 44b0047..c6d75ae 100644 --- a/tests/yolo_224/yolo_224.cpp +++ b/tests/yolo_224/yolo_224.cpp @@ -1,32 +1,32 @@ #include #include "tkdnn.h" -const char *input_bin = "../tests/yolo_224/layers/input.bin"; -const char *c0_bin = "../tests/yolo_224/layers/c0.bin"; -const char *c2_bin = "../tests/yolo_224/layers/c2.bin"; -const char *c4_bin = "../tests/yolo_224/layers/c4.bin"; -const char *c5_bin = "../tests/yolo_224/layers/c5.bin"; -const char *c6_bin = "../tests/yolo_224/layers/c6.bin"; -const char *c8_bin = "../tests/yolo_224/layers/c8.bin"; -const char *c9_bin = "../tests/yolo_224/layers/c9.bin"; -const char *c10_bin = "../tests/yolo_224/layers/c10.bin"; -const char *c12_bin = "../tests/yolo_224/layers/c12.bin"; -const char *c13_bin = "../tests/yolo_224/layers/c13.bin"; -const char *c14_bin = "../tests/yolo_224/layers/c14.bin"; -const char *c15_bin = "../tests/yolo_224/layers/c15.bin"; -const char *c16_bin = "../tests/yolo_224/layers/c16.bin"; -const char *c18_bin = "../tests/yolo_224/layers/c18.bin"; -const char *c19_bin = "../tests/yolo_224/layers/c19.bin"; -const char *c20_bin = "../tests/yolo_224/layers/c20.bin"; -const char *c21_bin = "../tests/yolo_224/layers/c21.bin"; -const char *c22_bin = "../tests/yolo_224/layers/c22.bin"; -const char *c23_bin = "../tests/yolo_224/layers/c23.bin"; -const char *c24_bin = "../tests/yolo_224/layers/c24.bin"; -const char *c26_bin = "../tests/yolo_224/layers/c26.bin"; -const char *c29_bin = "../tests/yolo_224/layers/c29.bin"; -const char *c30_bin = "../tests/yolo_224/layers/c30.bin"; -const char *g31_bin = "../tests/yolo_224/layers/g31.bin"; -const char *output_bin = "../tests/yolo_224/layers/output.bin"; +const char *input_bin = "yolo_224/layers/input.bin"; +const char *c0_bin = "yolo_224/layers/c0.bin"; +const char *c2_bin = "yolo_224/layers/c2.bin"; +const char *c4_bin = "yolo_224/layers/c4.bin"; +const char *c5_bin = "yolo_224/layers/c5.bin"; +const char *c6_bin = "yolo_224/layers/c6.bin"; +const char *c8_bin = "yolo_224/layers/c8.bin"; +const char *c9_bin = "yolo_224/layers/c9.bin"; +const char *c10_bin = "yolo_224/layers/c10.bin"; +const char *c12_bin = "yolo_224/layers/c12.bin"; +const char *c13_bin = "yolo_224/layers/c13.bin"; +const char *c14_bin = "yolo_224/layers/c14.bin"; +const char *c15_bin = "yolo_224/layers/c15.bin"; +const char *c16_bin = "yolo_224/layers/c16.bin"; +const char *c18_bin = "yolo_224/layers/c18.bin"; +const char *c19_bin = "yolo_224/layers/c19.bin"; +const char *c20_bin = "yolo_224/layers/c20.bin"; +const char *c21_bin = "yolo_224/layers/c21.bin"; +const char *c22_bin = "yolo_224/layers/c22.bin"; +const char *c23_bin = "yolo_224/layers/c23.bin"; +const char *c24_bin = "yolo_224/layers/c24.bin"; +const char *c26_bin = "yolo_224/layers/c26.bin"; +const char *c29_bin = "yolo_224/layers/c29.bin"; +const char *c30_bin = "yolo_224/layers/c30.bin"; +const char *g31_bin = "yolo_224/layers/g31.bin"; +const char *output_bin = "yolo_224/layers/output.bin"; int main() { diff --git a/tests/yolo_berkeley/yolo_berkeley.cpp b/tests/yolo_berkeley/yolo_berkeley.cpp index 1a08563..1d40c15 100644 --- a/tests/yolo_berkeley/yolo_berkeley.cpp +++ b/tests/yolo_berkeley/yolo_berkeley.cpp @@ -1,32 +1,32 @@ #include #include "tkdnn.h" -const char *input_bin = "../tests/yolo_berkeley/layers/input.bin"; -const char *c0_bin = "../tests/yolo_berkeley/layers/c0.bin"; -const char *c2_bin = "../tests/yolo_berkeley/layers/c2.bin"; -const char *c4_bin = "../tests/yolo_berkeley/layers/c4.bin"; -const char *c5_bin = "../tests/yolo_berkeley/layers/c5.bin"; -const char *c6_bin = "../tests/yolo_berkeley/layers/c6.bin"; -const char *c8_bin = "../tests/yolo_berkeley/layers/c8.bin"; -const char *c9_bin = "../tests/yolo_berkeley/layers/c9.bin"; -const char *c10_bin = "../tests/yolo_berkeley/layers/c10.bin"; -const char *c12_bin = "../tests/yolo_berkeley/layers/c12.bin"; -const char *c13_bin = "../tests/yolo_berkeley/layers/c13.bin"; -const char *c14_bin = "../tests/yolo_berkeley/layers/c14.bin"; -const char *c15_bin = "../tests/yolo_berkeley/layers/c15.bin"; -const char *c16_bin = "../tests/yolo_berkeley/layers/c16.bin"; -const char *c18_bin = "../tests/yolo_berkeley/layers/c18.bin"; -const char *c19_bin = "../tests/yolo_berkeley/layers/c19.bin"; -const char *c20_bin = "../tests/yolo_berkeley/layers/c20.bin"; -const char *c21_bin = "../tests/yolo_berkeley/layers/c21.bin"; -const char *c22_bin = "../tests/yolo_berkeley/layers/c22.bin"; -const char *c23_bin = "../tests/yolo_berkeley/layers/c23.bin"; -const char *c24_bin = "../tests/yolo_berkeley/layers/c24.bin"; -const char *c26_bin = "../tests/yolo_berkeley/layers/c26.bin"; -const char *c29_bin = "../tests/yolo_berkeley/layers/c29.bin"; -const char *c30_bin = "../tests/yolo_berkeley/layers/c30.bin"; -const char *g31_bin = "../tests/yolo_berkeley/layers/g31.bin"; -const char *output_bin = "../tests/yolo_berkeley/layers/output.bin"; +const char *input_bin = "yolo_berkeley/layers/input.bin"; +const char *c0_bin = "yolo_berkeley/layers/c0.bin"; +const char *c2_bin = "yolo_berkeley/layers/c2.bin"; +const char *c4_bin = "yolo_berkeley/layers/c4.bin"; +const char *c5_bin = "yolo_berkeley/layers/c5.bin"; +const char *c6_bin = "yolo_berkeley/layers/c6.bin"; +const char *c8_bin = "yolo_berkeley/layers/c8.bin"; +const char *c9_bin = "yolo_berkeley/layers/c9.bin"; +const char *c10_bin = "yolo_berkeley/layers/c10.bin"; +const char *c12_bin = "yolo_berkeley/layers/c12.bin"; +const char *c13_bin = "yolo_berkeley/layers/c13.bin"; +const char *c14_bin = "yolo_berkeley/layers/c14.bin"; +const char *c15_bin = "yolo_berkeley/layers/c15.bin"; +const char *c16_bin = "yolo_berkeley/layers/c16.bin"; +const char *c18_bin = "yolo_berkeley/layers/c18.bin"; +const char *c19_bin = "yolo_berkeley/layers/c19.bin"; +const char *c20_bin = "yolo_berkeley/layers/c20.bin"; +const char *c21_bin = "yolo_berkeley/layers/c21.bin"; +const char *c22_bin = "yolo_berkeley/layers/c22.bin"; +const char *c23_bin = "yolo_berkeley/layers/c23.bin"; +const char *c24_bin = "yolo_berkeley/layers/c24.bin"; +const char *c26_bin = "yolo_berkeley/layers/c26.bin"; +const char *c29_bin = "yolo_berkeley/layers/c29.bin"; +const char *c30_bin = "yolo_berkeley/layers/c30.bin"; +const char *g31_bin = "yolo_berkeley/layers/g31.bin"; +const char *output_bin = "yolo_berkeley/layers/output.bin"; int main() { diff --git a/tests/yolo_relu/yolo_relu.cpp b/tests/yolo_relu/yolo_relu.cpp index 24f3e8d..30f9f3e 100644 --- a/tests/yolo_relu/yolo_relu.cpp +++ b/tests/yolo_relu/yolo_relu.cpp @@ -1,32 +1,32 @@ #include #include "tkdnn.h" -const char *input_bin = "../tests/yolo_relu/layers/input.bin"; -const char *c0_bin = "../tests/yolo_relu/layers/c0.bin"; -const char *c2_bin = "../tests/yolo_relu/layers/c2.bin"; -const char *c4_bin = "../tests/yolo_relu/layers/c4.bin"; -const char *c5_bin = "../tests/yolo_relu/layers/c5.bin"; -const char *c6_bin = "../tests/yolo_relu/layers/c6.bin"; -const char *c8_bin = "../tests/yolo_relu/layers/c8.bin"; -const char *c9_bin = "../tests/yolo_relu/layers/c9.bin"; -const char *c10_bin = "../tests/yolo_relu/layers/c10.bin"; -const char *c12_bin = "../tests/yolo_relu/layers/c12.bin"; -const char *c13_bin = "../tests/yolo_relu/layers/c13.bin"; -const char *c14_bin = "../tests/yolo_relu/layers/c14.bin"; -const char *c15_bin = "../tests/yolo_relu/layers/c15.bin"; -const char *c16_bin = "../tests/yolo_relu/layers/c16.bin"; -const char *c18_bin = "../tests/yolo_relu/layers/c18.bin"; -const char *c19_bin = "../tests/yolo_relu/layers/c19.bin"; -const char *c20_bin = "../tests/yolo_relu/layers/c20.bin"; -const char *c21_bin = "../tests/yolo_relu/layers/c21.bin"; -const char *c22_bin = "../tests/yolo_relu/layers/c22.bin"; -const char *c23_bin = "../tests/yolo_relu/layers/c23.bin"; -const char *c24_bin = "../tests/yolo_relu/layers/c24.bin"; -const char *c26_bin = "../tests/yolo_relu/layers/c26.bin"; -const char *c29_bin = "../tests/yolo_relu/layers/c29.bin"; -const char *c30_bin = "../tests/yolo_relu/layers/c30.bin"; -const char *g31_bin = "../tests/yolo_relu/layers/g31.bin"; -const char *output_bin = "../tests/yolo_relu/layers/output.bin"; +const char *input_bin = "yolo_relu/layers/input.bin"; +const char *c0_bin = "yolo_relu/layers/c0.bin"; +const char *c2_bin = "yolo_relu/layers/c2.bin"; +const char *c4_bin = "yolo_relu/layers/c4.bin"; +const char *c5_bin = "yolo_relu/layers/c5.bin"; +const char *c6_bin = "yolo_relu/layers/c6.bin"; +const char *c8_bin = "yolo_relu/layers/c8.bin"; +const char *c9_bin = "yolo_relu/layers/c9.bin"; +const char *c10_bin = "yolo_relu/layers/c10.bin"; +const char *c12_bin = "yolo_relu/layers/c12.bin"; +const char *c13_bin = "yolo_relu/layers/c13.bin"; +const char *c14_bin = "yolo_relu/layers/c14.bin"; +const char *c15_bin = "yolo_relu/layers/c15.bin"; +const char *c16_bin = "yolo_relu/layers/c16.bin"; +const char *c18_bin = "yolo_relu/layers/c18.bin"; +const char *c19_bin = "yolo_relu/layers/c19.bin"; +const char *c20_bin = "yolo_relu/layers/c20.bin"; +const char *c21_bin = "yolo_relu/layers/c21.bin"; +const char *c22_bin = "yolo_relu/layers/c22.bin"; +const char *c23_bin = "yolo_relu/layers/c23.bin"; +const char *c24_bin = "yolo_relu/layers/c24.bin"; +const char *c26_bin = "yolo_relu/layers/c26.bin"; +const char *c29_bin = "yolo_relu/layers/c29.bin"; +const char *c30_bin = "yolo_relu/layers/c30.bin"; +const char *g31_bin = "yolo_relu/layers/g31.bin"; +const char *output_bin = "yolo_relu/layers/output.bin"; int main() { diff --git a/tests/yolo_tiny/yolo_tiny.cpp b/tests/yolo_tiny/yolo_tiny.cpp index 29bfa6e..dd6857e 100644 --- a/tests/yolo_tiny/yolo_tiny.cpp +++ b/tests/yolo_tiny/yolo_tiny.cpp @@ -1,23 +1,23 @@ #include #include "tkdnn.h" -const char *input_bin = "../tests/yolo_tiny/layers/input.bin"; -const char *c0_bin = "../tests/yolo_tiny/layers/c0.bin"; -const char *c2_bin = "../tests/yolo_tiny/layers/c2.bin"; -const char *c4_bin = "../tests/yolo_tiny/layers/c4.bin"; -const char *c5_bin = "../tests/yolo_tiny/layers/c5.bin"; -const char *c6_bin = "../tests/yolo_tiny/layers/c6.bin"; -const char *c8_bin = "../tests/yolo_tiny/layers/c8.bin"; -const char *c10_bin = "../tests/yolo_tiny/layers/c10.bin"; -const char *c11_bin = "../tests/yolo_tiny/layers/c11.bin"; -const char *c12_bin = "../tests/yolo_tiny/layers/c12.bin"; -const char *c13_bin = "../tests/yolo_tiny/layers/c13.bin"; -const char *g14_bin = "../tests/yolo_tiny/layers/g14.bin"; -const char *output_bin = "../tests/yolo_tiny/layers/output.bin"; +const char *input_bin = "yolo_tiny/layers/input.bin"; +const char *c0_bin = "yolo_tiny/layers/c0.bin"; +const char *c2_bin = "yolo_tiny/layers/c2.bin"; +const char *c4_bin = "yolo_tiny/layers/c4.bin"; +const char *c5_bin = "yolo_tiny/layers/c5.bin"; +const char *c6_bin = "yolo_tiny/layers/c6.bin"; +const char *c8_bin = "yolo_tiny/layers/c8.bin"; +const char *c10_bin = "yolo_tiny/layers/c10.bin"; +const char *c11_bin = "yolo_tiny/layers/c11.bin"; +const char *c12_bin = "yolo_tiny/layers/c12.bin"; +const char *c13_bin = "yolo_tiny/layers/c13.bin"; +const char *g14_bin = "yolo_tiny/layers/g14.bin"; +const char *output_bin = "yolo_tiny/layers/output.bin"; int main() { - downloadWeightsifDoNotExist(input_bin, "../tests/yolo_tiny", "https://cloud.hipert.unimore.it/s/m3orfJr8pGrN5mQ/download"); + downloadWeightsifDoNotExist(input_bin, "yolo_tiny", "https://cloud.hipert.unimore.it/s/m3orfJr8pGrN5mQ/download"); // Network layout tk::dnn::dataDim_t dim(1, 3, 416, 416, 1); diff --git a/tests/yolo_voc/yolo_voc.cpp b/tests/yolo_voc/yolo_voc.cpp index c3702af..868128b 100644 --- a/tests/yolo_voc/yolo_voc.cpp +++ b/tests/yolo_voc/yolo_voc.cpp @@ -1,36 +1,36 @@ #include #include "tkdnn.h" -const char *input_bin = "../tests/yolo_voc/layers/input.bin"; -const char *c0_bin = "../tests/yolo_voc/layers/c0.bin"; -const char *c2_bin = "../tests/yolo_voc/layers/c2.bin"; -const char *c4_bin = "../tests/yolo_voc/layers/c4.bin"; -const char *c5_bin = "../tests/yolo_voc/layers/c5.bin"; -const char *c6_bin = "../tests/yolo_voc/layers/c6.bin"; -const char *c8_bin = "../tests/yolo_voc/layers/c8.bin"; -const char *c9_bin = "../tests/yolo_voc/layers/c9.bin"; -const char *c10_bin = "../tests/yolo_voc/layers/c10.bin"; -const char *c12_bin = "../tests/yolo_voc/layers/c12.bin"; -const char *c13_bin = "../tests/yolo_voc/layers/c13.bin"; -const char *c14_bin = "../tests/yolo_voc/layers/c14.bin"; -const char *c15_bin = "../tests/yolo_voc/layers/c15.bin"; -const char *c16_bin = "../tests/yolo_voc/layers/c16.bin"; -const char *c18_bin = "../tests/yolo_voc/layers/c18.bin"; -const char *c19_bin = "../tests/yolo_voc/layers/c19.bin"; -const char *c20_bin = "../tests/yolo_voc/layers/c20.bin"; -const char *c21_bin = "../tests/yolo_voc/layers/c21.bin"; -const char *c22_bin = "../tests/yolo_voc/layers/c22.bin"; -const char *c23_bin = "../tests/yolo_voc/layers/c23.bin"; -const char *c24_bin = "../tests/yolo_voc/layers/c24.bin"; -const char *c26_bin = "../tests/yolo_voc/layers/c26.bin"; -const char *c29_bin = "../tests/yolo_voc/layers/c29.bin"; -const char *c30_bin = "../tests/yolo_voc/layers/c30.bin"; -const char *g31_bin = "../tests/yolo_voc/layers/g31.bin"; -const char *output_bin = "../tests/yolo_voc/layers/output.bin"; +const char *input_bin = "yolo_voc/layers/input.bin"; +const char *c0_bin = "yolo_voc/layers/c0.bin"; +const char *c2_bin = "yolo_voc/layers/c2.bin"; +const char *c4_bin = "yolo_voc/layers/c4.bin"; +const char *c5_bin = "yolo_voc/layers/c5.bin"; +const char *c6_bin = "yolo_voc/layers/c6.bin"; +const char *c8_bin = "yolo_voc/layers/c8.bin"; +const char *c9_bin = "yolo_voc/layers/c9.bin"; +const char *c10_bin = "yolo_voc/layers/c10.bin"; +const char *c12_bin = "yolo_voc/layers/c12.bin"; +const char *c13_bin = "yolo_voc/layers/c13.bin"; +const char *c14_bin = "yolo_voc/layers/c14.bin"; +const char *c15_bin = "yolo_voc/layers/c15.bin"; +const char *c16_bin = "yolo_voc/layers/c16.bin"; +const char *c18_bin = "yolo_voc/layers/c18.bin"; +const char *c19_bin = "yolo_voc/layers/c19.bin"; +const char *c20_bin = "yolo_voc/layers/c20.bin"; +const char *c21_bin = "yolo_voc/layers/c21.bin"; +const char *c22_bin = "yolo_voc/layers/c22.bin"; +const char *c23_bin = "yolo_voc/layers/c23.bin"; +const char *c24_bin = "yolo_voc/layers/c24.bin"; +const char *c26_bin = "yolo_voc/layers/c26.bin"; +const char *c29_bin = "yolo_voc/layers/c29.bin"; +const char *c30_bin = "yolo_voc/layers/c30.bin"; +const char *g31_bin = "yolo_voc/layers/g31.bin"; +const char *output_bin = "yolo_voc/layers/output.bin"; int main() { - downloadWeightsifDoNotExist(input_bin, "../tests/yolo_voc", "https://cloud.hipert.unimore.it/s/DJC5Fi2pEjfNDP9/download"); + downloadWeightsifDoNotExist(input_bin, "yolo_voc", "https://cloud.hipert.unimore.it/s/DJC5Fi2pEjfNDP9/download"); // Network layout tk::dnn::dataDim_t dim(1, 3, 416, 416, 1); From 7c81c5a43cdc04550d1c65260c1394551307d21f Mon Sep 17 00:00:00 2001 From: Francesco Gatti Date: Tue, 21 Apr 2020 19:20:44 +0200 Subject: [PATCH 02/11] batch size > 1 --- include/tkDNN/Network.h | 1 + include/tkDNN/NetworkRT.h | 9 ++++- .../tkDNN/pluginsRT/MaxPoolingFixedSizeRT.h | 2 +- src/Network.cpp | 4 +++ src/NetworkRT.cpp | 24 +++++++++----- tests/test_rtinference/rtinference.cpp | 33 ++++++++++++------- 6 files changed, 51 insertions(+), 22 deletions(-) diff --git a/include/tkDNN/Network.h b/include/tkDNN/Network.h index eb17ea8..0e8fef8 100644 --- a/include/tkDNN/Network.h +++ b/include/tkDNN/Network.h @@ -62,6 +62,7 @@ public: dataDim_t getOutputDim(); bool fp16, dla, int8; + int maxBatchSize; bool dontLoadWeights; std::string fileImgList; std::string fileLabelList; diff --git a/include/tkDNN/NetworkRT.h b/include/tkDNN/NetworkRT.h index 64deac9..1152234 100644 --- a/include/tkDNN/NetworkRT.h +++ b/include/tkDNN/NetworkRT.h @@ -74,11 +74,18 @@ public: NetworkRT(Network *net, const char *name); virtual ~NetworkRT(); + int getMaxBatchSize() { + if(engineRT != nullptr) + return engineRT->getMaxBatchSize(); + else + return 0; + } + /** Do inferece */ dnnType* infer(dataDim_t &dim, dnnType* data); - void enqueue(); + void enqueue(int batchSize = 1); nvinfer1::ILayer* convert_layer(nvinfer1::ITensor *input, Layer *l); nvinfer1::ILayer* convert_layer(nvinfer1::ITensor *input, Conv2d *l); diff --git a/include/tkDNN/pluginsRT/MaxPoolingFixedSizeRT.h b/include/tkDNN/pluginsRT/MaxPoolingFixedSizeRT.h index 992042b..2efa6e2 100644 --- a/include/tkDNN/pluginsRT/MaxPoolingFixedSizeRT.h +++ b/include/tkDNN/pluginsRT/MaxPoolingFixedSizeRT.h @@ -42,7 +42,7 @@ public: virtual int enqueue(int batchSize, const void*const * inputs, void** outputs, void* workspace, cudaStream_t stream) override { - std::cout<n<<" "<c<<" "<h<<" "<w<<" "<stride_H<<" "<stride_W<<" "<winSize<<" "<padding<n<<" "<c<<" "<h<<" "<w<<" "<stride_H<<" "<stride_W<<" "<winSize<<" "<padding<(inputs[0]); dnnType *dstData = reinterpret_cast(outputs[0]); MaxPoolingForward(srcData, dstData, this->n, this->c, this->h, this->w, this->stride_H, this->stride_W, this->winSize, this->padding); diff --git a/src/Network.cpp b/src/Network.cpp index 885ec1a..f199fc2 100644 --- a/src/Network.cpp +++ b/src/Network.cpp @@ -34,6 +34,10 @@ Network::Network(dataDim_t input_dim) { int8 = true; } } + maxBatchSize = 1; + if(const char* env_p = std::getenv("TKDNN_BATCHSIZE")) { + maxBatchSize = atoi(env_p); + } if(const char* env_p = std::getenv("TKDNN_CALIB_IMG_PATH")) fileImgList = env_p; diff --git a/src/NetworkRT.cpp b/src/NetworkRT.cpp index 6a8dabe..6ed6efe 100644 --- a/src/NetworkRT.cpp +++ b/src/NetworkRT.cpp @@ -58,7 +58,7 @@ NetworkRT::NetworkRT(Network *net, const char *name) { dataDim_t dim = net->layers[0]->input_dim; dtRT = DataType::kFLOAT; - builderRT->setMaxBatchSize(1); + builderRT->setMaxBatchSize(net->maxBatchSize); builderRT->setMaxWorkspaceSize(1 << 30); if(net->fp16 && builderRT->platformHasFastFp16()) { @@ -133,6 +133,7 @@ NetworkRT::NetworkRT(Network *net, const char *name) { input->setName("out"); networkRT->markOutput(*input); + std::cout<<"Selected maxBatchSize: "<getMaxBatchSize()<<"\n"; std::cout<<"Building tensorRT cuda engine...\n"; #if NV_TENSORRT_MAJOR >= 6 engineRT = builderRT->buildEngineWithConfig(*networkRT, *configRT); @@ -181,9 +182,9 @@ NetworkRT::NetworkRT(Network *net, const char *name) { // create GPU buffers and a stream for(int i=0; igetNbBindings(); i++) { Dims dim = engineRT->getBindingDimensions(i); - checkCuda(cudaMalloc(&buffersRT[i], dim.d[0]*dim.d[1]*dim.d[2]*sizeof(dnnType))); + checkCuda(cudaMalloc(&buffersRT[i], engineRT->getMaxBatchSize()*dim.d[0]*dim.d[1]*dim.d[2]*sizeof(dnnType))); } - checkCuda(cudaMalloc(&output, output_dim.tot()*sizeof(dnnType))); + checkCuda(cudaMalloc(&output, engineRT->getMaxBatchSize()*output_dim.tot()*sizeof(dnnType))); checkCuda(cudaStreamCreate(&stream)); } @@ -192,19 +193,24 @@ NetworkRT::~NetworkRT() { } dnnType* NetworkRT::infer(dataDim_t &dim, dnnType* data) { + int batches = dim.n; + if(batches > getMaxBatchSize()) { + FatalError("input batch size too large"); + } - checkCuda(cudaMemcpyAsync(buffersRT[buf_input_idx], data, input_dim.tot()*sizeof(dnnType), cudaMemcpyDeviceToDevice, stream)); - contextRT->enqueue(1, buffersRT, stream, nullptr); - checkCuda(cudaMemcpyAsync(output, buffersRT[buf_output_idx], output_dim.tot()*sizeof(dnnType), cudaMemcpyDeviceToDevice, stream)); - cudaStreamSynchronize(stream); + checkCuda(cudaMemcpyAsync(buffersRT[buf_input_idx], data, batches*input_dim.tot()*sizeof(dnnType), cudaMemcpyDeviceToDevice, stream)); + contextRT->enqueue(batches, buffersRT, stream, nullptr); + checkCuda(cudaMemcpyAsync(output, buffersRT[buf_output_idx], batches*output_dim.tot()*sizeof(dnnType), cudaMemcpyDeviceToDevice, stream)); + checkCuda(cudaStreamSynchronize(stream)); dim = output_dim; + dim.n = batches; return output; } -void NetworkRT::enqueue() { - contextRT->enqueue(1, buffersRT, stream, nullptr); +void NetworkRT::enqueue(int batchSize) { + contextRT->enqueue(batchSize, buffersRT, stream, nullptr); } ILayer* NetworkRT::convert_layer(ITensor *input, Layer *l) { diff --git a/tests/test_rtinference/rtinference.cpp b/tests/test_rtinference/rtinference.cpp index f99d003..88aedf0 100644 --- a/tests/test_rtinference/rtinference.cpp +++ b/tests/test_rtinference/rtinference.cpp @@ -2,31 +2,42 @@ #include "tkdnn.h" #include /* srand, rand */ + int main(int argc, char *argv[]) { if(argc < 2 || !fileExist(argv[1])) FatalError("unable to read serialRT file"); + int BATCH_SIZE = 1; + if(argc >2) + BATCH_SIZE = atoi(argv[2]); + //always same test srand (0); //convert network to tensorRT tk::dnn::NetworkRT netRT(NULL, argv[1]); + + tk::dnn::dataDim_t idim = netRT.input_dim; + tk::dnn::dataDim_t odim = netRT.output_dim; + idim.n = BATCH_SIZE; + odim.n = BATCH_SIZE; + dnnType *input = new float[idim.tot()]; + dnnType *output = new float[odim.tot()]; + dnnType *input_d; + checkCuda( cudaMalloc(&input_d, idim.tot()*sizeof(dnnType))); - dnnType *input = new float[netRT.input_dim.tot()]; - dnnType *output = new float[netRT.input_dim.tot()]; - + std::cout<<"Testing with batchsize: "< Date: Tue, 21 Apr 2020 19:50:45 +0000 Subject: [PATCH 04/11] RouteRt is not used --- include/tkDNN/pluginsRT/RouteRT.h | 4 ++++ tests/test_rtinference/rtinference.cpp | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/include/tkDNN/pluginsRT/RouteRT.h b/include/tkDNN/pluginsRT/RouteRT.h index 9abcd7f..0e94a97 100644 --- a/include/tkDNN/pluginsRT/RouteRT.h +++ b/include/tkDNN/pluginsRT/RouteRT.h @@ -3,6 +3,10 @@ class RouteRT : public IPlugin { + /** + THIS IS NOT USED ANYMORE + */ + public: RouteRT() { } diff --git a/tests/test_rtinference/rtinference.cpp b/tests/test_rtinference/rtinference.cpp index 8e9fcec..95bb20c 100644 --- a/tests/test_rtinference/rtinference.cpp +++ b/tests/test_rtinference/rtinference.cpp @@ -51,7 +51,7 @@ int main(int argc, char *argv[]) { dnnType *out_d = (dnnType*) netRT.buffersRT[o]; dnnType *out0_d = out_d; dnnType *outI_d = out_d + netRT.buffersDIM[o].tot()*b; - //ret_tensorrt |= checkResult(netRT.buffersDIM[o].tot(), outI_d, out0_d); + ret_tensorrt |= checkResult(netRT.buffersDIM[o].tot(), outI_d, out0_d); } } } From 488887992c2f84eb90ee8e76b604bda772fb7f5a Mon Sep 17 00:00:00 2001 From: Francesco Gatti Date: Thu, 23 Apr 2020 00:54:03 +0200 Subject: [PATCH 05/11] test batch --- scripts/test_all_tests.sh | 93 ++++++++------------------ tests/test_rtinference/rtinference.cpp | 2 +- 2 files changed, 29 insertions(+), 66 deletions(-) diff --git a/scripts/test_all_tests.sh b/scripts/test_all_tests.sh index d663d01..41b2781 100644 --- a/scripts/test_all_tests.sh +++ b/scripts/test_all_tests.sh @@ -32,6 +32,14 @@ function print_output { out_file=results.log rm $out_file +function test_net { + ./test_$1 &>> $out_file + print_output $? $1 + ./test_rtinference $1*.rt $TKDNN_BATCHSIZE &>> $out_file + print_output $? "batched $1" +} + + modes=( 1 ) # only FP32 # modes=( 1 2 ) # FP32 and FP16 # modes=( 1 2 3 ) # FP32, FP16 and INT8 @@ -57,73 +65,28 @@ do echo -e "${ORANGE}Test INT8${NC}" fi + export TKDNN_BATCHSIZE=2 + echo -e "${ORANGE}Batch $TKDNN_BATCHSIZE ${NC}" + ./test_imuodom &>> $out_file - res_imuodom=$? - print_output $res_imuodom test_imuodom + print_output $? imuodom - ./test_resnet101_cnet &>> $out_file - res_resnet101_cnet=$? - print_output $res_resnet101_cnet test_resnet101_cnet - - ./test_yolo3 &>> $out_file - res_yolo3=$? - print_output $res_yolo3 test_yolo3 - - ./test_yolo3_flir &>> $out_file - res_yolo3_flir=$? - print_output $res_yolo3_flir test_yolo3_flir - - ./test_yolo3_512 &>> $out_file - res_yolo3_512=$? - print_output $res_yolo3_512 test_yolo3_512 - - ./test_yolo3_tiny &>> $out_file - res_yolo3_tiny=$? - print_output $res_yolo3_tiny test_yolo3_tiny - - ./test_csresnext50-panet-spp &>> $out_file - res_csresnext50panetspp=$? - print_output $res_csresnext50panetspp "test_csresnext50-panet-spp" - - ./test_mobilenetv2ssd &>> $out_file - res_mobilenetv2ssd=$? - print_output $res_mobilenetv2ssd test_mobilenetv2ssd - - ./test_yolo3_tiny512 &>> $out_file - res_yolo3_tiny512=$? - print_output $res_yolo3_tiny512 test_yolo3_tiny512 - - ./test_yolo_tiny &>> $out_file - res_yolo_tiny=$? - print_output $res_yolo_tiny test_yolo_tiny - - ./test_mobilenetv2ssd512 &>> $out_file - res_mobilenetv2ssd512=$? - print_output $res_mobilenetv2ssd512 test_mobilenetv2ssd512 - - ./test_mnist &>> $out_file - res_mnist=$? - print_output $res_mnist test_mnist - - ./test_yolo &>> $out_file - res_yolo=$? - print_output $res_yolo test_yolo - - ./test_yolo3_berkeley &>> $out_file - res_yolo3_berkeley=$? - print_output $res_yolo3_berkeley test_yolo3_berkeley - - ./test_yolo_voc &>> $out_file - res_yolo_voc=$? - print_output $res_yolo_voc test_yolo_voc - - ./test_dla34_cnet &>> $out_file - res_dla34_cnet=$? - print_output $res_dla34_cnet test_dla34_cnet - - ./test_yolo3_coco4 &>> $out_file - res_yolo3_coco4=$? - print_output $res_yolo3_coco4 test_yolo3_coco4 + test_net resnet101_cnet + test_net yolo3 + test_net yolo3_flir + test_net yolo3_512 + test_net yolo3_tiny + test_net csresnext50-panet-spp + test_net mobilenetv2ssd + test_net yolo3_tiny512 + test_net yolo_tiny + test_net mobilenetv2ssd512 + test_net mnist + test_net yolo + test_net yolo3_berkeley + test_net yolo_voc + test_net dla34_cnet + test_net yolo3_coco4 done diff --git a/tests/test_rtinference/rtinference.cpp b/tests/test_rtinference/rtinference.cpp index 95bb20c..2b521ad 100644 --- a/tests/test_rtinference/rtinference.cpp +++ b/tests/test_rtinference/rtinference.cpp @@ -51,7 +51,7 @@ int main(int argc, char *argv[]) { dnnType *out_d = (dnnType*) netRT.buffersRT[o]; dnnType *out0_d = out_d; dnnType *outI_d = out_d + netRT.buffersDIM[o].tot()*b; - ret_tensorrt |= checkResult(netRT.buffersDIM[o].tot(), outI_d, out0_d); + ret_tensorrt |= checkResult(netRT.buffersDIM[o].tot(), outI_d, out0_d) == 0 ? 0 : ERROR_TENSORRT; } } } From 8cff886ee535eb5ba94f8545bbd48f1b72928d4d Mon Sep 17 00:00:00 2001 From: Francesco Gatti Date: Thu, 23 Apr 2020 01:18:27 +0200 Subject: [PATCH 06/11] Flatten batch to be checked --- include/tkDNN/pluginsRT/FlattenConcatRT.h | 14 +++++++++----- tests/test_rtinference/rtinference.cpp | 3 ++- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/include/tkDNN/pluginsRT/FlattenConcatRT.h b/include/tkDNN/pluginsRT/FlattenConcatRT.h index e6e4eb2..4ebce69 100644 --- a/include/tkDNN/pluginsRT/FlattenConcatRT.h +++ b/include/tkDNN/pluginsRT/FlattenConcatRT.h @@ -47,11 +47,15 @@ public: virtual int enqueue(int batchSize, const void*const * inputs, void** outputs, void* workspace, cudaStream_t stream) override { dnnType *srcData = (dnnType*)reinterpret_cast(inputs[0]); dnnType *dstData = reinterpret_cast(outputs[0]); - checkCuda( cudaMemcpy(dstData, srcData, rows*cols*sizeof(dnnType), cudaMemcpyDeviceToDevice)); - - float const alpha(1.0); - float const beta(0.0); - checkERROR( cublasSgeam( handle, CUBLAS_OP_T, CUBLAS_OP_N, rows, cols, &alpha, srcData, cols, &beta, srcData, rows, dstData, rows )); + checkCuda( cudaMemcpyAsync(dstData, srcData, batchSize*rows*cols*sizeof(dnnType), cudaMemcpyDeviceToDevice, stream)); + + checkERROR( cublasSetStream(handle, stream) ); + for(int i=0; i Date: Thu, 23 Apr 2020 23:51:23 +0200 Subject: [PATCH 07/11] Reshape batch fix --- include/tkDNN/pluginsRT/ReshapeRT.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/tkDNN/pluginsRT/ReshapeRT.h b/include/tkDNN/pluginsRT/ReshapeRT.h index 36c8c63..97030db 100644 --- a/include/tkDNN/pluginsRT/ReshapeRT.h +++ b/include/tkDNN/pluginsRT/ReshapeRT.h @@ -40,7 +40,7 @@ public: dnnType *srcData = (dnnType*)reinterpret_cast(inputs[0]); dnnType *dstData = reinterpret_cast(outputs[0]); - checkCuda( cudaMemcpy(dstData, srcData, c*h*w*sizeof(dnnType), cudaMemcpyDeviceToDevice)); + checkCuda( cudaMemcpyAsync(dstData, srcData, batchSize*c*h*w*sizeof(dnnType), cudaMemcpyDeviceToDevice, stream)); return 0; } From 13c9dc662081d4fe25e32ab1612efd084e488a8d Mon Sep 17 00:00:00 2001 From: Francesco Gatti Date: Fri, 24 Apr 2020 00:08:06 +0200 Subject: [PATCH 08/11] RegionRT softmax fix --- include/tkDNN/pluginsRT/RegionRT.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/tkDNN/pluginsRT/RegionRT.h b/include/tkDNN/pluginsRT/RegionRT.h index 176d676..f0d127e 100644 --- a/include/tkDNN/pluginsRT/RegionRT.h +++ b/include/tkDNN/pluginsRT/RegionRT.h @@ -61,7 +61,7 @@ public: //softmax start int index = entry_index(0, 0, coords + 1); softmaxForward( srcData + index, classes, batchSize*num, - (batchSize*c*h*w)/num, + (c*h*w)/num, w*h, 1, w*h, 1, dstData + index, stream); return 0; From 6e5ab031c450dee87d31a7950924ba828b4e3f01 Mon Sep 17 00:00:00 2001 From: dsapienza <177992@studenti.unimore.it> Date: Sat, 25 Apr 2020 02:47:31 +0200 Subject: [PATCH 09/11] Deformable batch works Signed-off-by: Davide Sapienza --- include/tkDNN/kernels.h | 2 +- include/tkDNN/pluginsRT/DeformableConvRT.h | 45 ++++++++++++---------- src/DeformConv2d.cpp | 4 +- src/kernels/deformable_conv.cu | 12 +++--- 4 files changed, 35 insertions(+), 28 deletions(-) diff --git a/include/tkDNN/kernels.h b/include/tkDNN/kernels.h index afcc168..16f07d1 100644 --- a/include/tkDNN/kernels.h +++ b/include/tkDNN/kernels.h @@ -41,7 +41,7 @@ void dcnV2CudaForward(cublasStatus_t stat, cublasHandle_t handle, const int stride_h, const int stride_w, const int pad_h, const int pad_w, const int dilation_h, const int dilation_w, - const int deformable_group, + const int deformable_group, const int batch_id, const int in_n, const int in_c, const int in_h, const int in_w, const int out_n, const int out_c, const int out_h, const int out_w, const int dst_dim, cudaStream_t stream = cudaStream_t(0)); diff --git a/include/tkDNN/pluginsRT/DeformableConvRT.h b/include/tkDNN/pluginsRT/DeformableConvRT.h index 4804c03..bff6370 100644 --- a/include/tkDNN/pluginsRT/DeformableConvRT.h +++ b/include/tkDNN/pluginsRT/DeformableConvRT.h @@ -86,26 +86,26 @@ public: dnnType *output_conv = (dnnType*)reinterpret_cast(inputs[1]); // split conv2d outputs into offset to mask - checkCuda(cudaMemcpy(offset, output_conv, 2*chunk_dim*sizeof(dnnType), cudaMemcpyDeviceToDevice)); - checkCuda(cudaMemcpy(mask, output_conv + 2*chunk_dim, chunk_dim*sizeof(dnnType), cudaMemcpyDeviceToDevice)); - // kernel sigmoide - activationSIGMOIDForward(mask, mask, chunk_dim); - - // deformable convolution - dcnV2CudaForward(stat, handle, - srcData, data_d, - bias2_d, ones_d1, - offset, mask, - reinterpret_cast(outputs[0]), ones_d2, - kh, kw, - sh, sw, - ph, pw, - 1, 1, - deformableGroup, - i_n, i_c, i_h, i_w, - o_n, o_c, o_h, o_w, - chunk_dim); - + for(int b=0; b(outputs[0]), ones_d2, + kh, kw, + sh, sw, + ph, pw, + 1, 1, + deformableGroup, b, + i_n, i_c, i_h, i_w, + o_n, o_c, o_h, o_w, + chunk_dim); + } return 0; } @@ -185,6 +185,11 @@ public: dnnType * offset; dnnType * mask; dnnType *ones_d2; + // dnnType *input_n; + // dnnType *offset_n; + // dnnType *mask_n; + // dnnType *output_n; + tk::dnn::DeformConv2d *defRT; }; diff --git a/src/DeformConv2d.cpp b/src/DeformConv2d.cpp index 06bba7f..b161a22 100644 --- a/src/DeformConv2d.cpp +++ b/src/DeformConv2d.cpp @@ -102,13 +102,13 @@ dnnType* DeformConv2d::infer(dataDim_t &dim, dnnType* srcData) { dcnV2CudaForward(stat, handle, srcData, this->data_d, this->bias2_d, ones_d1, - offset, mask, + offset, mask, dstData, ones_d2, this->kernelH, this->kernelW, this->strideH, this->strideW, this->paddingH, this->paddingW, 1, 1, - this->deformableGroup, + this->deformableGroup, 0, //batch_id for cudnn is set to 0 (no batch) preconv->input_dim.n, preconv->input_dim.c, preconv->input_dim.h, preconv->input_dim.w, this->output_dim.n, this->output_dim.c, this->output_dim.h, this->output_dim.w, chunk_dim); diff --git a/src/kernels/deformable_conv.cu b/src/kernels/deformable_conv.cu index e46c579..592c538 100644 --- a/src/kernels/deformable_conv.cu +++ b/src/kernels/deformable_conv.cu @@ -241,12 +241,13 @@ void dcnV2CudaForward(cublasStatus_t stat, cublasHandle_t handle, const int stride_h, const int stride_w, const int pad_h, const int pad_w, const int dilation_h, const int dilation_w, - const int deformable_group, + const int deformable_group, const int batch_id, const int in_n, const int in_c, const int in_h, const int in_w, const int out_n, const int out_c, const int out_h, const int out_w, const int chunk_dim, cudaStream_t stream) { // stat and handle have be moved out to preserve 2 - 6 milliseconds every 100. + const int batch = batch_id; const int channels = in_c; const int height = in_h; const int width = in_w; @@ -265,13 +266,14 @@ void dcnV2CudaForward(cublasStatus_t stat, cublasHandle_t handle, stat = cublasSgemm(handle, CUBLAS_OP_T, CUBLAS_OP_N, n, m, k, &alpha, ones, k, bias, k, - &beta, output, n); + &beta, output + batch * out_c * out_h * out_w, n); if (stat != CUBLAS_STATUS_SUCCESS) FatalError("CUBLAS initialization failed\n"); modulatedDeformableIm2colCuda(stream, - input, offset, - mask, + input + batch * channels * height * width, + offset,// + b * 2 * int((float)chunk_dim / batch), + mask,// + b * int((float)chunk_dim / batch), 1, channels, height, width, height_out, width_out, deformable_group, columns); // modulatedDeformableIm2colCudaGeneralVersion(stream, @@ -290,7 +292,7 @@ void dcnV2CudaForward(cublasStatus_t stat, cublasHandle_t handle, stat = cublasSgemm(handle, CUBLAS_OP_N, CUBLAS_OP_N, n, m, k, &alpha, columns, n, weight, k, - &beta, output, n); + &beta, output + batch * out_c * out_h * out_w, n); if (stat != CUBLAS_STATUS_SUCCESS) FatalError("CUBLAS initialization failed\n"); From 89f91f568e847632b831bd2a83931bafb1887806 Mon Sep 17 00:00:00 2001 From: Micaela Verucchi Date: Tue, 28 Apr 2020 14:34:12 +0200 Subject: [PATCH 10/11] Fix shortcutRT plugin, now works with batches, fix yolo3_512 downlaod link Signed-off-by: Micaela Verucchi --- include/tkDNN/pluginsRT/ShortcutRT.h | 3 ++- tests/yolo3_512/yolo3_512.cpp | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/include/tkDNN/pluginsRT/ShortcutRT.h b/include/tkDNN/pluginsRT/ShortcutRT.h index fd2c60d..3eadd3f 100644 --- a/include/tkDNN/pluginsRT/ShortcutRT.h +++ b/include/tkDNN/pluginsRT/ShortcutRT.h @@ -47,7 +47,8 @@ public: dnnType *dstData = reinterpret_cast(outputs[0]); checkCuda( cudaMemcpyAsync(dstData, srcData, batchSize*c*h*w*sizeof(dnnType), cudaMemcpyDeviceToDevice, stream)); - shortcutForward(srcDataBack, dstData, batchSize, c, h, w, 1, batchSize, bc, bh, bw, 1, stream); + for(int b=0; b < batchSize; ++b) + shortcutForward(srcDataBack + b*bc*bh*bw, dstData + b*c*h*w, 1, c, h, w, 1, 1, bc, bh, bw, 1, stream); return 0; } diff --git a/tests/yolo3_512/yolo3_512.cpp b/tests/yolo3_512/yolo3_512.cpp index cb50410..5e796c1 100644 --- a/tests/yolo3_512/yolo3_512.cpp +++ b/tests/yolo3_512/yolo3_512.cpp @@ -10,7 +10,7 @@ int main() { // create yolo3 model std::string bin_path = "yolo3_512"; - downloadWeightsifDoNotExist("yolo3_512/layers/input.bin", bin_path, "https://cloud.hipert.unimore.it/s/e7HfScx77JEHeYb/download"); + downloadWeightsifDoNotExist("yolo3_512/layers/input.bin", bin_path, "https://cloud.hipert.unimore.it/s/RGecMeGLD4cXEWL/download"); int classes = 80; tk::dnn::Yolo *yolo [3]; #include "models/Yolo3.h" From 04bd5d7ff46270c732b76cd9656e22de930e138e Mon Sep 17 00:00:00 2001 From: Francesco Gatti Date: Tue, 28 Apr 2020 14:36:02 +0200 Subject: [PATCH 11/11] stream --- include/tkDNN/pluginsRT/MaxPoolingFixedSizeRT.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/tkDNN/pluginsRT/MaxPoolingFixedSizeRT.h b/include/tkDNN/pluginsRT/MaxPoolingFixedSizeRT.h index 74f88cd..911fca2 100644 --- a/include/tkDNN/pluginsRT/MaxPoolingFixedSizeRT.h +++ b/include/tkDNN/pluginsRT/MaxPoolingFixedSizeRT.h @@ -45,7 +45,7 @@ public: //std::cout<n<<" "<c<<" "<h<<" "<w<<" "<stride_H<<" "<stride_W<<" "<winSize<<" "<padding<(inputs[0]); dnnType *dstData = reinterpret_cast(outputs[0]); - MaxPoolingForward(srcData, dstData, batchSize, this->c, this->h, this->w, this->stride_H, this->stride_W, this->winSize, this->padding); + MaxPoolingForward(srcData, dstData, batchSize, this->c, this->h, this->w, this->stride_H, this->stride_W, this->winSize, this->padding, stream); return 0; }