darknet-ocr icon indicating copy to clipboard operation
darknet-ocr copied to clipboard

cpu运行报错,已经按照官方例子编译安装opencv

Open pog2g opened this issue 4 years ago • 11 comments

运行直接报错

cv2.error: OpenCV(4.0.0) /Users/travis/build/skvark/opencv-python/opencv/modules/dnn/src/darknet/darknet_io.cpp:552: error: (-212:Parsing error) Unsupported activation: relu in function 'ReadDarknetFromCfgStream'

而且这个目录不存在,,不知道为啥会去这个目录查找,文档也没有说明怎么修改

/Users/travis/build/skvark

还有,就是大部分可能都是基于cpu,包括作者本身docker镜像也是基于cpu,为啥常用的还搞得这么麻烦,不常用的gpu模式搞得简单(有点不明白作者怎么想的)

pog2g avatar Mar 17 '20 08:03 pog2g

因为opencv不支持darknet模型下的maxpool stride不等长、也不支持relu激活函数,所以得自己手动编译。你没有编译正确,请先卸载pip 安装的的opencv,再编译。

wenlihaoyu avatar Apr 14 '20 02:04 wenlihaoyu

还有,就是大部分可能都是基于cpu,包括作者本身docker镜像也是基于cpu,为啥常用的还搞得这么麻烦,不常用的gpu模式搞得简单(有点不明白作者怎么想的)

相同的错误请问你的opencv重新编译好了么?

GandalfLiu avatar May 09 '20 09:05 GandalfLiu

@GandalfLiu 老哥 请问你的问题OK了吗

joawa avatar May 21 '20 07:05 joawa

@wenlihaoyu 大佬,按照您说的卸载pip 安装的的opencv,并且按照opencv-for-darknet重新编译了opencv并放置在了anaconda虚拟环境下,还是报错:Unsupported activation: relu in function 'ReadDarknetFromCfgStream' 我用的IDE是pycharm,Python环境也已经切换到anaconda,求指点

joawa avatar May 21 '20 08:05 joawa

@wenlihaoyu 大佬,按照您说的卸载pip 安装的的opencv,并且按照opencv-for-darknet重新编译了opencv并放置在了anaconda虚拟环境下,还是报错:Unsupported activation: relu in function 'ReadDarknetFromCfgStream' 我用的IDE是pycharm,Python环境也已经切换到anaconda,求指点

需要重新编译opencv 参考作者的另一个项目opencv-for-darknet

GandalfLiu avatar May 21 '20 10:05 GandalfLiu

@wenlihaoyu 大佬,按照您说的卸载pip 安装的的opencv,并且按照opencv-for-darknet重新编译了opencv并放置在了anaconda虚拟环境下,还是报错:Unsupported activation: relu in function 'ReadDarknetFromCfgStream' 我用的IDE是pycharm,Python环境也已经切换到anaconda,求指点

需要重新编译opencv 参考作者的另一个项目opencv-for-darknet

是的, 我是参考opencv-for-darknet重新编译 了 cmake如下: cmake -D CMAKE_BUILD_TYPE=RELEASE
-D CMAKE_INSTALL_PREFIX=/usr/local
-D BUILD_opencv_python2=OFF
-D BUILD_opencv_python3=ON
-D PYTHON3_EXECUTABLE=~/anaconda3/envs/ocr/bin/python3.6
-D PYTHON3_INCLUDE_PATH=~/anaconda3/envs/ocr/include/python3.6m
-D PYTHON3_LIBRARIES=~/anaconda3/envs/opencv/lib/libpython3.6m.dylib
-D PYTHON3_NUMPY_INCLUDE_DIRS=~/anaconda3/envs/opencv/lib/python3.6/site-packages/numpy/core/include ..
&& make -j4 && sudo make install

这样pycharm里面是会自动加载到编译后的opencv吗?我看作者的requirement.txt里面还有个opencv-contrib-python,那个还需要pip 安装吗

joawa avatar May 21 '20 10:05 joawa

@wenlihaoyu 大佬,按照您说的卸载pip 安装的的opencv,并且按照opencv-for-darknet重新编译了opencv并放置在了anaconda虚拟环境下,还是报错:Unsupported activation: relu in function 'ReadDarknetFromCfgStream' 我用的IDE是pycharm,Python环境也已经切换到anaconda,求指点

需要重新编译opencv 参考作者的另一个项目opencv-for-darknet

是的, 我是参考opencv-for-darknet重新编译 了 cmake如下: cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_opencv_python2=OFF -D BUILD_opencv_python3=ON -D PYTHON3_EXECUTABLE=~/anaconda3/envs/ocr/bin/python3.6 -D PYTHON3_INCLUDE_PATH=~/anaconda3/envs/ocr/include/python3.6m -D PYTHON3_LIBRARIES=~/anaconda3/envs/opencv/lib/libpython3.6m.dylib -D PYTHON3_NUMPY_INCLUDE_DIRS=~/anaconda3/envs/opencv/lib/python3.6/site-packages/numpy/core/include .. && make -j4 && sudo make install

这样pycharm里面是会自动加载到编译后的opencv吗?我看作者的requirement.txt里面还有个opencv-contrib-python,那个还需要pip 安装吗 应该还是你的opencv版本调用不对的问题。 1.你首先看看which python3 看看在哪个目录 ,然后运行python3 确认python版本

  1. 其次确认是否编译好的opencv python版本是否安装在python3 对应的site-packages 目录。 可以通过python3 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())"查看

Steverdeng avatar May 22 '20 03:05 Steverdeng

@wenlihaoyu 大佬,按照您说的卸载pip 安装的的opencv,并且按照opencv-for-darknet重新编译了opencv并放置在了anaconda虚拟环境下,还是报错:Unsupported activation: relu in function 'ReadDarknetFromCfgStream' 我用的IDE是pycharm,Python环境也已经切换到anaconda,求指点

需要重新编译opencv 参考作者的另一个项目opencv-for-darknet

是的, 我是参考opencv-for-darknet重新编译 了 cmake如下: cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_opencv_python2=OFF -D BUILD_opencv_python3=ON -D PYTHON3_EXECUTABLE=~/anaconda3/envs/ocr/bin/python3.6 -D PYTHON3_INCLUDE_PATH=~/anaconda3/envs/ocr/include/python3.6m -D PYTHON3_LIBRARIES=~/anaconda3/envs/opencv/lib/libpython3.6m.dylib -D PYTHON3_NUMPY_INCLUDE_DIRS=~/anaconda3/envs/opencv/lib/python3.6/site-packages/numpy/core/include .. && make -j4 && sudo make install 这样pycharm里面是会自动加载到编译后的opencv吗?我看作者的requirement.txt里面还有个opencv-contrib-python,那个还需要pip 安装吗 应该还是你的opencv版本调用不对的问题。 1.你首先看看which python3 看看在哪个目录 ,然后运行python3 确认python版本

  1. 其次确认是否编译好的opencv python版本是否安装在python3 对应的site-packages 目录。 可以通过python3 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())"查看

opencv-contrib-python 这个也是要安装的

Steverdeng avatar May 22 '20 03:05 Steverdeng

@Steverdeng 老哥,方便加个微信吗13456717655,实在是折腾坏了 哈哈

joawa avatar May 22 '20 08:05 joawa

编译了修改的opencv 还是不行啊,,报相同的错误

363325971 avatar May 26 '20 08:05 363325971

看下darknet文件夹中是否有libxxx.so文件

UncleLLD avatar Aug 03 '20 03:08 UncleLLD