本发明涉及新计算机领域,具体而言,涉及一种caffe在centos系统下的环境搭建方法。
背景技术:
caffe,全称convolutionalarchitectureforfastfeatureembedding。是一种常用的深度学习框架,主要应用在视频、图像处理方面的应用上。随着社会的发展,对视频、图像的处理速度与质量要求越来越高。近年来,gpu卡的应用越来越广泛,它可以大幅提高服务器的运算能力。caffe深度学习框架是开发的趋势。caffe框架以“层”为单位对深度神经网络的结构进行了高度的抽象,通过一些精巧的设计显著优化了执行效率,并且在保持高效实现的基础上不失灵活性。无论在结构、性能上,还是代码质量上,caffe都是一款出色的开源框架,现有环境搭建步骤复杂,搭建过程中经常报错,令人不知所措。
技术实现要素:
本发明提供一种caffe在centos系统下的环境搭建方法,采用确定硬件基础,并以root身份登录系统;在系统环境下,安装必要的驱动和必要工具,所述必要工具的安装顺序依次为cuda、cudnn、blas、cmake、protobuffer、glog、gflags、hdf5、opencv、lmdb、leveldb、python、pip、blas、cblas、boost、caffe;对安装驱动和必要环境进行测试,如报错则进行处理,如通过则进行下一步;运行caffe,对运行情况和运行结果进行验证的方案,解决现有技术中环境搭建步骤复杂,搭建过程中经常报错的技术问题。
本发明为解决上述技术问题而提供的这种caffe在centos系统下的环境搭建方法,包括以下步骤,
s1.确定硬件基础,并以root身份登录系统;
s2.在系统环境下,安装必要的驱动和必要工具,所述必要工具的安装顺序依次为cuda、cudnn、blas、cmake、protobuffer、glog、gflags、hdf5、opencv、lmdb、leveldb、python、pip、blas、cblas、boost、caffe;
s3.对安装驱动和必要环境进行测试,如报错则进行处理,如通过则进行下一步;
s4.运行caffe,对运行情况和运行结果进行验证。
进一步,所述s1步骤中所述硬件基础为可运行centos7.3完整系统的硬件,所述硬件基础中包括nvidiateslap4gpu卡并连接互联网,所述完整系统中包含serverwithgui包并关闭防火墙。
进一步,所述s2步骤中所述必要的驱动包括网卡驱动、nvidiateslap4显卡驱动,所述必要工具包括cuda、cudnn、blas、cmake、protobuffer、glog、gflags、hdf5、opencv、lmdb、leveldb、python、pip、blas、cblas、boost、caffe。
进一步,所述s2步骤中安装必要的网卡驱动时所有工具包都放在/gw文件夹下。
进一步,所述s2步骤中安装cuda还包括以下步骤,
a.在命令行中运行命令代码,createafileat/etc/modprobe.d/blacklist-nouveau.conf
#vi/etc/modprobe.d/blacklist-nouveau.conf;
blacklistnouveau
optionsnouveaumodeset=0
b.在命令行中运行命令代码,#dracut--force;
c.在命令行中运行命令代码,#init6;
d.在命令行中运行命令代码,#init3;
e.在命令行中运行命令代码,#vi/boot/grub2/grub.cfg
添加”nomodeset3”到内核引导里;
f.在命令行中运行命令代码,#shcuda_9.2.148_396.37_linux.run--silent
g.添加环境变量,在命令行中运行命令代码,#vi/etc/profile
exportpath=/usr/local/cuda-9.2/bin${path:+:${path}}
exportld_library_path=/usr/local/cuda-9.2/lib64\
${ld_library_path:+:${ld_library_path}}
#source/etc/profile;
h.查看gpu信息,在命令行中运行命令代码,#nvidia-smi。
进一步,所述s2步骤中安装cmake为安装最新版本的cmake,安装cmake同时开启多线程编译。
进一步,所述s2步骤中安装python同时安装依赖包。
进一步,所述s2步骤中安装caffe还包括修改caffe的编译配置步骤,s21.去掉use_cudnn项的#符号;s22.去掉use_opencv项、use_leveldb项、use_lmdb项的#符号,将use_opencv项、use_leveldb项、use_lmdb项的值从0改为1;
s23.去掉use_cudnn项的#符号;
s24.去掉cuda_arch项的前两行;
s25.将blas项的值改为mkl;
s26.修改python路径为对应路径;
s27.去掉anacondapython路径前的#,并修改对应路径;
s28.将python_lib项的值修改为/usr/lib64;
s29.去掉with_python_layer项的#符号;
s210.修改include_dirs项和library_dirs项的相应值;
s211.在命令行中运行命令代码,l.#vi/etc/profile
exportpythonpath=/gw/caffe-master/python:\
$pythonpath
#source/etc/profile;
s212.在命令行中运行命令代码,#makeall–j8进行编译,如果出现报错,则每次报错修改后,执行makeclean命令,再执行命令makeall–j8,编译前确保/etc/ld.so.conf、/etc/profile已添加相关内容ld.so.conf。
进一步,所述s3步骤中所述进行处理为运行命令代码#condainstallpydot。
进一步,所述s4步骤中所述对运行情况和运行结果进行验证包括验证是否产生四个文件和验证cpu模式下运行的时间是否比cpu模式下运行的时间短,所述文件包括mnist_train_lmdb,mnist_test_lmdb。
本发明所具有的有益效果:本发明提供的这种方法,过程清晰明确,有利于环境搭建过程中提高工作效率。
附图说明
图1是本发明所述caffe在centos系统下的环境搭建方法流程图。
具体实施方式
结合上述附图说明本发明的具体实施例。
如图1所示,本发明为解决上述技术问题而提供一种caffe在centos系统下的环境搭建方法,包括以下步骤,
s1.确定硬件基础,并以root身份登录系统;
s2.在系统环境下,安装必要的驱动和必要工具,所述必要工具的安装顺序依次为cuda、cudnn、blas、cmake、protobuffer、glog、gflags、hdf5、opencv、lmdb、leveldb、python、pip、blas、cblas、boost、caffe;
s3.对安装驱动和必要环境进行测试,如报错则进行处理重复s3步骤,如通过则进行下一步;
s4.运行caffe,对运行情况和运行结果进行验证。
进一步,所述s1步骤中所述硬件基础为可运行centos7.3完整系统的硬件,所述硬件基础中包括nvidiateslap4gpu卡并连接互联网,所述完整系统中包含serverwithgui包并关闭防火墙。
进一步,所述s2步骤中所述必要的驱动包括网卡驱动、nvidiateslap4显卡驱动,所述必要工具包括cuda、cudnn、blas、cmake、protobuffer、glog、gflags、hdf5、opencv、lmdb、leveldb、python、pip、blas、cblas、boost、caffe。
进一步,所述s2步骤中安装必要的网卡驱动时所有工具包都放在/gw文件夹下。
进一步,所述s2步骤中安装cuda还包括以下步骤,
a.在命令行中运行命令代码,createafileat/etc/modprobe.d/blacklist-nouveau.conf
#vi/etc/modprobe.d/blacklist-nouveau.conf;
blacklistnouveau
optionsnouveaumodeset=0
b.在命令行中运行命令代码,#dracut--force;
c.在命令行中运行命令代码,#init6;
d.在命令行中运行命令代码,#init3;
e.在命令行中运行命令代码,#vi/boot/grub2/grub.cfg
添加”nomodeset3”到内核引导里;
f.在命令行中运行命令代码,#shcuda_9.2.148_396.37_linux.run--silent
g.添加环境变量,在命令行中运行命令代码,#vi/etc/profile
exportpath=/usr/local/cuda-9.2/bin${path:+:${path}}
exportld_library_path=/usr/local/cuda-9.2/lib64\
${ld_library_path:+:${ld_library_path}}
#source/etc/profile;
h.查看gpu信息,在命令行中运行命令代码,#nvidia-smi。
进一步,所述s2步骤中安装cmake为安装最新版本的cmake,安装cmake同时开启多线程编译。
进一步,所述s2步骤中安装python同时安装依赖包。
进一步,所述s2步骤中安装caffe还包括修改caffe的编译配置步骤,s21.去掉use_cudnn项的#符号;
s22.去掉use_opencv项、use_leveldb项、use_lmdb项的#符号,将use_opencv项、use_leveldb项、use_lmdb项的值从0改为1;
s23.去掉use_cudnn项的#符号;
s24.去掉cuda_arch项的前两行;
s25.将blas项的值改为mkl;
s26.修改python路径为对应路径;
s27.去掉anacondapython路径前的#,并修改对应路径;
s28.将python_lib项的值修改为/usr/lib64;
s29.去掉with_python_layer项的#符号;
s210.修改include_dirs项和library_dirs项的相应值;
s211.在命令行中运行命令代码,l.#vi/etc/profile
exportpythonpath=/gw/caffe-master/python:\
$pythonpath
#source/etc/profile;
s212.在命令行中运行命令代码,#makeall–j8进行编译,如果出现报错,则每次报错修改后,执行makeclean命令,再执行命令makeall–j8,编译前确保/etc/ld.so.conf、/etc/profile已添加相关内容ld.so.conf。
进一步,所述s3步骤中所述进行处理为运行命令代码#condainstallpydot。
进一步,所述s4步骤中所述对运行情况和运行结果进行验证包括验证是否产生四个文件和验证cpu模式下运行的时间是否比cpu模式下运行的时间短,所述文件包括mnist_train_lmdb,mnist_test_lmdb。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明具体实施只局限于这些说明,对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于发明的保护范围。