@huynh
2015-12-01T09:10:46.000000Z
字数 3267
阅读 4611
机器学习
RedHat
Caffe
参考:
http://www.th7.cn/system/lin/201402/50472.shtml
http://blog.csdn.net/u013476464/article/details/38071075
注意:
如果提示repo不对,将/etc/yum.repo.d下的Centeos.repo改名为epel.repo
参考文档: http://blog.csdn.net/yang1982_0907/article/details/17012061
安装低版本
yum install gcc
下载gcc4.7以上版本:gcc-4.7.4.tar.gz
解压
tar –zxf gcc-4.7.4.tar.gz
进入解压后的目录
cd gcc-4.7.4
安装依赖库
./contrib/download_prerequisites
新建目录存放编译结果
mkdir gcc-build-4.7.4
进入新目录
cd gcc-build-4.7.4
编译安装
- ../gcc-4.8.1/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
- make -j4
- make install
切换到新版本(通过软链接)
进入原来安装路径 cd /usr/bin
软链接 gcc : In -s gcc /usr/local/bin/gcc
软链接 g++ : In -s g++ /usr/local/bin/g++
查看版本
gcc -v
参考:http://blog.csdn.net/xuanyuansen/article/details/43152311
下载2.6.1版本
下载地址:https://github.com/google/protobuf/releases/download/v2.6.1/protobuf-2.6.1.tar.gz
解压安装
使用git上自动安装脚本安装
git clone https://github.com/jayrambhia/Install-OpenCV
cd Install-OpenCV/RedHat
./opencv_latest.sh
下载安装包安装
参考 http://www.rthpc.com/plus/view.php?aid=381
http://blog.csdn.net/sysuwuhongpeng/article/details/45485719
unzip opencv.zip
cd opencv
sed -i '/string(MD5/d' cmake/cl2cpp.cmake
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D CUDA_GENERATION=Kepler ..
make
make install
下载安装
install opencv-devel
下载安装
下载安装
./booststrap.sh
./bjam
yum install snappy-devel
yum install leveldb
下载安装
参考:http://www.xiaohuang.cc/post/496.html
安装目录到/opt/hdf5
安装python
下载Python解压编译安装
安装pip
- 下载pip包:wget "https://pypi.python.org/packages/source/p/pip/pip-1.5.4.tar.gz
- 安装 setuptools: wget https://pypi.python.org/packages/source/s/setuptools/setuptools-12.0.3.tar.gz
- 解压后安装:python setup.py install
- 安装pip:python setup.py install
yum install atlas-devel
解压进入目录
unzip caffe-master.zip
cd caffe-master
复制编译配置文件
cp Makefile.config.example Makefile.config
修改配置文件
vim Makefile
COMMON_FLAGS = –I/opt/protobuf/include –I/opt/hdf5/include
LDFLAGS = –L/opt/protobuf/lib –L/opt/hdf5/lib
vim Makefile.config
LIBRARY_DIRS 加上 /usr/lib64/atlas
编译
make all
编译出错解决
提示“src/caffe/util/math_functions.cu(140): error: calling a host function("std::signbit ") from a globalfunction("caffe::sgnbit_kernel ") is not allowed”
修改 ./include/caffe/util/math_functions.hpp 224行
1.如果using std::signbit;语句未被注释 则注释掉:using std::signbit;
2.如果已被注释,则去掉注释,并
修改:DEFINE_CAFFE_CPU_UNARY_FUNC(sgnbit, y[i] = signbit(x[i]));
为:DEFINE_CAFFE_CPU_UNARY_FUNC(sgnbit, y[i] = std::signbit(x[i]));
配置运行环境
caffe 运行时需要调用 protobuf 和 hdf5 的库,我们在 /etc/ld.so.conf.d 目录下新建一个 caffe.conf 文件,将所需要用到的库的目录写入
vim /etc/ld.so.conf.d/caffe.conf
添加:
/usr/local/cuda/lib64
/opt/protobuf/lib
/opt/hdf5/lib
/usr/local/lib
保存
生效:ldconfig
编译test
make test
编译runtest
make runtest
make runtest出错解决
error:/usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found
解决办法:更新libsdc++.so.6
- 下载 http://ftp.de.debian.org/debian/pool/main/g/gcc-4.7/libstdc++6_4.7.2-5_amd64.deb
- 解压 ar -x libstdc++6_4.7.2-5_i386.deb && tar xvf data.tar.gz
- 进入 xx/usr/lib/x86_64-linux-gnu
- 复制到/usr/lib64 : cp libstdc++.so.6.0.17 /usr/lib64
- 进入 /usr/lib64
- 删除原来的libstdc++.so.6 : rm -rf libstdc++.so.6
- 硬链接: ln libstdc++.so.6.0.17 libstdc++.so.6
- 查看版本:strings /usr/lib/libstdc++.so.6 | grep GLIBCXX
安装过程中如果出现error,根据error情况安装缺少的包,首选使用yum安装