Deeplab_v2和PSPnet的关系:PSPnet实在Deeplab_v2的的基础上进行修改的,本质上其实是差不了多少的。
Deeplab_v2的地址:github:https://github.com/xmyqsh/deeplab-v2
作者的主页:http://liangchiehchen.com/ 也可以在这里进行下载安装
安装步骤和caffe一样
make clean
make all -j128
make test -j128
make runtest -j128
如果安装出现没有安装matio的错误就直接再安装matio,之后重复上面的的步骤
sudo apt-get install libmatio-dev
也可以下载源码安装,源码地址:https://sourceforge.net/projects/matio/files/matio/1.5.2
cd matio-1.5.2
./configure
make
make check
make install
添加路径export LD_LIBRARY_PATH=/your/path/to/libmatio.so.2
如果没有管理员权限的话,就如下步骤:
cd matio-1.5.2
./configure
make
make check
在caffe 的 Makefile.config 中的INCLUDE_DIRS 中添加 matio 的 src路径, LIBRARY_DIRS 中添加 src/.libs 贴出来我的
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /home/ccf/matio-1.5.2/src
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /home/ccf/matio-1.5.2/src/.libs
也可以参考这个博客地址:http://blog.csdn.net/houqiqi/article/details/46469981
PSPnet安装cd到目录下面
make clean
make all -j128
make test -j128
make runtest -j128
遇到如下问题:
/include/caffe/common.cuh(9): error: function “atomicAdd(double *, double)” has already been defined
对include/caffe/common.cuh文件进行修改,修改内容如下
// Copyright 2014 George Papandreou
#ifndef CAFFE_COMMON_CUH_
#define CAFFE_COMMON_CUH_
#include <cuda.h>
#if !defined(__CUDA_ARCH__) || __CUDA_ARCH__ >= 600
#else
static __inline__ __device__ double atomicAdd(double *address, double val) {
unsigned long long int* address_as_ull = (unsigned long long int*)address;
unsigned long long int old = *address_as_ull, assumed;
if (val==0.0)
return __longlong_as_double(old);
do {
assumed = old;
old = atomicCAS(address_as_ull, assumed, __double_as_longlong(val +__longlong_as_double(assumed)));
} while (assumed != old);
return __longlong_as_double(old);
}
#endif
#endif
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: 没有那个文件或目录
解决方案:
sudo apt-get install --no-install-recommends libboost-all-dev