Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🎃Linux下配置lite.ai.toolkit库教程 #185

Closed
FL77N opened this issue Feb 10, 2022 · 50 comments
Closed

🎃Linux下配置lite.ai.toolkit库教程 #185

FL77N opened this issue Feb 10, 2022 · 50 comments
Labels
documentation Improvements or additions to documentation Linux question Further information is requested

Comments

@FL77N
Copy link

FL77N commented Feb 10, 2022

您好!已经在 Linux 系统下成功编译 lite.ai.toolkit 但是进 g++ 编译 yolox 的时候出现了如下错误:
ERROR1
如果不用 -I ,由于都是相对路径,又会找不到头文件,出现例如:
fatal error: lite/ort/core/ort_core.h: No such file or directory

@DefTruth
Copy link
Owner

DefTruth commented Feb 10, 2022

用cmake+make来编译试试?可以看一下build.sh, 我是用CMake来管理的。或者你在编译完liblite.ai.toolkit.so后,可以把库单独拿出来,同时把test_lite_yolox.cpp拿出来,通过CMakeLists.txt来指定依赖。你可以参考我写的YOLOX示例工程:

如果是通过 build.sh编译的,应该会顺便把 测试examples都编译了才对。链接lite.ai.toolkit动态库,可以参考这个写法:

cmake_minimum_required(VERSION 3.17)
project(yolox.lite.ai.toolkit)

set(CMAKE_CXX_STANDARD 11)

# setting up lite.ai.toolkit
set(LITE_AI_DIR ${CMAKE_SOURCE_DIR}/lite.ai.toolkit)
set(LITE_AI_INCLUDE_DIR ${LITE_AI_DIR}/include)
set(LITE_AI_LIBRARY_DIR ${LITE_AI_DIR}/lib)
include_directories(${LITE_AI_INCLUDE_DIR})
link_directories(${LITE_AI_LIBRARY_DIR})

set(OpenCV_LIBS
        opencv_highgui
        opencv_core
        opencv_imgcodecs
        opencv_imgproc
        opencv_video
        opencv_videoio
        )
# add your executable
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/examples/build)

add_executable(lite_yolox examples/test_lite_yolox.cpp)
target_link_libraries(lite_yolox
        lite.ai.toolkit
        onnxruntime
        MNN  # need, if built lite.ai.toolkit with ENABLE_MNN=ON,  default OFF
        ncnn # need, if built lite.ai.toolkit with ENABLE_NCNN=ON, default OFF
        TNN  # need, if built lite.ai.toolkit with ENABLE_TNN=ON,  default OFF
        ${OpenCV_LIBS})  # link lite.ai.toolkit & other libs.

然后编译:

#!/bin/bash
if [ ! -d ./examples/build ]; then
  mkdir ./examples/build
