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