From ab5dbf5b15773b87d78ea211044b30e048cec455 Mon Sep 17 00:00:00 2001 From: AlKurpiakov Date: Sat, 12 Apr 2025 22:16:14 +0300 Subject: [PATCH 01/24] =?UTF-8?q?=20=D0=A2=D0=B5=D0=BA=D1=83=D1=89=D0=B0?= =?UTF-8?q?=D1=8F=20=D0=B2=D0=B5=D1=82=D0=BA=D0=B0:=20ONNX-Model-Parser=20?= =?UTF-8?q?=20=D0=AD=D1=82=D0=B0=20=D0=B2=D0=B5=D1=82=D0=BA=D0=B0=20=D1=81?= =?UTF-8?q?=D0=BE=D0=BE=D1=82=D0=B2=D0=B5=D1=82=D1=81=D1=82=D0=B2=D1=83?= =?UTF-8?q?=D0=B5=D1=82=20=C2=ABorigin/ONNX-Model-Parser=C2=BB.=20=20?= =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F,=20?= =?UTF-8?q?=D0=BA=D0=BE=D1=82=D0=BE=D1=80=D1=8B=D0=B5=20=D0=B1=D1=83=D0=B4?= =?UTF-8?q?=D1=83=D1=82=20=D0=B2=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D1=8B?= =?UTF-8?q?=20=D0=B2=20=D0=BA=D0=BE=D0=BC=D0=BC=D0=B8=D1=82:=20=09=D0=B8?= =?UTF-8?q?=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=BE:=20=20=20=20=20=20.g?= =?UTF-8?q?ithub/workflows/main.yml=20=09=D0=BD=D0=BE=D0=B2=D1=8B=D0=B9=20?= =?UTF-8?q?=D1=84=D0=B0=D0=B9=D0=BB:=20=20=20=20app/frontend/CMakeLists.tx?= =?UTF-8?q?t=20=09=D0=BD=D0=BE=D0=B2=D1=8B=D0=B9=20=D1=84=D0=B0=D0=B9?= =?UTF-8?q?=D0=BB:=20=20=20=20app/frontend/GetModel.sh=20=09=D0=BD=D0=BE?= =?UTF-8?q?=D0=B2=D1=8B=D0=B9=20=D1=84=D0=B0=D0=B9=D0=BB:=20=20=20=20app/f?= =?UTF-8?q?rontend/README.md=20=09=D0=BD=D0=BE=D0=B2=D1=8B=D0=B9=20=D1=84?= =?UTF-8?q?=D0=B0=D0=B9=D0=BB:=20=20=20=20app/frontend/main.cpp?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/main.yml | 9 +++++ app/frontend/CMakeLists.txt | 67 +++++++++++++++++++++++++++++++++++++ app/frontend/GetModel.sh | 6 ++++ app/frontend/README.md | 19 +++++++++++ app/frontend/main.cpp | 35 +++++++++++++++++++ 5 files changed, 136 insertions(+) create mode 100644 app/frontend/CMakeLists.txt create mode 100644 app/frontend/GetModel.sh create mode 100644 app/frontend/README.md create mode 100644 app/frontend/main.cpp diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 31adbd5..6085f47 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -16,6 +16,9 @@ jobs: - name: Install dependencies run: | sudo apt-get install -y cmake ninja-build ccache scons + sudo apt-get install python3-dev libprotobuf-dev protobuf-compiler + python -m pip install --upgrade pip + python -m pip install -r requirements.txt - name: ccache uses: hendrikmuhs/ccache-action@v1.2 with: @@ -38,6 +41,9 @@ jobs: - name: Install dependencies run: | sudo apt-get install -y cmake ninja-build ccache scons + sudo apt-get install python3-dev libprotobuf-dev protobuf-compiler + python -m pip install --upgrade pip + python -m pip install -r requirements.txt - name: ccache uses: hendrikmuhs/ccache-action@v1.2 with: @@ -82,6 +88,9 @@ jobs: - name: Install dependencies run: | sudo apt-get install -y cmake ninja-build ccache gcovr lcov scons + sudo apt-get install python3-dev libprotobuf-dev protobuf-compiler + python -m pip install --upgrade pip + python -m pip install -r requirements.txt - uses: actions/checkout@v4 with: submodules: true diff --git a/app/frontend/CMakeLists.txt b/app/frontend/CMakeLists.txt new file mode 100644 index 0000000..426889e --- /dev/null +++ b/app/frontend/CMakeLists.txt @@ -0,0 +1,67 @@ +cmake_minimum_required(VERSION 3.10) +project(ModelParser) + +set(CMAKE_CXX_STANDARD 11) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + +find_package(Protobuf REQUIRED) +file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/generated) + +set(ONNX_GENERATED_DIR "${CMAKE_SOURCE_DIR}/generated") + +set(ONNX_PROTO_SRCS + "${ONNX_GENERATED_DIR}/onnx.pb.cc" +) + +set(ONNX_GENERATED_HEADER + "${ONNX_GENERATED_DIR}/onnx.pb.h" +) + +set(SRC_FILES + main.cpp + ${ONNX_PROTO_SRCS} +) + +set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/generated/onnx.pb.h PROPERTIES GENERATED TRUE) +set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/generated/onnx.pb.cc PROPERTIES GENERATED TRUE) +set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/generated/yolo11x.onnx PROPERTIES GENERATED TRUE) + + +set(YOLO_SRC "${CMAKE_SOURCE_DIR}/generated/yolo11x.onnx") +set(YOLO_DST "${CMAKE_CURRENT_BINARY_DIR}/generated/yolo11x.onnx") + + +set(ONNX_SRC "${CMAKE_CURRENT_BINARY_DIR}/generated/onnx.pb.h") +set(ONNX_HEADER "${CMAKE_CURRENT_BINARY_DIR}/generated/onnx.pb.cc") + +if(EXISTS "${YOLO_SRC}") + configure_file(${YOLO_SRC} ${YOLO_DST} COPYONLY) +else() + file(WRITE "${YOLO_DST}" "") +endif() + +if(EXISTS "${ONNX_PROTO_SRCS}") + configure_file(${ONNX_PROTO_SRCS} ${ONNX_SRC} COPYONLY) +else() + file(WRITE "${ONNX_SRC}" "") +endif() + +if(EXISTS "${ONNX_GENERATED_HEADER}") + configure_file(${ONNX_GENERATED_HEADER} ${ONNX_HEADER} COPYONLY) +else() + file(WRITE "${ONNX_HEADER}" "") +endif() + + +add_executable(ModelParser main.cpp) + +target_include_directories(ModelParser PRIVATE + ${ONNX_GENERATED_DIR} + ${Protobuf_INCLUDE_DIRS} +) + +target_link_libraries(ModelParser + ${Protobuf_LIBRARIES} + ${ONNX_GENERATED_HEADER} + "IR.h" +) diff --git a/app/frontend/GetModel.sh b/app/frontend/GetModel.sh new file mode 100644 index 0000000..ae8eed5 --- /dev/null +++ b/app/frontend/GetModel.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +protoc --proto_path=../../3rdparty/onnx/onnx --cpp_out=./generated onnx.proto +yolo export model=yolo11x.pt format=onnx save_dir=./generated + + diff --git a/app/frontend/README.md b/app/frontend/README.md new file mode 100644 index 0000000..b41db91 --- /dev/null +++ b/app/frontend/README.md @@ -0,0 +1,19 @@ +## __How to run yolov11x model parser__ + +1. Build the project. + +2. Get a network model using Ultralytics CLI + +- Give "executable mode" to the script GetModel.sh + ``` + chmod +x GetModel.sh + ``` +- Run script + ``` + bash GetModel.sh + ``` + +3. Run the project + ``` + ./ModelParser + ``` diff --git a/app/frontend/main.cpp b/app/frontend/main.cpp new file mode 100644 index 0000000..71736c2 --- /dev/null +++ b/app/frontend/main.cpp @@ -0,0 +1,35 @@ +#include +#include +#include +#include + +#include "onnx.pb.h" + +int main() { + std::ifstream model_file("generated/yolo11x.onnx", std::ios::binary); + + if (!model_file.is_open()) { + std::cerr << "Failed to open model" << std::endl; + return 1; + } + + onnx::ModelProto model; + if (!model.ParseFromIstream(&model_file)) { + std::cerr << "Model parsing error" << std::endl; + return 1; + } + model_file.close(); + + std::vector layer; + + for (int i = 0; i < model.graph().node_size(); ++i) { + const onnx::NodeProto& node = model.graph().node(i); + layer.emplace_back(node.op_type()); + } + + for (auto it : layer) { + std::cout << it << std::endl; + } + + return 0; +} From 9eb09a6f1849f4a31acc86a32838622b4e041ac9 Mon Sep 17 00:00:00 2001 From: AlKurpiakov Date: Sat, 12 Apr 2025 22:18:09 +0300 Subject: [PATCH 02/24] =?UTF-8?q?=20=D0=A2=D0=B5=D0=BA=D1=83=D1=89=D0=B0?= =?UTF-8?q?=D1=8F=20=D0=B2=D0=B5=D1=82=D0=BA=D0=B0:=20ONNX-Model-Parser=20?= =?UTF-8?q?=20=D0=AD=D1=82=D0=B0=20=D0=B2=D0=B5=D1=82=D0=BA=D0=B0=20=D1=81?= =?UTF-8?q?=D0=BE=D0=BE=D1=82=D0=B2=D0=B5=D1=82=D1=81=D1=82=D0=B2=D1=83?= =?UTF-8?q?=D0=B5=D1=82=20=C2=ABorigin/ONNX-Model-Parser=C2=BB.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Изменения, которые будут включены в коммит: изменено: app/CMakeLists.txt --- app/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/app/CMakeLists.txt b/app/CMakeLists.txt index a5c4dce..beb5da1 100644 --- a/app/CMakeLists.txt +++ b/app/CMakeLists.txt @@ -1 +1,2 @@ add_subdirectory(example) +add_subdirectory(frontend) \ No newline at end of file From f051a741b0ac24a58fbf29b28741f6e438167278 Mon Sep 17 00:00:00 2001 From: AlKurpiakov Date: Sat, 12 Apr 2025 22:21:05 +0300 Subject: [PATCH 03/24] =?UTF-8?q?=20=D0=A2=D0=B5=D0=BA=D1=83=D1=89=D0=B0?= =?UTF-8?q?=D1=8F=20=D0=B2=D0=B5=D1=82=D0=BA=D0=B0:=20ONNX-Model-Parser=20?= =?UTF-8?q?=20=D0=AD=D1=82=D0=B0=20=D0=B2=D0=B5=D1=82=D0=BA=D0=B0=20=D1=81?= =?UTF-8?q?=D0=BE=D0=BE=D1=82=D0=B2=D0=B5=D1=82=D1=81=D1=82=D0=B2=D1=83?= =?UTF-8?q?=D0=B5=D1=82=20=C2=ABorigin/ONNX-Model-Parser=C2=BB.=20=20?= =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F,=20?= =?UTF-8?q?=D0=BA=D0=BE=D1=82=D0=BE=D1=80=D1=8B=D0=B5=20=D0=B1=D1=83=D0=B4?= =?UTF-8?q?=D1=83=D1=82=20=D0=B2=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D1=8B?= =?UTF-8?q?=20=D0=B2=20=D0=BA=D0=BE=D0=BC=D0=BC=D0=B8=D1=82:=20=09=D0=BD?= =?UTF-8?q?=D0=BE=D0=B2=D1=8B=D0=B9=20=D1=84=D0=B0=D0=B9=D0=BB:=20=20=20?= =?UTF-8?q?=20requirements.txt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- requirements.txt | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 requirements.txt diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..e69de29 From be3a1438b720319b83cda4f8cc40f53e5d55dd5e Mon Sep 17 00:00:00 2001 From: AlKurpiakov Date: Tue, 29 Apr 2025 16:34:08 +0300 Subject: [PATCH 04/24] =?UTF-8?q?=20=D0=A2=D0=B5=D0=BA=D1=83=D1=89=D0=B0?= =?UTF-8?q?=D1=8F=20=D0=B2=D0=B5=D1=82=D0=BA=D0=B0:=20ONNX-Model-Parser=20?= =?UTF-8?q?=20=D0=AD=D1=82=D0=B0=20=D0=B2=D0=B5=D1=82=D0=BA=D0=B0=20=D1=81?= =?UTF-8?q?=D0=BE=D0=BE=D1=82=D0=B2=D0=B5=D1=82=D1=81=D1=82=D0=B2=D1=83?= =?UTF-8?q?=D0=B5=D1=82=20=C2=ABorigin/ONNX-Model-Parser=C2=BB.=20=20?= =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F,=20?= =?UTF-8?q?=D0=BA=D0=BE=D1=82=D0=BE=D1=80=D1=8B=D0=B5=20=D0=B1=D1=83=D0=B4?= =?UTF-8?q?=D1=83=D1=82=20=D0=B2=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D1=8B?= =?UTF-8?q?=20=D0=B2=20=D0=BA=D0=BE=D0=BC=D0=BC=D0=B8=D1=82:=20=09=D0=B8?= =?UTF-8?q?=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=BE:=20=20=20=20=20=20CM?= =?UTF-8?q?akeLists.txt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/frontend/CMakeLists.txt | 47 ++++++++++++++----------------------- 1 file changed, 18 insertions(+), 29 deletions(-) diff --git a/app/frontend/CMakeLists.txt b/app/frontend/CMakeLists.txt index 426889e..2b488a4 100644 --- a/app/frontend/CMakeLists.txt +++ b/app/frontend/CMakeLists.txt @@ -22,38 +22,28 @@ set(SRC_FILES ${ONNX_PROTO_SRCS} ) -set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/generated/onnx.pb.h PROPERTIES GENERATED TRUE) -set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/generated/onnx.pb.cc PROPERTIES GENERATED TRUE) -set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/generated/yolo11x.onnx PROPERTIES GENERATED TRUE) - - -set(YOLO_SRC "${CMAKE_SOURCE_DIR}/generated/yolo11x.onnx") -set(YOLO_DST "${CMAKE_CURRENT_BINARY_DIR}/generated/yolo11x.onnx") - - -set(ONNX_SRC "${CMAKE_CURRENT_BINARY_DIR}/generated/onnx.pb.h") -set(ONNX_HEADER "${CMAKE_CURRENT_BINARY_DIR}/generated/onnx.pb.cc") +add_custom_command( + OUTPUT + ${ONNX_GENERATED_DIR}/onnx.pb.cc + ${ONNX_GENERATED_DIR}/onnx.pb.h + ${ONNX_GENERATED_DIR}/yolo11x.onnx + COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/GetModel.sh + WORKING_DIRECTORY ${ONNX_GENERATED_DIR} + COMMENT "Запуск генерации файлов..." + VERBATIM +) -if(EXISTS "${YOLO_SRC}") - configure_file(${YOLO_SRC} ${YOLO_DST} COPYONLY) -else() - file(WRITE "${YOLO_DST}" "") -endif() -if(EXISTS "${ONNX_PROTO_SRCS}") - configure_file(${ONNX_PROTO_SRCS} ${ONNX_SRC} COPYONLY) -else() - file(WRITE "${ONNX_SRC}" "") -endif() -if(EXISTS "${ONNX_GENERATED_HEADER}") - configure_file(${ONNX_GENERATED_HEADER} ${ONNX_HEADER} COPYONLY) -else() - file(WRITE "${ONNX_HEADER}" "") -endif() +set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/generated/onnx.pb.h PROPERTIES GENERATED TRUE) +set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/generated/onnx.pb.cc PROPERTIES GENERATED TRUE) +set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/generated/yolo11x.onnx PROPERTIES GENERATED TRUE) -add_executable(ModelParser main.cpp) +add_executable(ModelParser + main.cpp + ${ONNX_GENERATED_DIR}/onnx.pb.cc +) target_include_directories(ModelParser PRIVATE ${ONNX_GENERATED_DIR} @@ -62,6 +52,5 @@ target_include_directories(ModelParser PRIVATE target_link_libraries(ModelParser ${Protobuf_LIBRARIES} - ${ONNX_GENERATED_HEADER} - "IR.h" + ${ONNX_GENERATED_DIR} ) From 02b7e35881386e21f6b5d15da399b7997c322a4c Mon Sep 17 00:00:00 2001 From: AlKurpiakov Date: Tue, 29 Apr 2025 16:36:43 +0300 Subject: [PATCH 05/24] =?UTF-8?q?=20=D0=A2=D0=B5=D0=BA=D1=83=D1=89=D0=B0?= =?UTF-8?q?=D1=8F=20=D0=B2=D0=B5=D1=82=D0=BA=D0=B0:=20ONNX-Model-Parser=20?= =?UTF-8?q?=20=D0=AD=D1=82=D0=B0=20=D0=B2=D0=B5=D1=82=D0=BA=D0=B0=20=D1=81?= =?UTF-8?q?=D0=BE=D0=BE=D1=82=D0=B2=D0=B5=D1=82=D1=81=D1=82=D0=B2=D1=83?= =?UTF-8?q?=D0=B5=D1=82=20=C2=ABorigin/ONNX-Model-Parser=C2=BB.=20=20?= =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F,=20?= =?UTF-8?q?=D0=BA=D0=BE=D1=82=D0=BE=D1=80=D1=8B=D0=B5=20=D0=B1=D1=83=D0=B4?= =?UTF-8?q?=D1=83=D1=82=20=D0=B2=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D1=8B?= =?UTF-8?q?=20=D0=B2=20=D0=BA=D0=BE=D0=BC=D0=BC=D0=B8=D1=82:=20=09=D0=B8?= =?UTF-8?q?=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=BE:=20=20=20=20=20=20CM?= =?UTF-8?q?akeLists.txt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/frontend/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/app/frontend/CMakeLists.txt b/app/frontend/CMakeLists.txt index 2b488a4..0484369 100644 --- a/app/frontend/CMakeLists.txt +++ b/app/frontend/CMakeLists.txt @@ -35,6 +35,7 @@ add_custom_command( +set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/generated/ PROPERTIES GENERATED TRUE) set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/generated/onnx.pb.h PROPERTIES GENERATED TRUE) set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/generated/onnx.pb.cc PROPERTIES GENERATED TRUE) set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/generated/yolo11x.onnx PROPERTIES GENERATED TRUE) From cdd7ff738793395048550f0112db74dcc1d42a42 Mon Sep 17 00:00:00 2001 From: AlKurpiakov Date: Tue, 29 Apr 2025 17:29:27 +0300 Subject: [PATCH 06/24] =?UTF-8?q?=20=D0=A2=D0=B5=D0=BA=D1=83=D1=89=D0=B0?= =?UTF-8?q?=D1=8F=20=D0=B2=D0=B5=D1=82=D0=BA=D0=B0:=20ONNX-Model-Parser=20?= =?UTF-8?q?=20=D0=AD=D1=82=D0=B0=20=D0=B2=D0=B5=D1=82=D0=BA=D0=B0=20=D1=81?= =?UTF-8?q?=D0=BE=D0=BE=D1=82=D0=B2=D0=B5=D1=82=D1=81=D1=82=D0=B2=D1=83?= =?UTF-8?q?=D0=B5=D1=82=20=C2=ABorigin/ONNX-Model-Parser=C2=BB.=20=20?= =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F,=20?= =?UTF-8?q?=D0=BA=D0=BE=D1=82=D0=BE=D1=80=D1=8B=D0=B5=20=D0=B1=D1=83=D0=B4?= =?UTF-8?q?=D1=83=D1=82=20=D0=B2=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D1=8B?= =?UTF-8?q?=20=D0=B2=20=D0=BA=D0=BE=D0=BC=D0=BC=D0=B8=D1=82:=20=09=D0=B8?= =?UTF-8?q?=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=BE:=20=20=20=20=20=20CM?= =?UTF-8?q?akeLists.txt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/frontend/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/app/frontend/CMakeLists.txt b/app/frontend/CMakeLists.txt index 0484369..fd01c3d 100644 --- a/app/frontend/CMakeLists.txt +++ b/app/frontend/CMakeLists.txt @@ -24,6 +24,7 @@ set(SRC_FILES add_custom_command( OUTPUT + ${ONNX_GENERATED_DIR} ${ONNX_GENERATED_DIR}/onnx.pb.cc ${ONNX_GENERATED_DIR}/onnx.pb.h ${ONNX_GENERATED_DIR}/yolo11x.onnx From 554db6991dbdb9338d533c8451b56ff957ed23d4 Mon Sep 17 00:00:00 2001 From: AlKurpiakov Date: Tue, 29 Apr 2025 17:37:36 +0300 Subject: [PATCH 07/24] =?UTF-8?q?=20=D0=A2=D0=B5=D0=BA=D1=83=D1=89=D0=B0?= =?UTF-8?q?=D1=8F=20=D0=B2=D0=B5=D1=82=D0=BA=D0=B0:=20ONNX-Model-Parser=20?= =?UTF-8?q?=20=D0=AD=D1=82=D0=B0=20=D0=B2=D0=B5=D1=82=D0=BA=D0=B0=20=D1=81?= =?UTF-8?q?=D0=BE=D0=BE=D1=82=D0=B2=D0=B5=D1=82=D1=81=D1=82=D0=B2=D1=83?= =?UTF-8?q?=D0=B5=D1=82=20=C2=ABorigin/ONNX-Model-Parser=C2=BB.=20=20?= =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F,=20?= =?UTF-8?q?=D0=BA=D0=BE=D1=82=D0=BE=D1=80=D1=8B=D0=B5=20=D0=B1=D1=83=D0=B4?= =?UTF-8?q?=D1=83=D1=82=20=D0=B2=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D1=8B?= =?UTF-8?q?=20=D0=B2=20=D0=BA=D0=BE=D0=BC=D0=BC=D0=B8=D1=82:=20=09=D0=B8?= =?UTF-8?q?=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=BE:=20=20=20=20=20=20CM?= =?UTF-8?q?akeLists.txt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/frontend/CMakeLists.txt | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/app/frontend/CMakeLists.txt b/app/frontend/CMakeLists.txt index fd01c3d..db93031 100644 --- a/app/frontend/CMakeLists.txt +++ b/app/frontend/CMakeLists.txt @@ -22,16 +22,24 @@ set(SRC_FILES ${ONNX_PROTO_SRCS} ) +set(SETUP_SCRIPT ${CMAKE_SOURCE_DIR}/GetModel.sh) + + +set(GENERATED_FILES + ${ONNX_GENERATED_DIR}/onnx.pb.cc + ${ONNX_GENERATED_DIR}/onnx.pb.h + ${ONNX_GENERATED_DIR}/yolo11x.onnx +) + add_custom_command( - OUTPUT - ${ONNX_GENERATED_DIR} - ${ONNX_GENERATED_DIR}/onnx.pb.cc - ${ONNX_GENERATED_DIR}/onnx.pb.h - ${ONNX_GENERATED_DIR}/yolo11x.onnx - COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/GetModel.sh - WORKING_DIRECTORY ${ONNX_GENERATED_DIR} - COMMENT "Запуск генерации файлов..." - VERBATIM + OUTPUT ${GENERATED_FILES} + COMMAND bash ${SETUP_SCRIPT} + WORKING_DIRECTORY ${CMAKE_BINARY_DIR} + DEPENDS ${SETUP_SCRIPT} +) + +add_custom_target(generate_output ALL + DEPENDS ${GENERATED_FILES} ) From 6977b62a8f42eee0597b608a9e148e84f493bf00 Mon Sep 17 00:00:00 2001 From: AlKurpiakov Date: Tue, 29 Apr 2025 17:59:11 +0300 Subject: [PATCH 08/24] =?UTF-8?q?=20=D0=A2=D0=B5=D0=BA=D1=83=D1=89=D0=B0?= =?UTF-8?q?=D1=8F=20=D0=B2=D0=B5=D1=82=D0=BA=D0=B0:=20ONNX-Model-Parser=20?= =?UTF-8?q?=20=D0=AD=D1=82=D0=B0=20=D0=B2=D0=B5=D1=82=D0=BA=D0=B0=20=D1=81?= =?UTF-8?q?=D0=BE=D0=BE=D1=82=D0=B2=D0=B5=D1=82=D1=81=D1=82=D0=B2=D1=83?= =?UTF-8?q?=D0=B5=D1=82=20=C2=ABorigin/ONNX-Model-Parser=C2=BB.=20=20?= =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F,=20?= =?UTF-8?q?=D0=BA=D0=BE=D1=82=D0=BE=D1=80=D1=8B=D0=B5=20=D0=B1=D1=83=D0=B4?= =?UTF-8?q?=D1=83=D1=82=20=D0=B2=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D1=8B?= =?UTF-8?q?=20=D0=B2=20=D0=BA=D0=BE=D0=BC=D0=BC=D0=B8=D1=82:=20=09=D0=B8?= =?UTF-8?q?=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=BE:=20=20=20=20=20=20CM?= =?UTF-8?q?akeLists.txt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/frontend/CMakeLists.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/frontend/CMakeLists.txt b/app/frontend/CMakeLists.txt index db93031..fb888a1 100644 --- a/app/frontend/CMakeLists.txt +++ b/app/frontend/CMakeLists.txt @@ -7,14 +7,14 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON) find_package(Protobuf REQUIRED) file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/generated) -set(ONNX_GENERATED_DIR "${CMAKE_SOURCE_DIR}/generated") +set(ONNX_GENERATED_DIR "${CMAKE_SOURCE_DIR}/app/frontend/build/generated") set(ONNX_PROTO_SRCS - "${ONNX_GENERATED_DIR}/onnx.pb.cc" + "${ONNX_GENERATED_DIR}/app/frontend/build/onnx.pb.cc" ) set(ONNX_GENERATED_HEADER - "${ONNX_GENERATED_DIR}/onnx.pb.h" + "${ONNX_GENERATED_DIR}/app/frontend/build/onnx.pb.h" ) set(SRC_FILES From 4c948ba6367bd8d807acf7eb7a598d7b9e17b4b1 Mon Sep 17 00:00:00 2001 From: AlKurpiakov Date: Tue, 29 Apr 2025 18:03:44 +0300 Subject: [PATCH 09/24] =?UTF-8?q?=20=D0=A2=D0=B5=D0=BA=D1=83=D1=89=D0=B0?= =?UTF-8?q?=D1=8F=20=D0=B2=D0=B5=D1=82=D0=BA=D0=B0:=20ONNX-Model-Parser=20?= =?UTF-8?q?=20=D0=AD=D1=82=D0=B0=20=D0=B2=D0=B5=D1=82=D0=BA=D0=B0=20=D1=81?= =?UTF-8?q?=D0=BE=D0=BE=D1=82=D0=B2=D0=B5=D1=82=D1=81=D1=82=D0=B2=D1=83?= =?UTF-8?q?=D0=B5=D1=82=20=C2=ABorigin/ONNX-Model-Parser=C2=BB.=20=20?= =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F,=20?= =?UTF-8?q?=D0=BA=D0=BE=D1=82=D0=BE=D1=80=D1=8B=D0=B5=20=D0=B1=D1=83=D0=B4?= =?UTF-8?q?=D1=83=D1=82=20=D0=B2=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D1=8B?= =?UTF-8?q?=20=D0=B2=20=D0=BA=D0=BE=D0=BC=D0=BC=D0=B8=D1=82:=20=09=D0=B8?= =?UTF-8?q?=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=BE:=20=20=20=20=20=20CM?= =?UTF-8?q?akeLists.txt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/frontend/CMakeLists.txt | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/app/frontend/CMakeLists.txt b/app/frontend/CMakeLists.txt index fb888a1..caa674d 100644 --- a/app/frontend/CMakeLists.txt +++ b/app/frontend/CMakeLists.txt @@ -5,16 +5,16 @@ set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) find_package(Protobuf REQUIRED) -file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/generated) + set(ONNX_GENERATED_DIR "${CMAKE_SOURCE_DIR}/app/frontend/build/generated") set(ONNX_PROTO_SRCS - "${ONNX_GENERATED_DIR}/app/frontend/build/onnx.pb.cc" + "${ONNX_GENERATED_DIR}/app/frontend/build/generated/onnx.pb.cc" ) set(ONNX_GENERATED_HEADER - "${ONNX_GENERATED_DIR}/app/frontend/build/onnx.pb.h" + "${ONNX_GENERATED_DIR}/app/frontend/build/generated/onnx.pb.h" ) set(SRC_FILES @@ -22,7 +22,7 @@ set(SRC_FILES ${ONNX_PROTO_SRCS} ) -set(SETUP_SCRIPT ${CMAKE_SOURCE_DIR}/GetModel.sh) +set(SETUP_SCRIPT ${CMAKE_SOURCE_DIR}/app/frontend/GetModel.sh) set(GENERATED_FILES @@ -43,11 +43,9 @@ add_custom_target(generate_output ALL ) - -set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/generated/ PROPERTIES GENERATED TRUE) -set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/generated/onnx.pb.h PROPERTIES GENERATED TRUE) -set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/generated/onnx.pb.cc PROPERTIES GENERATED TRUE) -set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/generated/yolo11x.onnx PROPERTIES GENERATED TRUE) +set_source_files_properties(${ONNX_GENERATED_HEADER} PROPERTIES GENERATED TRUE) +set_source_files_properties(${ONNX_PROTO_SRCS} PROPERTIES GENERATED TRUE) +set_source_files_properties(${ONNX_GENERATED_DIR}/yolo11x.onnx PROPERTIES GENERATED TRUE) add_executable(ModelParser From 6d9ece4ebed5ea97e9fe5d11743c8d9c934e64a7 Mon Sep 17 00:00:00 2001 From: AlKurpiakov Date: Tue, 29 Apr 2025 18:07:29 +0300 Subject: [PATCH 10/24] =?UTF-8?q?=20=D0=A2=D0=B5=D0=BA=D1=83=D1=89=D0=B0?= =?UTF-8?q?=D1=8F=20=D0=B2=D0=B5=D1=82=D0=BA=D0=B0:=20ONNX-Model-Parser=20?= =?UTF-8?q?=20=D0=AD=D1=82=D0=B0=20=D0=B2=D0=B5=D1=82=D0=BA=D0=B0=20=D1=81?= =?UTF-8?q?=D0=BE=D0=BE=D1=82=D0=B2=D0=B5=D1=82=D1=81=D1=82=D0=B2=D1=83?= =?UTF-8?q?=D0=B5=D1=82=20=C2=ABorigin/ONNX-Model-Parser=C2=BB.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Изменения, которые будут включены в коммит: изменено: CMakeLists.txt --- app/frontend/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/frontend/CMakeLists.txt b/app/frontend/CMakeLists.txt index caa674d..1544db7 100644 --- a/app/frontend/CMakeLists.txt +++ b/app/frontend/CMakeLists.txt @@ -34,7 +34,7 @@ set(GENERATED_FILES add_custom_command( OUTPUT ${GENERATED_FILES} COMMAND bash ${SETUP_SCRIPT} - WORKING_DIRECTORY ${CMAKE_BINARY_DIR} + WORKING_DIRECTORY ${ONNX_GENERATED_DIR} DEPENDS ${SETUP_SCRIPT} ) From 7ac774e1f1d0caf8449556172bff7665ee2c7192 Mon Sep 17 00:00:00 2001 From: AlKurpiakov Date: Tue, 29 Apr 2025 18:11:09 +0300 Subject: [PATCH 11/24] =?UTF-8?q?=20=D0=A2=D0=B5=D0=BA=D1=83=D1=89=D0=B0?= =?UTF-8?q?=D1=8F=20=D0=B2=D0=B5=D1=82=D0=BA=D0=B0:=20ONNX-Model-Parser=20?= =?UTF-8?q?=20=D0=AD=D1=82=D0=B0=20=D0=B2=D0=B5=D1=82=D0=BA=D0=B0=20=D1=81?= =?UTF-8?q?=D0=BE=D0=BE=D1=82=D0=B2=D0=B5=D1=82=D1=81=D1=82=D0=B2=D1=83?= =?UTF-8?q?=D0=B5=D1=82=20=C2=ABorigin/ONNX-Model-Parser=C2=BB.=20=20?= =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F,=20?= =?UTF-8?q?=D0=BA=D0=BE=D1=82=D0=BE=D1=80=D1=8B=D0=B5=20=D0=B1=D1=83=D0=B4?= =?UTF-8?q?=D1=83=D1=82=20=D0=B2=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D1=8B?= =?UTF-8?q?=20=D0=B2=20=D0=BA=D0=BE=D0=BC=D0=BC=D0=B8=D1=82:=20=09=D0=B8?= =?UTF-8?q?=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=BE:=20=20=20=20=20=20CM?= =?UTF-8?q?akeLists.txt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/frontend/CMakeLists.txt | 54 +++++++++++++++---------------------- 1 file changed, 21 insertions(+), 33 deletions(-) diff --git a/app/frontend/CMakeLists.txt b/app/frontend/CMakeLists.txt index 1544db7..a31f8db 100644 --- a/app/frontend/CMakeLists.txt +++ b/app/frontend/CMakeLists.txt @@ -6,59 +6,47 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON) find_package(Protobuf REQUIRED) +set(ONNX_GENERATED_DIR "${CMAKE_SOURCE_DIR}/app/frontend/build/generated") -set(ONNX_GENERATED_DIR "${CMAKE_SOURCE_DIR}/app/frontend/build/generated") - -set(ONNX_PROTO_SRCS - "${ONNX_GENERATED_DIR}/app/frontend/build/generated/onnx.pb.cc" -) - -set(ONNX_GENERATED_HEADER - "${ONNX_GENERATED_DIR}/app/frontend/build/generated/onnx.pb.h" -) - -set(SRC_FILES - main.cpp - ${ONNX_PROTO_SRCS} -) - -set(SETUP_SCRIPT ${CMAKE_SOURCE_DIR}/app/frontend/GetModel.sh) - +set(SETUP_SCRIPT "${CMAKE_SOURCE_DIR}/app/frontend/GetModel.sh") set(GENERATED_FILES - ${ONNX_GENERATED_DIR}/onnx.pb.cc - ${ONNX_GENERATED_DIR}/onnx.pb.h - ${ONNX_GENERATED_DIR}/yolo11x.onnx + "${ONNX_GENERATED_DIR}/onnx.pb.cc" + "${ONNX_GENERATED_DIR}/onnx.pb.h" + "${ONNX_GENERATED_DIR}/yolo11x.onnx" ) add_custom_command( OUTPUT ${GENERATED_FILES} + COMMAND ${CMAKE_COMMAND} -E make_directory "${ONNX_GENERATED_DIR}" COMMAND bash ${SETUP_SCRIPT} - WORKING_DIRECTORY ${ONNX_GENERATED_DIR} + WORKING_DIRECTORY "${ONNX_GENERATED_DIR}" DEPENDS ${SETUP_SCRIPT} + COMMENT "Создаём каталог и генерируем ONNX-файлы" ) add_custom_target(generate_output ALL DEPENDS ${GENERATED_FILES} ) +set_source_files_properties( + "${ONNX_GENERATED_DIR}/onnx.pb.cc" + "${ONNX_GENERATED_DIR}/onnx.pb.h" + "${ONNX_GENERATED_DIR}/yolo11x.onnx" + PROPERTIES GENERATED TRUE +) -set_source_files_properties(${ONNX_GENERATED_HEADER} PROPERTIES GENERATED TRUE) -set_source_files_properties(${ONNX_PROTO_SRCS} PROPERTIES GENERATED TRUE) -set_source_files_properties(${ONNX_GENERATED_DIR}/yolo11x.onnx PROPERTIES GENERATED TRUE) - - -add_executable(ModelParser +# Исполнимый файл +add_executable(ModelParser main.cpp - ${ONNX_GENERATED_DIR}/onnx.pb.cc + "${ONNX_GENERATED_DIR}/onnx.pb.cc" ) target_include_directories(ModelParser PRIVATE - ${ONNX_GENERATED_DIR} - ${Protobuf_INCLUDE_DIRS} + "${ONNX_GENERATED_DIR}" + ${Protobuf_INCLUDE_DIRS} ) -target_link_libraries(ModelParser - ${Protobuf_LIBRARIES} - ${ONNX_GENERATED_DIR} +target_link_libraries(ModelParser + ${Protobuf_LIBRARIES} ) From 96ea4d29c9a799c77d6bde4c8339ebd58c82beaf Mon Sep 17 00:00:00 2001 From: AlKurpiakov Date: Tue, 29 Apr 2025 18:14:21 +0300 Subject: [PATCH 12/24] =?UTF-8?q?=20=D0=A2=D0=B5=D0=BA=D1=83=D1=89=D0=B0?= =?UTF-8?q?=D1=8F=20=D0=B2=D0=B5=D1=82=D0=BA=D0=B0:=20ONNX-Model-Parser=20?= =?UTF-8?q?=20=D0=AD=D1=82=D0=B0=20=D0=B2=D0=B5=D1=82=D0=BA=D0=B0=20=D1=81?= =?UTF-8?q?=D0=BE=D0=BE=D1=82=D0=B2=D0=B5=D1=82=D1=81=D1=82=D0=B2=D1=83?= =?UTF-8?q?=D0=B5=D1=82=20=C2=ABorigin/ONNX-Model-Parser=C2=BB.=20=20?= =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F,=20?= =?UTF-8?q?=D0=BA=D0=BE=D1=82=D0=BE=D1=80=D1=8B=D0=B5=20=D0=B1=D1=83=D0=B4?= =?UTF-8?q?=D1=83=D1=82=20=D0=B2=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D1=8B?= =?UTF-8?q?=20=D0=B2=20=D0=BA=D0=BE=D0=BC=D0=BC=D0=B8=D1=82:=20=09=D0=B8?= =?UTF-8?q?=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=BE:=20=20=20=20=20=20re?= =?UTF-8?q?quirements.txt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- requirements.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/requirements.txt b/requirements.txt index e69de29..b57dd3e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -0,0 +1 @@ +ultralytics >= 8.3.107 \ No newline at end of file From 0ea25ea39a00d8d81f09bbd8ead5511fa2bc5a78 Mon Sep 17 00:00:00 2001 From: AlKurpiakov Date: Tue, 29 Apr 2025 19:02:25 +0300 Subject: [PATCH 13/24] =?UTF-8?q?=20=D0=A2=D0=B5=D0=BA=D1=83=D1=89=D0=B0?= =?UTF-8?q?=D1=8F=20=D0=B2=D0=B5=D1=82=D0=BA=D0=B0:=20ONNX-Model-Parser=20?= =?UTF-8?q?=20=D0=AD=D1=82=D0=B0=20=D0=B2=D0=B5=D1=82=D0=BA=D0=B0=20=D1=81?= =?UTF-8?q?=D0=BE=D0=BE=D1=82=D0=B2=D0=B5=D1=82=D1=81=D1=82=D0=B2=D1=83?= =?UTF-8?q?=D0=B5=D1=82=20=C2=ABorigin/ONNX-Model-Parser=C2=BB.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Изменения, которые будут включены в коммит: изменено: app/frontend/GetModel.sh --- app/frontend/GetModel.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/frontend/GetModel.sh b/app/frontend/GetModel.sh index ae8eed5..0e1b42b 100644 --- a/app/frontend/GetModel.sh +++ b/app/frontend/GetModel.sh @@ -1,6 +1,6 @@ #!/bin/bash -protoc --proto_path=../../3rdparty/onnx/onnx --cpp_out=./generated onnx.proto -yolo export model=yolo11x.pt format=onnx save_dir=./generated +protoc --proto_path=./3rdparty/onnx/onnx --cpp_out=$1 onnx.proto +yolo export model=yolo11x.pt format=onnx save_dir=$1 From 97c7d81dcf2c5b5d2c676d25c27c71a10d3303e5 Mon Sep 17 00:00:00 2001 From: AlKurpiakov Date: Tue, 29 Apr 2025 19:06:44 +0300 Subject: [PATCH 14/24] =?UTF-8?q?=20=D0=A2=D0=B5=D0=BA=D1=83=D1=89=D0=B0?= =?UTF-8?q?=D1=8F=20=D0=B2=D0=B5=D1=82=D0=BA=D0=B0:=20ONNX-Model-Parser=20?= =?UTF-8?q?=20=D0=AD=D1=82=D0=B0=20=D0=B2=D0=B5=D1=82=D0=BA=D0=B0=20=D1=81?= =?UTF-8?q?=D0=BE=D0=BE=D1=82=D0=B2=D0=B5=D1=82=D1=81=D1=82=D0=B2=D1=83?= =?UTF-8?q?=D0=B5=D1=82=20=C2=ABorigin/ONNX-Model-Parser=C2=BB.=20=20?= =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F,=20?= =?UTF-8?q?=D0=BA=D0=BE=D1=82=D0=BE=D1=80=D1=8B=D0=B5=20=D0=B1=D1=83=D0=B4?= =?UTF-8?q?=D1=83=D1=82=20=D0=B2=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D1=8B?= =?UTF-8?q?=20=D0=B2=20=D0=BA=D0=BE=D0=BC=D0=BC=D0=B8=D1=82:=20=09=D0=B8?= =?UTF-8?q?=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=BE:=20=20=20=20=20=20ap?= =?UTF-8?q?p/frontend/CMakeLists.txt=20=09=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD?= =?UTF-8?q?=D0=B5=D0=BD=D0=BE:=20=20=20=20=20=20app/frontend/GetModel.sh?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/frontend/CMakeLists.txt | 3 +-- app/frontend/GetModel.sh | 4 +--- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/app/frontend/CMakeLists.txt b/app/frontend/CMakeLists.txt index a31f8db..01c0fe8 100644 --- a/app/frontend/CMakeLists.txt +++ b/app/frontend/CMakeLists.txt @@ -19,7 +19,7 @@ set(GENERATED_FILES add_custom_command( OUTPUT ${GENERATED_FILES} COMMAND ${CMAKE_COMMAND} -E make_directory "${ONNX_GENERATED_DIR}" - COMMAND bash ${SETUP_SCRIPT} + COMMAND bash ${SETUP_SCRIPT} "${ONNX_GENERATED_DIR}" WORKING_DIRECTORY "${ONNX_GENERATED_DIR}" DEPENDS ${SETUP_SCRIPT} COMMENT "Создаём каталог и генерируем ONNX-файлы" @@ -36,7 +36,6 @@ set_source_files_properties( PROPERTIES GENERATED TRUE ) -# Исполнимый файл add_executable(ModelParser main.cpp "${ONNX_GENERATED_DIR}/onnx.pb.cc" diff --git a/app/frontend/GetModel.sh b/app/frontend/GetModel.sh index 0e1b42b..894ffa1 100644 --- a/app/frontend/GetModel.sh +++ b/app/frontend/GetModel.sh @@ -1,6 +1,4 @@ #!/bin/bash -protoc --proto_path=./3rdparty/onnx/onnx --cpp_out=$1 onnx.proto +protoc --proto_path=3rdparty/onnx/onnx --cpp_out=$1 onnx.proto yolo export model=yolo11x.pt format=onnx save_dir=$1 - - From b9b143e0c5a789a63657e20e4b029bc15a143e0f Mon Sep 17 00:00:00 2001 From: AlKurpiakov Date: Tue, 29 Apr 2025 19:08:29 +0300 Subject: [PATCH 15/24] =?UTF-8?q?=20=D0=A2=D0=B5=D0=BA=D1=83=D1=89=D0=B0?= =?UTF-8?q?=D1=8F=20=D0=B2=D0=B5=D1=82=D0=BA=D0=B0:=20ONNX-Model-Parser=20?= =?UTF-8?q?=20=D0=AD=D1=82=D0=B0=20=D0=B2=D0=B5=D1=82=D0=BA=D0=B0=20=D1=81?= =?UTF-8?q?=D0=BE=D0=BE=D1=82=D0=B2=D0=B5=D1=82=D1=81=D1=82=D0=B2=D1=83?= =?UTF-8?q?=D0=B5=D1=82=20=C2=ABorigin/ONNX-Model-Parser=C2=BB.=20=20?= =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F,=20?= =?UTF-8?q?=D0=BA=D0=BE=D1=82=D0=BE=D1=80=D1=8B=D0=B5=20=D0=B1=D1=83=D0=B4?= =?UTF-8?q?=D1=83=D1=82=20=D0=B2=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D1=8B?= =?UTF-8?q?=20=D0=B2=20=D0=BA=D0=BE=D0=BC=D0=BC=D0=B8=D1=82:=20=09=D0=B8?= =?UTF-8?q?=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=BE:=20=20=20=20=20=20ap?= =?UTF-8?q?p/frontend/CMakeLists.txt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/frontend/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/app/frontend/CMakeLists.txt b/app/frontend/CMakeLists.txt index 01c0fe8..2057171 100644 --- a/app/frontend/CMakeLists.txt +++ b/app/frontend/CMakeLists.txt @@ -16,6 +16,7 @@ set(GENERATED_FILES "${ONNX_GENERATED_DIR}/yolo11x.onnx" ) + add_custom_command( OUTPUT ${GENERATED_FILES} COMMAND ${CMAKE_COMMAND} -E make_directory "${ONNX_GENERATED_DIR}" From 02adfb27608d4e0d590dfdcdf5fccd7a4d5bb867 Mon Sep 17 00:00:00 2001 From: AlKurpiakov Date: Tue, 29 Apr 2025 19:13:45 +0300 Subject: [PATCH 16/24] =?UTF-8?q?=20=D0=A2=D0=B5=D0=BA=D1=83=D1=89=D0=B0?= =?UTF-8?q?=D1=8F=20=D0=B2=D0=B5=D1=82=D0=BA=D0=B0:=20ONNX-Model-Parser=20?= =?UTF-8?q?=20=D0=AD=D1=82=D0=B0=20=D0=B2=D0=B5=D1=82=D0=BA=D0=B0=20=D1=81?= =?UTF-8?q?=D0=BE=D0=BE=D1=82=D0=B2=D0=B5=D1=82=D1=81=D1=82=D0=B2=D1=83?= =?UTF-8?q?=D0=B5=D1=82=20=C2=ABorigin/ONNX-Model-Parser=C2=BB.=20=20?= =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F,=20?= =?UTF-8?q?=D0=BA=D0=BE=D1=82=D0=BE=D1=80=D1=8B=D0=B5=20=D0=B1=D1=83=D0=B4?= =?UTF-8?q?=D1=83=D1=82=20=D0=B2=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D1=8B?= =?UTF-8?q?=20=D0=B2=20=D0=BA=D0=BE=D0=BC=D0=BC=D0=B8=D1=82:=20=09=D0=B8?= =?UTF-8?q?=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=BE:=20=20=20=20=20=20CM?= =?UTF-8?q?akeLists.txt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/frontend/CMakeLists.txt | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/app/frontend/CMakeLists.txt b/app/frontend/CMakeLists.txt index 2057171..e92cf46 100644 --- a/app/frontend/CMakeLists.txt +++ b/app/frontend/CMakeLists.txt @@ -6,30 +6,31 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON) find_package(Protobuf REQUIRED) -set(ONNX_GENERATED_DIR "${CMAKE_SOURCE_DIR}/app/frontend/build/generated") set(SETUP_SCRIPT "${CMAKE_SOURCE_DIR}/app/frontend/GetModel.sh") set(GENERATED_FILES - "${ONNX_GENERATED_DIR}/onnx.pb.cc" - "${ONNX_GENERATED_DIR}/onnx.pb.h" - "${ONNX_GENERATED_DIR}/yolo11x.onnx" +"${ONNX_GENERATED_DIR}/onnx.pb.cc" +"${ONNX_GENERATED_DIR}/onnx.pb.h" +"${ONNX_GENERATED_DIR}/yolo11x.onnx" ) add_custom_command( - OUTPUT ${GENERATED_FILES} - COMMAND ${CMAKE_COMMAND} -E make_directory "${ONNX_GENERATED_DIR}" - COMMAND bash ${SETUP_SCRIPT} "${ONNX_GENERATED_DIR}" - WORKING_DIRECTORY "${ONNX_GENERATED_DIR}" - DEPENDS ${SETUP_SCRIPT} - COMMENT "Создаём каталог и генерируем ONNX-файлы" -) - + OUTPUT ${GENERATED_FILES} + COMMAND ${CMAKE_COMMAND} -E make_directory "${ONNX_GENERATED_DIR}" + COMMAND bash ${SETUP_SCRIPT} "${ONNX_GENERATED_DIR}" + WORKING_DIRECTORY "${ONNX_GENERATED_DIR}" + DEPENDS ${SETUP_SCRIPT} + COMMENT "Создаём каталог и генерируем ONNX-файлы" + ) + add_custom_target(generate_output ALL - DEPENDS ${GENERATED_FILES} +DEPENDS ${GENERATED_FILES} ) +set(ONNX_GENERATED_DIR "${CMAKE_SOURCE_DIR}/app/frontend/build/generated") + set_source_files_properties( "${ONNX_GENERATED_DIR}/onnx.pb.cc" "${ONNX_GENERATED_DIR}/onnx.pb.h" From a00ccf7d77ae858866a8ff7d30e4f2ff43b812c7 Mon Sep 17 00:00:00 2001 From: Aleksei Kurpiakov <166383450+AlKurpiakov@users.noreply.github.com> Date: Fri, 16 May 2025 16:49:47 +0300 Subject: [PATCH 17/24] Apply suggestions from code review Co-authored-by: Arseniy Obolenskiy --- app/frontend/CMakeLists.txt | 3 --- 1 file changed, 3 deletions(-) diff --git a/app/frontend/CMakeLists.txt b/app/frontend/CMakeLists.txt index e92cf46..0c28151 100644 --- a/app/frontend/CMakeLists.txt +++ b/app/frontend/CMakeLists.txt @@ -1,9 +1,6 @@ cmake_minimum_required(VERSION 3.10) project(ModelParser) -set(CMAKE_CXX_STANDARD 11) -set(CMAKE_CXX_STANDARD_REQUIRED ON) - find_package(Protobuf REQUIRED) From be78e1db7694ce97f2a27f30f7915b2815046171 Mon Sep 17 00:00:00 2001 From: Aleksei Kurpiakov <166383450+AlKurpiakov@users.noreply.github.com> Date: Fri, 16 May 2025 16:49:59 +0300 Subject: [PATCH 18/24] Apply suggestions from code review Co-authored-by: Arseniy Obolenskiy --- app/frontend/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/app/frontend/CMakeLists.txt b/app/frontend/CMakeLists.txt index 0c28151..bec6fc5 100644 --- a/app/frontend/CMakeLists.txt +++ b/app/frontend/CMakeLists.txt @@ -2,6 +2,7 @@ cmake_minimum_required(VERSION 3.10) project(ModelParser) find_package(Protobuf REQUIRED) +set(ONNX_GENERATED_DIR "${CMAKE_SOURCE_DIR}/app/frontend/build/generated") set(SETUP_SCRIPT "${CMAKE_SOURCE_DIR}/app/frontend/GetModel.sh") From 523e8c6f9ecb9ef5445dc66a151208100e1844fa Mon Sep 17 00:00:00 2001 From: Aleksei Kurpiakov <166383450+AlKurpiakov@users.noreply.github.com> Date: Fri, 16 May 2025 16:50:40 +0300 Subject: [PATCH 19/24] Apply suggestions from code review Co-authored-by: Arseniy Obolenskiy --- app/frontend/GetModel.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/frontend/GetModel.sh b/app/frontend/GetModel.sh index 894ffa1..10d1b1a 100644 --- a/app/frontend/GetModel.sh +++ b/app/frontend/GetModel.sh @@ -1,4 +1,4 @@ #!/bin/bash protoc --proto_path=3rdparty/onnx/onnx --cpp_out=$1 onnx.proto -yolo export model=yolo11x.pt format=onnx save_dir=$1 +yolo export model=$1/yolo11x.pt format=onnx From 49613748bdfbc4276e00a6d87e54f6970a22a1d8 Mon Sep 17 00:00:00 2001 From: Aleksei Kurpiakov <166383450+AlKurpiakov@users.noreply.github.com> Date: Fri, 16 May 2025 16:50:52 +0300 Subject: [PATCH 20/24] Apply suggestions from code review Co-authored-by: Arseniy Obolenskiy --- app/frontend/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/frontend/CMakeLists.txt b/app/frontend/CMakeLists.txt index bec6fc5..02654ec 100644 --- a/app/frontend/CMakeLists.txt +++ b/app/frontend/CMakeLists.txt @@ -40,7 +40,7 @@ add_executable(ModelParser main.cpp "${ONNX_GENERATED_DIR}/onnx.pb.cc" ) - +add_dependencies(ModelParser generate_output) target_include_directories(ModelParser PRIVATE "${ONNX_GENERATED_DIR}" ${Protobuf_INCLUDE_DIRS} From b6fa56471ab36b3579d41871b65cfa8894d43346 Mon Sep 17 00:00:00 2001 From: Aleksei Kurpiakov <166383450+AlKurpiakov@users.noreply.github.com> Date: Fri, 16 May 2025 16:52:25 +0300 Subject: [PATCH 21/24] Delete app/frontend/README.md --- app/frontend/README.md | 19 ------------------- 1 file changed, 19 deletions(-) delete mode 100644 app/frontend/README.md diff --git a/app/frontend/README.md b/app/frontend/README.md deleted file mode 100644 index b41db91..0000000 --- a/app/frontend/README.md +++ /dev/null @@ -1,19 +0,0 @@ -## __How to run yolov11x model parser__ - -1. Build the project. - -2. Get a network model using Ultralytics CLI - -- Give "executable mode" to the script GetModel.sh - ``` - chmod +x GetModel.sh - ``` -- Run script - ``` - bash GetModel.sh - ``` - -3. Run the project - ``` - ./ModelParser - ``` From 6fa0e8e3dea4c54b7ffadfbf7dcdb04b3407a894 Mon Sep 17 00:00:00 2001 From: Aleksei Kurpiakov <166383450+AlKurpiakov@users.noreply.github.com> Date: Fri, 16 May 2025 16:53:18 +0300 Subject: [PATCH 22/24] Update CMakeLists.txt --- app/frontend/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/frontend/CMakeLists.txt b/app/frontend/CMakeLists.txt index 02654ec..9f96b74 100644 --- a/app/frontend/CMakeLists.txt +++ b/app/frontend/CMakeLists.txt @@ -17,7 +17,7 @@ set(GENERATED_FILES add_custom_command( OUTPUT ${GENERATED_FILES} COMMAND ${CMAKE_COMMAND} -E make_directory "${ONNX_GENERATED_DIR}" - COMMAND bash ${SETUP_SCRIPT} "${ONNX_GENERATED_DIR}" + COMMAND ${CMAKE_COMMAND} -E chdir ${ONNX_GENERATED_DIR} bash ${SETUP_SCRIPT} "${ONNX_GENERATED_DIR}" WORKING_DIRECTORY "${ONNX_GENERATED_DIR}" DEPENDS ${SETUP_SCRIPT} COMMENT "Создаём каталог и генерируем ONNX-файлы" From 9de6597e7af8a2be084b61b979bac6b1a1b6acc2 Mon Sep 17 00:00:00 2001 From: Aleksei Kurpiakov <166383450+AlKurpiakov@users.noreply.github.com> Date: Fri, 16 May 2025 16:54:20 +0300 Subject: [PATCH 23/24] Update CMakeLists.txt --- app/frontend/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/frontend/CMakeLists.txt b/app/frontend/CMakeLists.txt index 9f96b74..297081a 100644 --- a/app/frontend/CMakeLists.txt +++ b/app/frontend/CMakeLists.txt @@ -20,7 +20,7 @@ add_custom_command( COMMAND ${CMAKE_COMMAND} -E chdir ${ONNX_GENERATED_DIR} bash ${SETUP_SCRIPT} "${ONNX_GENERATED_DIR}" WORKING_DIRECTORY "${ONNX_GENERATED_DIR}" DEPENDS ${SETUP_SCRIPT} - COMMENT "Создаём каталог и генерируем ONNX-файлы" + COMMENT "Create directory, generate ONNX-files and get YOLO model" ) add_custom_target(generate_output ALL From c63661e48a8242475927519b993f5919021efe81 Mon Sep 17 00:00:00 2001 From: Aleksei Kurpiakov <166383450+AlKurpiakov@users.noreply.github.com> Date: Fri, 16 May 2025 16:58:28 +0300 Subject: [PATCH 24/24] Update main.cpp --- app/frontend/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/frontend/main.cpp b/app/frontend/main.cpp index 71736c2..bc321eb 100644 --- a/app/frontend/main.cpp +++ b/app/frontend/main.cpp @@ -3,7 +3,7 @@ #include #include -#include "onnx.pb.h" +#include "./generated/onnx.pb.h" int main() { std::ifstream model_file("generated/yolo11x.onnx", std::ios::binary);