else
  rm -rf ./examples/build/*
fi

cd ./examples/build && cmake -DCMAKE_BUILD_TYPE=Realese ../.. && make -j1
echo "Testing Start ..."
./lite_yolox
echo "Testing Successful !"

@FL77N
Copy link
Author

FL77N commented Feb 10, 2022

谢谢您,我试一下

@FL77N
Copy link
Author

FL77N commented Feb 10, 2022

用cmake+make来编译试试?可以看一下build.sh, 我是用CMake来管理的。或者你在编译完liblite.ai.toolkit.so后,可以把库单独拿出来,同时把test_lite_yolox.cpp拿出来,通过CMakeLists.txt来指定依赖。你可以参考我写的YOLOX示例工程:

如果是通过 build.sh编译的,应该会顺便把 测试examples都编译了才对。链接lite.ai.toolkit动态库,可以参考这个写法:

cmake_minimum_required(VERSION 3.17)
project(yolox.lite.ai.toolkit)

set(CMAKE_CXX_STANDARD 11)

# setting up lite.ai.toolkit
set(LITE_AI_DIR ${CMAKE_SOURCE_DIR}/lite.ai.toolkit)
set(LITE_AI_INCLUDE_DIR ${LITE_AI_DIR}/include)
set(LITE_AI_LIBRARY_DIR ${LITE_AI_DIR}/lib)
include_directories(${LITE_AI_INCLUDE_DIR})
link_directories(${LITE_AI_LIBRARY_DIR})

set(OpenCV_LIBS
        opencv_highgui
        opencv_core
        opencv_imgcodecs
        opencv_imgproc
        opencv_video
        opencv_videoio
        )
# add your executable
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/examples/build)

add_executable(lite_yolox examples/test_lite_yolox.cpp)
target_link_libraries(lite_yolox
        lite.ai.toolkit
        onnxruntime
        MNN  # need, if built lite.ai.toolkit with ENABLE_MNN=ON,  default OFF
        ncnn # need, if built lite.ai.toolkit with ENABLE_NCNN=ON, default OFF
        TNN  # need, if built lite.ai.toolkit with ENABLE_TNN=ON,  default OFF
        ${OpenCV_LIBS})  # link lite.ai.toolkit & other libs.

然后编译:

#!/bin/bash
if [ ! -d ./examples/build ]; then
  mkdir ./examples/build
else
  rm -rf ./examples/build/*
fi

cd ./examples/build && cmake -DCMAKE_BUILD_TYPE=Realese ../.. && make -j1
echo "Testing Start ..."
./lite_yolox
echo "Testing Successful !"

我是使用了 cd lite.ai.toolkit && sh ./build.sh 编译成功后,直接使用上述的命令,然后出现了上述的错误

@ysc3839
Copy link
Contributor

ysc3839 commented Feb 10, 2022

这很明显是你没指定要链接 lite ai toolkit 的 library。建议这种依赖比较复杂的项目不要手写编译参数,用 cmake 更省事。

@FL77N
Copy link
Author

FL77N commented Feb 10, 2022

很明显是你没指定要链接 lite ai toolkit 的 library。建议这种依赖比较复杂的项目不要手写编译参数,用 cmake

所以我得写一个像您给我示例的 CMakeLists.txt 文件,然后再编译

#!/bin/bash
if [ ! -d ./examples/build ]; then
  mkdir ./examples/build
else
  rm -rf ./examples/build/*
fi

cd ./examples/build && cmake -DCMAKE_BUILD_TYPE=Realese ../.. && make -j1
echo "Testing Start ..."
./lite_yolox
echo "Testing Successful !"

这一段吗?可是我的 lite.ai.toolkit 目录下已经有一个 CMakeLists.txt 文件和 build 文件夹了。那我应该在哪个目录操作呢?

@DefTruth
Copy link
Owner

cd lite.ai.toolkit && sh ./build.sh 运行后的log贴出来看一下?看看测试工程有没有被编译。另外,如果你已经编译成功了lite.ai.toolkit,那么逻辑上来讲,你只需要把build/lite.ai.toolkit拷贝出来,当成普通的库来用就可以,想办法链接上就行。头文件都在,lite.ai.toolkit/include中,动态库都在 lite.ai.toolkit/lib中,特别是检查一下 build/lite.ai.toolkit/lib 有没有包含了编译好的liblite.ai.toolkit.so以及其他必要的依赖库,比如libonnxruntime.so和opencv的动态库,如果没有,就找到这些库,拷贝到build/lite.ai.toolkit/lib中来。然后新建一个cpp工程,比如:

把你编译的build/lite.ai.toolkit 拷贝 来 替换 YOLOX.lite.ai.toolkit中的lite.ai.toolkit.

@DefTruth
Copy link
Owner

另外,关于cmake,建议可以看一下我在知乎专栏整理的学习资料哈~ 希望能帮到你

@FL77N
Copy link
Author

FL77N commented Feb 10, 2022

另外,关于cmake,建议可以看一下我在知乎专栏整理的学习资料哈~ 希望能帮到你

哇,万分感谢,必须点赞

@ysc3839
Copy link
Contributor

ysc3839 commented Feb 10, 2022

@FL77N 说的是最开始那张图

@FL77N
Copy link
Author

FL77N commented Feb 10, 2022

cd lite.ai.toolkit && sh ./build.sh 运行后的log贴出来看一下?看看测试工程有没有被编译。另外,如果你已经编译成功了lite.ai.toolkit,那么逻辑上来讲,你只需要把build/lite.ai.toolkit拷贝出来,当成普通的库来用就可以,想办法链接上就行。头文件都在,lite.ai.toolkit/include中,动态库都在 lite.ai.toolkit/lib中,特别是检查一下 build/lite.ai.toolkit/lib 有没有包含了编译好的liblite.ai.toolkit.so以及其他必要的依赖库,比如libonnxruntime.so和opencv的动态库,如果没有,就找到这些库,拷贝到build/lite.ai.toolkit/lib中来。然后新建一个cpp工程,比如:

把你编译的build/lite.ai.toolkit 拷贝 来 替换 YOLOX.lite.ai.toolkit中的lite.ai.toolkit

libonnxruntime.so和opencv的很多动态库都找的到,cd lite.ai.toolkit && sh ./build.sh 运行后的log 如下:
build_img

@DefTruth
Copy link
Owner

这些测试工程都编译成功了呀,你 cd bulid/lite.ai.toolkit/bin && ls -lh | grep yolox ,应该已经有编译好的lite_yolox可执行文件了。说明测试工程是没问题的。直接 在 /lite.ai.toolkit/bin 下 跑一下 ./lite_yolox试试呗。repo本身自带了yolox的s和nano版本的onnx模型文件,在hub/onnx/cv里面。只能帮你到这里了。逻辑应该很清楚了

@FL77N
Copy link
Author

FL77N commented Feb 10, 2022

这些测试工程都编译成功了呀,你 cd bulid/lite.ai.toolkit/bin && ls -lh | grep yolox ,应该已经有编译好的lite_yolox可执行文件了。说明测试工程是没问题的。直接 在 /lite.ai.toolkit/bin 下 跑一下 ./lite_yolox试试呗。repo本身自带了yolox的s和nano版本的onnx模型文件,在hub/onnx/cv里面。只能帮你到这里了。逻辑应该很清楚了

十分感谢,我明天再到实验室试一试!

@DefTruth DefTruth added documentation Improvements or additions to documentation Linux question Further information is requested labels Feb 10, 2022
@FL77N
Copy link
Author

FL77N commented Feb 11, 2022

好像能测试,应该是输入或者 cv 还有点问题

error3

@DefTruth
Copy link
Owner

好像能测试,应该是输入或者 cv 还有点问题

error3

可能是图片没找到吧,你看看examples/lite/cv/test_lite_yolox.cpp中指定的图片是不是正常的。

应该就是图片的问题

@DefTruth
Copy link
Owner

@FL77N 测试通过后,欢迎同学来写个Linux下的lite.ai.toolkit入门教程(写在docs/build/Linux.zh.md),成为contributor哈,不妨考虑提个PR啥的到dev分支,我会merge进lite.ai.toolkit 🤔

@FL77N
Copy link
Author

FL77N commented Feb 11, 2022

@FL77N 测试通过后,欢迎同学来写个Linux下的lite.ai.toolkit入门教程(写在docs/build/Linux.zh.md),成为contributor哈,不妨考虑提个PR啥的到dev分支,我会merge进lite.ai.toolkit 🤔

哈哈哈哈哈,我走通了后,看能不能写个流程吧,主要是我平时都是用 python,用 cpp 太少了,很多知识还很薄弱。

@FL77N
Copy link
Author

FL77N commented Feb 11, 2022

大佬,这个对 opencv 的版本有要求吗?我安装的应该是最新版的 4.5.5,图片应该没有要求吧,会 resize 到需要的尺寸哈

@DefTruth
Copy link
Owner

DefTruth commented Feb 11, 2022

大佬,这个对 opencv 的版本有要求吗?我安装的应该是最新版的 4.5.5,图片应该没有要求吧,会 resize 到需要的尺寸哈

没有要求啊,你测试工程编译通过了,说明各个依赖库的链接是没问题的。图片也没要求啊,剩下的我就不太清楚了。或者把图片路径改成绝对路径试试吧,我看你把模型的路径也修改了。把你的test_lite_yolox.cpp源码贴出来看看?

@FL77N
Copy link
Author

FL77N commented Feb 11, 2022

我测试的是我自己放的图片,但模型读取没有问题,那图片按道理应该能读的到的呀。路径上我都改过了。

lite_yolox

我试了一下 yolov5 (没有任何改动),会出现 memory 爆掉的错误,我的环境是 cpu 8G 运行内存,没有显卡。

yolov5

@DefTruth
Copy link
Owner

基本是都是opencv出的问题,看看是不是你的图片太大了?我用的是opencv-4.5.2

@FL77N
Copy link
Author

FL77N commented Feb 11, 2022

可是,yolov5 就完全是您的设置,我用的图片应该也算正常吧,就是 coco 数据集里面的。

@DefTruth
Copy link
Owner

DefTruth commented Feb 11, 2022

可是,yolov5 就完全是您的设置,我用的图片应该也算正常吧,就是 coco 数据集里面的。

那就不是很清楚问题了,我这边的电脑测试是没有问题的。按理说opencv应该也是兼容的。😂 比较建议你在yolox->detect之前加一些log,比如在cv::imread(test_img_path)的前后加,来确认一下是不是opencv在图片加载的问题,还是说,进入detect之后才出的问题。你这模型初始化都是没有问题的。但是似乎图片读取进来的时候有问题。多在一些地方在log,这样才能判断具体在什么地方出问题。

@FL77N
Copy link
Author

FL77N commented Feb 11, 2022

嗯嗯,好的,我再找找

@FL77N
Copy link
Author

FL77N commented Feb 11, 2022

可是,yolov5 就完全是您的设置,我用的图片应该也算正常吧,就是 coco 数据集里面的。

那就不是很清楚问题了,我这边的电脑测试是没有问题的。按理说opencv应该也是兼容的。😂 比较建议你在yolox->detect之前加一些log,比如在cv::imread(test_img_path)的前后加,来确认一下是不是opencv在图片加载的问题,还是说,进入detect之后才出的问题。你这模型初始化都是没有问题的。但是似乎图片读取进来的时候有问题。多在一些地方在log,这样才能判断具体在什么地方出问题。

使用 std::cout 就能在终端打印信息吧,我看您 ort_handler.cpp 里面是这样写的,可是我在 yolox->detect 之前随便打印了个东西,但是在终端没有显示😂

@DefTruth
Copy link
Owner

可是,yolov5 就完全是您的设置,我用的图片应该也算正常吧,就是 coco 数据集里面的。

那就不是很清楚问题了,我这边的电脑测试是没有问题的。按理说opencv应该也是兼容的。😂 比较建议你在yolox->detect之前加一些log,比如在cv::imread(test_img_path)的前后加,来确认一下是不是opencv在图片加载的问题,还是说,进入detect之后才出的问题。你这模型初始化都是没有问题的。但是似乎图片读取进来的时候有问题。多在一些地方在log,这样才能判断具体在什么地方出问题。

使用 std::cout 就能在终端打印信息吧,我看您 ort_handler.cpp 里面是这样写的,可是我在 yolox->detect 之前随便打印了个东西,但是在终端没有显示😂

是啊,这不是C++的基础么😂,如果打印不出信息,我就帮不了你了😂,靠你自己了

@DefTruth
Copy link
Owner

可是,yolov5 就完全是您的设置,我用的图片应该也算正常吧,就是 coco 数据集里面的。

那就不是很清楚问题了,我这边的电脑测试是没有问题的。按理说opencv应该也是兼容的。😂 比较建议你在yolox->detect之前加一些log,比如在cv::imread(test_img_path)的前后加,来确认一下是不是opencv在图片加载的问题,还是说,进入detect之后才出的问题。你这模型初始化都是没有问题的。但是似乎图片读取进来的时候有问题。多在一些地方在log,这样才能判断具体在什么地方出问题。

使用 std::cout 就能在终端打印信息吧,我看您 ort_handler.cpp 里面是这样写的,可是我在 yolox->detect 之前随便打印了个东西,但是在终端没有显示😂

添加完之后别忘了重新编译呀

@FL77N FL77N closed this as completed Feb 11, 2022
@FL77N
Copy link
Author

FL77N commented Feb 11, 2022

成功了,谢谢大佬指点,是 opencv 版本的问题,4.5.5 不行,用您那个版本就可以

yolox

@FL77N FL77N closed this as completed Feb 11, 2022
@DefTruth
Copy link
Owner

@FL77N great ~

@DefTruth DefTruth pinned this issue Feb 11, 2022
@FL77N
Copy link
Author

FL77N commented Feb 12, 2022

pinned

大佬,我还有两个问题想要请教您~

  • 假如我想外接摄像头进行实时的检测,是不是主要还是以您写的 example 中的代码进行展开呢?
  • 假如我想添加新的算法进来,有相应的文档介绍流程吗或者应该怎么做?

@DefTruth
Copy link
Owner

pinned

大佬,我还有两个问题想要请教您~

  • 假如我想外接摄像头进行实时的检测,是不是主要还是以您写的 example 中的代码进行展开呢?
  • 假如我想添加新的算法进来,有相应的文档介绍流程吗或者应该怎么做?
  • 关于问题1:其实examples里面的都是单个原子能力的测试用例。你可以理解成lite.ai.toolkit提供了很多单独的原子能力,没有过多的封装。你可以基于这些能力进行组合,来做你想做的事情,比如YOLO5Face进行视频流检测或人脸跟踪之类的。这个toolkit和具体的业务逻辑无关。
  • 关于问题2:添加新算法其实比较简单,因为我已经尽可能解耦了,不过确实还需要一篇文档介绍一下流程,这个文档我也之前也想找个时间写,不过一直忘了,这个周末我完善一下吧。这样你可以基于toolkit加入你想用的算法,或者做一些硬件相关的优化。另外,欢迎捏新模型提PR哈,比如捏个分类什么的,都是可以的,只要至少实现onnxruntime版本的推理就可以。

@FL77N
Copy link
Author

FL77N commented Feb 12, 2022

pinned

大佬,我还有两个问题想要请教您~

  • 假如我想外接摄像头进行实时的检测,是不是主要还是以您写的 example 中的代码进行展开呢?
  • 假如我想添加新的算法进来,有相应的文档介绍流程吗或者应该怎么做?
  • 关于问题1:其实examples里面的都是单个原子能力的测试用例。你可以理解成lite.ai.toolkit提供了很多单独的原子能力,没有过多的封装。你可以基于这些能力进行组合,来做你想做的事情,比如YOLO5Face进行视频流检测或人脸跟踪之类的。这个toolkit和具体的业务逻辑无关。
  • 关于问题2:添加新算法其实比较简单,因为我已经尽可能解耦了,不过确实还需要一篇文档介绍一下流程,这个文档我也之前也想找个时间写,不过一直忘了,这个周末我完善一下吧。这样你可以基于toolkit加入你想用的算法,或者做一些硬件相关的优化。另外,欢迎捏新模型提PR哈,比如捏个分类什么的,都是可以的,只要至少实现onnxruntime版本的推理就可以。

好滴~谢谢大佬

@DefTruth
Copy link
Owner

@FL77N 添加模型的步骤,请参考:

@FL77N
Copy link
Author

FL77N commented Feb 14, 2022

@FL77N 添加模型的步骤,请参考:

哇,十分感谢,不过不知道 onnx 支不支持 RoIPooling 这个算子,我先优化好模型,看能不能转

@DefTruth
Copy link
Owner

@FL77N 可以看看我整理的资料哈~

@FL77N
Copy link
Author

FL77N commented Feb 14, 2022

@DefTruth tql!您是哆啦A梦吗?怎么啥都有😂,要学的好多呀,多谢大佬!

@DefTruth
Copy link
Owner

@DefTruth tql!您是哆啦A梦吗?怎么啥都有😂,要学的好多呀,多谢大佬!

🤓

@FL77N
Copy link
Author

FL77N commented Feb 14, 2022

@DefTruth tql!您是哆啦A梦吗?怎么啥都有😂,要学的好多呀,多谢大佬!

🤓

大佬我今天写实时检测,又出现了 opencv 的问题:
undefined reference to cv::imshowundefined reference to cv::waitKey 我自己写了个 cpp 没有出错,可以正常调用摄像头呀,只不过要添加上依赖 g++ test.cpp -o test 'pkg-config --cflags --libs opencv'

@DefTruth
Copy link
Owner

@FL77N 不太了解你的环境,建议你用cmake进行工程管理。这些链接的问题一般都是和你具体的工程配置相关的,只能你自己看看咋解决了。cmake+clion+mac/linux 真香 ~

@FL77N
Copy link
Author

FL77N commented Feb 14, 2022

@FL77N 不太了解你的环境,建议你用cmake进行工程管理。这些链接的问题一般都是和你具体的工程配置相关的,只能你自己看看咋解决了。cmake+clion+mac/linux 真香 ~

大佬,那如果我想让 yolox 在编译的时候执行 g++ test_lite_yolox.cpp -o lite_yolox 'pkg-config --cflags --libs opencv' 我应该在 CMakeLists.txt 中怎么改呢?查了好久没查到。。。

@DefTruth
Copy link
Owner

DefTruth commented Feb 14, 2022

@FL77N 这个问题其实我很难回答你。

  • 一是因为我不知道你具体怎么用的,因为你的库已经编译好了,那就像正常使用c++的库那样,在CMakeLists.txt里面,指定好头文件include和lib的路径,再在你的工程里面引进来用就可以了。之后就直接用cmake+make编译就行。比如你参考我之前的回答里面给出的YOLOX.lite.ai.toolkit来弄就行。

  • https://github.com/DefTruth/YOLOX.lite.ai.toolkit

至于CMakelists.txt可以参考这个写法:

cmake_minimum_required(VERSION 3.17)
project(yolox.lite.ai.toolkit)

set(CMAKE_CXX_STANDARD 11)

# setting up lite.ai.toolkit
set(LITE_AI_DIR ${CMAKE_SOURCE_DIR}/lite.ai.toolkit)
set(LITE_AI_INCLUDE_DIR ${LITE_AI_DIR}/include)
set(LITE_AI_LIBRARY_DIR ${LITE_AI_DIR}/lib)
include_directories(${LITE_AI_INCLUDE_DIR})
link_directories(${LITE_AI_LIBRARY_DIR})

set(OpenCV_LIBS
        opencv_highgui
        opencv_core
        opencv_imgcodecs
        opencv_imgproc
        opencv_video
        opencv_videoio
        )
# add your executable
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/examples/build)

add_executable(lite_yolox examples/test_lite_yolox.cpp)
target_link_libraries(lite_yolox
        lite.ai.toolkit
        onnxruntime
        ${OpenCV_LIBS})  # link lite.ai.toolkit & other libs.

然后编译:

#!/bin/bash
if [ ! -d ./examples/build ]; then
  mkdir ./examples/build
else
  rm -rf ./examples/build/*
fi

cd ./examples/build && cmake -DCMAKE_BUILD_TYPE=Realese ../.. && make -j1
echo "Testing Start ..."
./lite_yolox
echo "Testing Successful !"
  • 二是cmake+make以及CMakeLists.txt是很基础的工程管理工具,具体怎么写我没办法一一详细展开讲,因为知识点还蛮多的。你可以参考上面给出的案例,以及学一下CMakeLists.txt的具体用法,应该能在网上查到很多案例。比如可以看看我整理的资料

@FL77N
Copy link
Author

FL77N commented Feb 14, 2022

谢谢您,按道理说不应该出现这个错误才对,因为 cv::Mat 就没有报错。我再找找原因。

@FL77N
Copy link
Author

FL77N commented Feb 14, 2022

解决了,cv::imshowcv::waitKeyhighgui.hpp 中,您应该是这里不需要这个,所以没有链接进去:
微信截图_20220214220428

@DefTruth
Copy link
Owner

great~

@FL77N
Copy link
Author

FL77N commented Feb 15, 2022

大佬,我用 yolox_v0.1.1 的 s 和 tiny 版本基本实时检测不到东西,但是用 yolox 的对应版本就可以。

@DefTruth
Copy link
Owner

DefTruth commented Feb 15, 2022

你要把模型也对应上,他们的权重文件不一样的,你要从lite.ai.toolkit里面的Model Zoo下载对应的模型文件,不可能检测不到东西的。要么就是类没对上,要么就是模型没对上,YoloX对应的是旧的yolox模型文件,YoloX_V_1_1对应的是新的1.1版本,他们的前后处理是不一样的。看看这个issue吧:

@FL77N
Copy link
Author

FL77N commented Feb 15, 2022

你要把模型也对应上,他们的权重文件不一样的,你要从lite.ai.toolkit里面的Model Zoo下载对应的模型文件,不可能检测不到东西的。

是的,我是对应cpp 中修改对应权重的,权重也是从百度云上下载的。但 yolox_v0.1.1 的 m 版本可以正常检测。

@DefTruth
Copy link
Owner

我不知道你是怎么测的,你要不放一下你的代码吧。我的测试工程里面用的就是yolox_v0.1.1的s版本跑的,结果很正常的。

@FL77N
Copy link
Author

FL77N commented Feb 15, 2022

我不知道你是怎么测的,你要不放一下你的代码吧。我的测试工程里面用的就是yolox_v0.1.1的s版本跑的,结果很正常的。

嗯嗯,我也是用的这个 cpp,可能是我的输入有点问题,我用的自己的输入。

@DefTruth
Copy link
Owner

也可以直接下载YOLOX官方提供的模型试试,v0.1.1的模型,官方已经提供了onnx:

s和tiny的准确率是会比m低的,另外就是,detect接口有个score_threshold的阈值参数,你可以设置低一点的阈值看看。可以看我的API说明。

@FL77N
Copy link
Author

FL77N commented Feb 16, 2022

也可以直接下载YOLOX官方提供的模型试试,v0.1.1的模型,官方已经提供了onnx:

s和tiny的准确率是会比m低的,另外就是,detect接口有个score_threshold的阈值参数,你可以设置低一点的阈值看看。可以看我的API说明。

谢谢您,太有心了。

@DefTruth DefTruth changed the title 在 linux 下运行出现了 undefined 的错误 👉Linux build error(for Linux users) Feb 16, 2022
@DefTruth DefTruth changed the title 👉Linux build error(for Linux users) 🎃Linux下配置lite.ai.toolkit库教程 Feb 26, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation Linux question Further information is requested
Projects
None yet
Development

No branches or pull requests

3 participants