DeepLab v2 配置
2017-04-15 17:18
211 查看
DeepLab v2配置过程不是很麻烦,但资料很少,此处详解一下:
1)cudnn降级:因为Caffe版本所导致的问题,DeepLab的作者推荐使用cudnn v4,如果不是的话,可以考虑降级或者文件移植。先说降级;
到英伟达官网下载nudnn v4(注册即可下载),随便找个地方解压。
以v5将v4为例
sudo rm /usr/local/include/cudnn.h
sudo rm /usr/local/lib/libcudnn.so*
降级
sudo cp ./include/cudnn.h /usr/local/include
sudo cp ./lib64/libcudnn.so* /usr/local/lib
链接cuDNN的库文件
sudo ln -sf /usr/local/lib/libcudnn.so.4.0.7 /usr/local/lib/libcudnn.so.4
sudo ln -sf /usr/local/lib/libcudnn.so.4 /usr/local/lib/libcudnn.so
sudo ldconfig -v
按照自己的版本修改
除此之外,也可以在新的版本的Caffe中拷贝以下文件,将Deeplab中的对应文件覆盖而不执行降级操作,个人建议选择降级。
include/caffe/layers/cudnn_relu_layer.hpp, src/caffe/layers/cudnn_relu_layer.cpp, src/caffe/layers/cudnn_relu_layer.cu
include/caffe/layers/cudnn_sigmoid_layer.hpp, src/caffe/layers/cudnn_sigmoid_layer.cpp, src/caffe/layers/cudnn_sigmoid_layer.cu
include/caffe/layers/cudnn_tanh_layer.hpp, src/caffe/layers/cudnn_tanh_layer.cpp, src/caffe/layers/cudnn_tanh_layer.cu
(2)matio.h no such file or directory问题
sudo apt-get install libmatio-dev
(3)atomicAdd的重写问题,cuda8中出现了atomicAdd的定义,从而产生bug
将这个文件修改下common.cuh,修改如下,注意最后的endif
#ifndef CAFFE_COMMON_CUH_
#define CAFFE_COMMON_CUH_
#include <cuda.h>
#if !defined(__CUDA_ARCH__) || __CUDA_ARCH__ >= 600
#else
// CUDA: atomicAdd is not defined for doubles
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
v2感觉训练没啥问题,就是测试时会出现LOSS为0的情况,欢迎交流!
1)cudnn降级:因为Caffe版本所导致的问题,DeepLab的作者推荐使用cudnn v4,如果不是的话,可以考虑降级或者文件移植。先说降级;
到英伟达官网下载nudnn v4(注册即可下载),随便找个地方解压。
以v5将v4为例
sudo rm /usr/local/include/cudnn.h
sudo rm /usr/local/lib/libcudnn.so*
降级
sudo cp ./include/cudnn.h /usr/local/include
sudo cp ./lib64/libcudnn.so* /usr/local/lib
链接cuDNN的库文件
sudo ln -sf /usr/local/lib/libcudnn.so.4.0.7 /usr/local/lib/libcudnn.so.4
sudo ln -sf /usr/local/lib/libcudnn.so.4 /usr/local/lib/libcudnn.so
sudo ldconfig -v
按照自己的版本修改
除此之外,也可以在新的版本的Caffe中拷贝以下文件,将Deeplab中的对应文件覆盖而不执行降级操作,个人建议选择降级。
include/caffe/layers/cudnn_relu_layer.hpp, src/caffe/layers/cudnn_relu_layer.cpp, src/caffe/layers/cudnn_relu_layer.cu
include/caffe/layers/cudnn_sigmoid_layer.hpp, src/caffe/layers/cudnn_sigmoid_layer.cpp, src/caffe/layers/cudnn_sigmoid_layer.cu
include/caffe/layers/cudnn_tanh_layer.hpp, src/caffe/layers/cudnn_tanh_layer.cpp, src/caffe/layers/cudnn_tanh_layer.cu
(2)matio.h no such file or directory问题
sudo apt-get install libmatio-dev
(3)atomicAdd的重写问题,cuda8中出现了atomicAdd的定义,从而产生bug
将这个文件修改下common.cuh,修改如下,注意最后的endif
#ifndef CAFFE_COMMON_CUH_
#define CAFFE_COMMON_CUH_
#include <cuda.h>
#if !defined(__CUDA_ARCH__) || __CUDA_ARCH__ >= 600
#else
// CUDA: atomicAdd is not defined for doubles
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
至此基本就可以make通过了,接下来就可以阅读run.py文件,了解数据集该如何放置,注意在config文件夹下有相关配置文件(不是voc12下的那个)
在运行的过程中可能会出现CUDN_MAP_ERROR,这种情况下是数据集没做好,VOC的数据集不能拿来直接跑,而是要标定到0-20内的灰度图,标好后就不会报错了,现在我的DeepLab
v2感觉训练没啥问题,就是测试时会出现LOSS为0的情况,欢迎交流!
相关文章推荐
- DeepLab V2 配置bug
- DeepLab V2安装配置
- 聆听自由的声音----Linux下声卡驱动软件ALSA的安装与配置
- Linux网络服务器配置基础(上) network inetd
- Linux网络管理员手册(3) 第三章 配置网络硬件 设备、驱动程序 内核配置 支持的板卡 PLIP驱动 SLIP和PPP驱动程序
- Linux网络管理员手册(5) 第五章 配置TCP/IP网络 proc文件系统 设置主机名 分配IP地址 IP的接口配置 以太网接口
- Linux网络管理员手册(6) 第六章 名字服务和解析器配置 DNS 解析器库 host.conf nslookup
- Linux网络管理员手册(14) 第十四章 配置和运行smail
- Linux网络管理员手册(19) 第十九章 Newsreader的配置
- 硬件全攻略--MODEM linux内猫配置 驱动软猫
- 带SMTP认证功能的sendmail配置 sasl库
- 向Linux进军(X-Window配置指南)
- XWindow显卡配置通用解决方法 Xconfigurator
- 大家来做linux调试日志 (tomcat jsp server 配置方法)
- 高效配置Linux代理服务器――Squid
- keepalived配置文件详解
- UNIX下的PHP环境配置,+apache
- Linux下声卡驱动软件ALSA的安装与配置
- Linux 内核配置及编译简介
- 中华人民共和国国家标准 计算机软件配置管理计划规范