From 2cacbb0be4b0c6591a0a72a57be4a7ed005db762 Mon Sep 17 00:00:00 2001 From: Scheaven <xuepengqiang> Date: 星期五, 23 七月 2021 14:24:13 +0800 Subject: [PATCH] bug --- config.json | 2 src/core/ari_manager.cpp | 4 src/detecter_tools/detector.cpp | 4 src/detecter_tools/model.cpp | 114 ++++++++++++++++++++----------------- src/detecter_tools/model.h | 2 5 files changed, 68 insertions(+), 58 deletions(-) diff --git a/config.json b/config.json index 2ae7b86..0c210af 100644 --- a/config.json +++ b/config.json @@ -2,7 +2,7 @@ "so_file_path": "/opt/vasystem/libs/Detect/libdemo.so", "runtime": "/opt/vasystem/libs/Detect:/usr/local/cuda-11.1/lib64:", // 椤圭洰鎵�鐢ㄥ埌鐨勭幆澧� "param": { - // "model_path": "/data/disk1/project/model_dump/02_yolo/baseDetect-kFLOAT-batch16.engine" // para閲岃竟鑷繁绠楁硶鍙兘鐢ㄥ埌鐨勫弬鏁� + // "model_path": "/data/disk1/project/model_dump/02_yolo/03_test.trt", // para閲岃竟鑷繁绠楁硶鍙兘鐢ㄥ埌鐨勫弬鏁� "model_path": "/data/disk1/project/model_dump/02_yolo/baseDetetor_small.bin", // para閲岃竟鑷繁绠楁硶鍙兘鐢ㄥ埌鐨勫弬鏁� "type":2 } diff --git a/src/core/ari_manager.cpp b/src/core/ari_manager.cpp index f6db85e..908ccee 100644 --- a/src/core/ari_manager.cpp +++ b/src/core/ari_manager.cpp @@ -8,8 +8,8 @@ AriManager::AriManager() { Config config; - config.net_type = COMMON; - + // config.net_type = COMMON; + printf("----0-0-0-0-0-0-----444-------------%d",m_staticStruct::type); if(m_staticStruct::type==2) config.net_type = SMALL; else diff --git a/src/detecter_tools/detector.cpp b/src/detecter_tools/detector.cpp index cf3e313..1a3d1aa 100644 --- a/src/detecter_tools/detector.cpp +++ b/src/detecter_tools/detector.cpp @@ -96,8 +96,8 @@ void Detector::build_net() { if(_config.net_type == COMMON) - _p_net = std::unique_ptr<Detecter>{new Detecter(_info,_infer_param,0)}; - else{ _p_net = std::unique_ptr<Detecter>{new Detecter(_info,_infer_param,1)}; + else{ + _p_net = std::unique_ptr<Detecter>{new Detecter(_info,_infer_param,2)}; } } diff --git a/src/detecter_tools/model.cpp b/src/detecter_tools/model.cpp index fd7752c..f3b21a8 100644 --- a/src/detecter_tools/model.cpp +++ b/src/detecter_tools/model.cpp @@ -268,12 +268,72 @@ void Detecter::setOutput(int type) { m_OutputTensors.clear(); - if(type==0) - for (int i = 0; i < 3; ++i) + printf("0-0-0-0-0-0------------------%d",type); + if(type==2) + for (int i = 0; i < 2; ++i) { TensorInfo outputTensor; outputTensor.numClasses = CLASS_BUM; outputTensor.blobName = "yolo_" + std::to_string(i); + outputTensor.gridSize = (m_InputH / 32) * pow(2, i); + outputTensor.grid_h = (m_InputH / 32) * pow(2, i); + outputTensor.grid_w = (m_InputW / 32) * pow(2, i); + outputTensor.stride = m_InputH / outputTensor.gridSize; + outputTensor.stride_h = m_InputH / outputTensor.grid_h; + outputTensor.stride_w = m_InputW / outputTensor.grid_w; + outputTensor.numBBoxes = 3; + outputTensor.volume = outputTensor.grid_h* outputTensor.grid_w + *(outputTensor.numBBoxes*(5 + outputTensor.numClasses)); + if(i==1) + { + outputTensor.masks.push_back(1); + outputTensor.masks.push_back(2); + outputTensor.masks.push_back(3); + } + if(i==0) + { + outputTensor.masks.push_back(3); + outputTensor.masks.push_back(4); + outputTensor.masks.push_back(5); + } + outputTensor.anchors.push_back(10); + outputTensor.anchors.push_back(14); + outputTensor.anchors.push_back(23); + outputTensor.anchors.push_back(27); + outputTensor.anchors.push_back(37); + outputTensor.anchors.push_back(58); + outputTensor.anchors.push_back(81); + outputTensor.anchors.push_back(82); + outputTensor.anchors.push_back(135); + outputTensor.anchors.push_back(169); + outputTensor.anchors.push_back(344); + outputTensor.anchors.push_back(319); + + if (m_ClassNames.empty()) + { + for (uint32_t j=0;j< outputTensor.numClasses;++j) + { + m_ClassNames.push_back(std::to_string(j)); + } + } + m_OutputTensors.push_back(outputTensor); + } + else + for (int i = 0; i < 3; ++i) + { + TensorInfo outputTensor; + outputTensor.numClasses = CLASS_BUM; + outputTensor.blobName = "yolo_" + to_string(i); + // if (i==0) + // { + // outputTensor.blobName = "139_convolutional_reshape_2"; + // }else if (i==1) + // { + // outputTensor.blobName = "150_convolutional_reshape_2"; + // }else if (i==2) + // { + // outputTensor.blobName = "161_convolutional_reshape_2"; + // } outputTensor.gridSize = (m_InputH / 32) * pow(2, 2-i); outputTensor.grid_h = (m_InputH / 32) * pow(2, 2-i); outputTensor.grid_w = (m_InputW / 32) * pow(2, 2-i); @@ -319,56 +379,6 @@ outputTensor.anchors.push_back(243); outputTensor.anchors.push_back(459); outputTensor.anchors.push_back(401); - - if (m_ClassNames.empty()) - { - for (uint32_t j=0;j< outputTensor.numClasses;++j) - { - m_ClassNames.push_back(std::to_string(j)); - } - } - m_OutputTensors.push_back(outputTensor); - } - else - for (int i = 0; i < 2; ++i) - { - - TensorInfo outputTensor; - outputTensor.numClasses = CLASS_BUM; - outputTensor.blobName = "yolo_" + std::to_string(i); - outputTensor.gridSize = (m_InputH / 32) * pow(2, i); - outputTensor.grid_h = (m_InputH / 32) * pow(2, i); - outputTensor.grid_w = (m_InputW / 32) * pow(2, i); - outputTensor.stride = m_InputH / outputTensor.gridSize; - outputTensor.stride_h = m_InputH / outputTensor.grid_h; - outputTensor.stride_w = m_InputW / outputTensor.grid_w; - outputTensor.numBBoxes = 3; - outputTensor.volume = outputTensor.grid_h* outputTensor.grid_w - *(outputTensor.numBBoxes*(5 + outputTensor.numClasses)); - if(i==1) - { - outputTensor.masks.push_back(1); - outputTensor.masks.push_back(2); - outputTensor.masks.push_back(3); - } - if(i==0) - { - outputTensor.masks.push_back(3); - outputTensor.masks.push_back(4); - outputTensor.masks.push_back(5); - } - outputTensor.anchors.push_back(10); - outputTensor.anchors.push_back(14); - outputTensor.anchors.push_back(23); - outputTensor.anchors.push_back(27); - outputTensor.anchors.push_back(37); - outputTensor.anchors.push_back(58); - outputTensor.anchors.push_back(81); - outputTensor.anchors.push_back(82); - outputTensor.anchors.push_back(135); - outputTensor.anchors.push_back(169); - outputTensor.anchors.push_back(344); - outputTensor.anchors.push_back(319); if (m_ClassNames.empty()) { diff --git a/src/detecter_tools/model.h b/src/detecter_tools/model.h index 5fd61ad..33e5c8c 100644 --- a/src/detecter_tools/model.h +++ b/src/detecter_tools/model.h @@ -93,7 +93,7 @@ 22, 23, 24, 25, 27, 28, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 67, 70, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 84, 85, 86, 87, 88, 89, 90}; - uint32_t m_BatchSize = 10; + uint32_t m_BatchSize = 1; nvinfer1::INetworkDefinition* m_Network; nvinfer1::IBuilder* m_Builder ; nvinfer1::IHostMemory* m_ModelStream; -- Gitblit v1.8.0