当前位置: 首页 > news >正文

做360网站优化快速自媒体营销方式有哪些

做360网站优化快速,自媒体营销方式有哪些,外贸网站建设设计,企业网站适合响应式嘛任务内容 在做ncnn-yolov8-obb模型安卓端移植的过程中,对开源代码进行调试。为了确认开源代码yolov8-obb.cpp可以移植开发,先对代码进行复现。因此在linux系统下编译yolov8-obb.cpp代码,验证项目中的代码是可运行的。然后再把这个代码中的模…
任务内容

在做ncnn-yolov8-obb模型安卓端移植的过程中,对开源代码进行调试。为了确认开源代码yolov8-obb.cpp可以移植开发,先对代码进行复现。因此在linux系统下编译yolov8-obb.cpp代码,验证项目中的代码是可运行的。然后再把这个代码中的模型换为自己的缺陷检测模型。

项目代码:https://github.com/FeiGeChuanShu/ncnn-android-yolov8

操作流程

编译安装代码需要的ncnn库

linux安装ncnn库

安装依赖项:
sudo apt install build-essential git cmake libprotobuf-dev protobuf-compiler libomp-dev libvulkan-dev vulkan-tools libopencv-dev
安装依赖的bazel库

需要在服务器上安装代理软件,能够访问bazel官网并下载公钥,然后再apt安装。

bazel安装参考:https://bazel.build/install/ubuntu?hl=zh-cn

安装protobuf

参考官网:https://github.com/protocolbuffers/protobuf/blob/main/src/README.md

源码编译ncnn
git clone https://github.com/Tencent/ncnn.git
cd ncnn
mkdir build && cd build
cmake ..
make -j4
sudo make install

完成编译安装结果。

编译代码,生成可执行文件
  • 编译流程:由于对gcc指令不熟,因此采用cmake的方式进行编译。
    1. 创建cmakelists.txt,将需要include和link的ncnn库,opencv库都添加进去。
    2. mkdir build & cd build & cmake .. & make
    3. 生成可执行文件。
  • 会遇到的报错问题:
问题一:libncnn.a(simpleomp.cpp.o): undefined reference to symbol 'pthread_getspecific@@GLIBC_2.2.5',
[100%] Linking CXX executable yolov8-obb
/usr/bin/ld: /home/xbang/cpz/env/ncnn/build/install/lib/libncnn.a(simpleomp.cpp.o): undefined reference to symbol 'pthread_getspecific@@GLIBC_2.2.5'
/usr/bin/ld: /lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/yolov8-obb.dir/build.make:102:yolov8-obb] 错误 1
make[1]: *** [CMakeFiles/Makefile2:76:CMakeFiles/yolov8-obb.dir/all] 错误 2
make: *** [Makefile:84:all] 错误 2
    • 原因:是ncnn代码中用了多线程,因此在cmake过程中需要指定多线程参数。
    • 解决方法:在cmakelists.txt中的add_executable()之前增加:
set(CMAKE_CXX_FLAGS -pthread)
message(STATUS "CMAKE_CXX_FLAGS = ${CMAKE_CXX_FLAGS}")
问题二:undefined reference to `omp_get_thread_num'等

编译器在链接过程中找不到 GOMP_parallel 这个符号,还有omp_get_num_threads 和 omp_get_thread_num 等。

/usr/bin/ld: celu.cpp:(.text+0x4d): undefined reference to `omp_get_thread_num'
/usr/bin/ld: /home/xbang/cpz/env/ncnn/build/install/lib/libncnn.a(celu.cpp.o): in function `ncnn::CELU::forward_inplace(ncnn::Mat&, ncnn::Option const&) const':
celu.cpp:(.text+0x180): undefined reference to `GOMP_parallel'
/usr/bin/ld: /home/xbang/cpz/env/ncnn/build/install/lib/libncnn.a(shrink.cpp.o): in function `ncnn::Shrink::forward_inplace(ncnn::Mat&, ncnn::Option const&) const [clone ._omp_fn.0]':
shrink.cpp:(.text+0x66): undefined reference to `omp_get_num_threads'
/usr/bin/ld: shrink.cpp:(.text+0x6d): undefined reference to `omp_get_thread_num'
/usr/bin/ld: /home/xbang/cpz/env/ncnn/build/install/lib/libncnn.a(shrink.cpp.o): in function `ncnn::Shrink::forward_inplace(ncnn::Mat&, ncnn::Option const&) const':
shrink.cpp:(.text+0x3ac): undefined reference to `GOMP_parallel'
collect2: error: ld returned 1 exit status报错了
    • 原因:GOMP_parallel ,omp_get_num_threads,omp_get_thread_num 都是是 OpenMP 库中的函数或变量。由于ncnn库本身是使用 OpenMP 编译的。因此是ncnn在编译过程对openMP库的设置出了问题。
    • 解决方法:在cmakelists.txt中option里设置了OPENMP模式为on启用模式。但是文件中另一处使用OPENMP库时,if判断条件and配合了另一个库SIMPLEOMP默认是off模式,因此我把SIMPLEOMP库的option也设置为on模式。然后再次编译ncnn后就不报这个错误了。

问题三:当安装多个版本的opencv时,如果用gcc方式编译就会因为设置不明白opencv的库文件路径报错。
    • 解决方法:在cmakelist中可以通过find_package的方式找到路径。
测试代码

将代码中的读取图像参数设为图像绝对路径,模型文件设为绝对路径,然后运行生成的可执行文件,得到测试结果图如下:

http://www.tj-hxxt.cn/news/119611.html

相关文章:

  • 群晖nas 做网站免费seo在线优化
  • 武汉今天特大新闻首页优化公司
  • 哪里有网站建设手机百度公司招聘信息
  • 什么网站可以做软件有哪些东西产品宣传推广方案
  • 企业为什么要上市郑州seo哪家专业
  • 韩国网站建站网页推广怎么收取费用
  • 做美女网站怎么免费创建网站
  • 网站banner 代码市场调研的方法有哪些
  • 网站名称 备案阿里云域名查询
  • 著名的深圳网站建设招聘网站排名
  • 网站开发与建设课程湖南好搜公司seo
  • wordpress 路由自定义页面西安seo优化培训
  • 聊天网站制作教程企业网站seo点击软件
  • 优秀的国外设计网站谷歌google下载安卓版 app
  • 福州网站建设服务价格最实惠搜索引擎优化seo专员
  • html5 国内网站建设seo教程
  • 自己做网站建议seo黑帽技术
  • 延吉网站建设优化师
  • 中国机械加工网加热炉节能西安网站seo哪家公司好
  • 睢宁县凌城做网站的如何在百度推广
  • flash做的网站青岛seo青岛黑八网络最强
  • 装饰设计网站建设百度seo正规优化
  • 网站怎么做三级的百度推广下载安装
  • 手机怎么做网站教程磁力宅
  • 计算机做网站开发需要什么证书石家庄抖音seo
  • 乐享视频在线下载免费台州关键词首页优化
  • 江苏省城乡建设厅网站首页seo推广公司排名
  • 有没有个人做的网站赚流量费推广学院seo教程
  • 怎么做网站关键字搜索seo学校
  • 北京网站关键词排名推广怎么样优化关键词排名