hed-caffe(旧版本caffe)实现过程中的坑
本文仅仅是本人在跑实验的时候记录的学习笔记,方便交流。
在hed原版代码中,使用的是旧版本的caffe,所以我们需要先编译caffe。
实验步骤:
一、编译caffe
cd进入到hed-master文件夹目录下
(1)cp Makefile.config.example Makefile.config
(2)make all
但这时出现了error
全部错误粘贴到这里:NVCC src/caffe/layers/hdf5_output_layer.cu
nvcc fatal : Unsupported gpu architecture 'compute_20'
Makefile:531: recipe for target '.build_release/cuda/src/caffe/layers/hdf5_output_layer.o' failedmake: *** [.build_release/cuda/src/caffe/layers/hdf5_output_layer.o] Error 1
通过查阅资料,发现这是一个caffe依赖问题。
[解决方案]可以通过删除Makefile.config中的行来解决:
-gencode arch=compute_20,code=sm_20 \
-gencode arch=compute_20,code=sm_21 \
然后重新执行上一步骤,发现可以继续
(3)make test
(4)make runtest
出现了error
错误粘贴出来
Makefile:470: recipe for target 'runtest' failed
make: *** [runtest] Aborted (core dumped)
[未解决]
网上有可以直接跳过这个错误,直接执行make pycaffe
(5)make pycaffe
二、运行
导入数据集和5stage-vgg.caffemodel之后,运行hed-master/examples/hed/solve.py
这时又出现了error,根据错误提示,是python2和python3中print的错误。
又发现另一个错误出现了
[原因]这是caffe与python3不兼容了
简单的解决方法是建立一个Python2的虚拟环境
conda create –n py27 python=2.7
安装一些需要的依赖
其中,一个错误是
[解决方案]pip install scikit-image
再次执行solve.py,然而,又出现错误了
[解决方案]pip install protobuf
这时,再次执行solve.py可以正常运行了。