@#基于caffe复现DSS(这里写自定义目录标题)
##1.下载DSS,自带caffe。
##2.编译caffe,因为自己的本地环境跟程老师的实验环境不同,直接复制一份自己的Makefile.config,到caffe_dss-master根目录下,但是在编译caffe过程中可能会遇见以下问题:
###1.cudnn.hpp:127:41: error: too few arguments to function ‘cudnnStatus_t cudnnSetPooling2dDescriptor解决办法
###2.In file included from src/caffe/util/signal_handler.cpp:7:0:
./include/caffe/util/signal_handler.h:4:34: fatal error: caffe/proto/caffe.pb.h: 没有那个文件或目录
compilation terminated.
Makefile:563: recipe for target ‘.build_release/src/caffe/util/signal_handler.o’ failed
make: * [.build_release/src/caffe/util/signal_handler.o] Error 1
make: * 正在等待未完成的任务….
CXX src/caffe/util/cudnn.cpp
解决:重新make clean,再make all -j8
##3.编译完caffe,就可以编译程序了在run_saliency.py所在的文件夹路径下, python run_saliency.py,注意此时在python3.5的环境下,此时也会遇到以下问题:
###1.ImportError: No module named skimage.io,这个问题出现是因为我自身的python2环境没有skimage包,而且我也试了很多网上的安装办法,都装不上,后来直接编译的caffe的python接口为3.5版的,但还是给出相关的额解决连接
解决和hereherehere
###2.F0322 09:30:39.325115 27328 solver.cpp:438] Cannot write to snapshot prefix ‘snapshot/ours’. Make sure that the directory exists and is writeable.
解决原因很简单,主要是把相对路径修改成自己电脑环境的绝对路径即可
###3.io.cpp:80 caffe Check failed: cv_img.data Could not load,这个问题出现主要是因为train_val.prototxt文件中的data层数据来源不明确,我将下载的MSRA-B(10000)张放到了root_folder: “/home/sln/caffe_dss-master/msra_b/”,这里的一万张,分别为2500.JPG+2500.PNG为训练集,500+500的验证集,2000+2000的测试集,但是都放在一个文件夹里,是没有问题的,网上关于该问题的解决办法,我试了,单作用不大
###4. Check failed: fd != -1 (-1 vs. -1) File not found: vgg16.caffemodel
要去论文里找作者参考的那个版本的VGGNet,并下载更名
###5.Check failed: error == cudaSuccess (2 vs. 0) out of memory
训练时,显存不够。网络上一版建议更改train_val.prototxt文件里的batch_size,但是在本篇复现里,batch_size已经是1了,或者也可以更改丢入网络的图片大小,但是因为是新手,我也不清楚在哪里可以批量修改丢入网络的图片尺寸,就尝试更换实验室环境的GPU(实验室有两块GPU),最后成功了。