chineseocr / darknet-ocr

darknet text detect and darknet cnn ocr
MIT License
1.13k stars 288 forks source link

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

Open pog2g opened 4 years ago

pog2g commented 4 years ago

运行直接报错

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模式搞得简单(有点不明白作者怎么想的)

wenlihaoyu commented 4 years ago

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

GandalfLiu commented 4 years ago

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

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

joawa commented 4 years ago

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

joawa commented 4 years ago

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

GandalfLiu commented 4 years ago

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

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

joawa commented 4 years ago

@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 安装吗

Steverdeng commented 4 years ago

@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 commented 4 years ago

@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 这个也是要安装的

joawa commented 4 years ago

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

363325971 commented 4 years ago

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

UncleLLD commented 4 years ago

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