本文共 1327 字,大约阅读时间需要 4 分钟。
这几天一直尝试跑通PSENet(github地址:),奈何编译一直不通过,报错
Makefile:10: recipe for target 'adaptor.so' failedmake: *** [adaptor.so] Error 1
后来在issues里找到可以解决办法,可以编译成功了,测试又报错:
ImportError: /opt/data/private/PSENet/pse/adaptor.so: undefined symbol: _ZN2cv8fastFreeEPv
在网上查资料说是Makefile里opencv地址的问题,但是还没找到有效的解决办法。于是转战tensorflow版的PSENet(github地址:)
1.配置环境
按照github上说的
Installation1.Any version of tensorflow version > 1.0 should be ok.2.python 2 or 3 will be ok.
创建了一个虚拟环境,安装了python3.6,tensorflow:
根据测试命令
python eval.py --test_data_path=./tmp/images/ --gpu_list=0 --checkpoint_path=./resnet_v1_50/ \--output_dir=./tmp/
在项目根目录下创建文件夹tmp,resnet_v1_50,在tmp下创建images文件夹,测试图片放在该文件夹下。
运行测试命令,根据提示缺啥包装啥包,因为我的环境是python3.6,作者用的是python2.7(虽然作者说python2和python3都可以),还是会报一些错,进行如下修改:
utils_tool.py中的 import queue改为:
try: import queueexcept ImportError: import Queue as queue
eval.py 228行:
xrange改成range
把pse/Makefile文件中的
第一行:$(shell python-config --cflags)改成$(shell python3-config --cflags)
第二行:$(shell python-config --ldflags)改成$(shell python3-config --ldflags)
此部分参考博客:,但是这篇博客关于模型放哪也没有讲清楚,作者github上更是一句没提,可能觉得太简单,压根没必要说。我是讲模型解压后的三个文件放在resnet_v1_50文件夹下但是测试还是说找不到模型,应该是路径的问题,但是没细看,急着看效果,索性直接指定模型路径eval.py第172行
model_path = os.path.join(FLAGS.checkpoint_path, os.path.basename(ckpt_state.model_checkpoint_path))
直接换成
model_path = "./resnet_v1_50/model.ckpt"
测试成功
转载地址:http://wxssi.baihongyu.com/