做网站需要多少钱,如何自学网页设计,wordpress主题收费变免费,公司网站建设中恒建设集团有限公司本文参考如下: caffe 安装所需的所有资源可在百度网盘下载 链接: http://pan.baidu.com/s/1jIRJ6mU 提取密码#xff1a;xehi
在服务器上为每个子用户拷贝caffe 使用
Linux探索之旅 | 第一部分第四课#xff1a;磁盘分区完成Ubuntu安装
Ubuntu16.04 1080Ti深度学习环境配…本文参考如下: caffe 安装所需的所有资源可在百度网盘下载 链接: http://pan.baidu.com/s/1jIRJ6mU 提取密码xehi
在服务器上为每个子用户拷贝caffe 使用
Linux探索之旅 | 第一部分第四课磁盘分区完成Ubuntu安装
Ubuntu16.04 1080Ti深度学习环境配置教程 第一部分 Linux安装 Linux的安装先制作安装U盘或者光盘可参考 制作安装U盘 Win7 安装Ubuntu双系统
Rufus制作U盘启动安装
Ubuntu 16.04 U盘安装图文教程
Universal USB Installer制作U盘启动安装软碟通UltraISO v9.5.3.2901 简体中文完美注册版制作 光盘启动安装
Universal USB Installer
官网 ----如何制作光盘U盘安装盘的教程中文
如何在Windows系统上制作一个USB安装盘中文英文。
总共用分出的500G的空间来安装Ubuntu 15.04这个版本是最新的版本有个好处是可以直接访问Windows8.1的NTFS分区建议安装英文版本中文版本在文本命令模式下有时会出现乱码。
如果是装双系统启动建议学习一下 计算机是如何启动的 Linux的文件系统
ext2这个文件系统在Linux下使用了很久。ext是英语Extended的前三个字母是“扩展的”的意思。由法国程序员Remy Card设计他也是ext第一代扩展文件系统的设计者。ext文件系统的一大优势是几乎不怎么产生磁盘碎片所以在Linux系统下一般不需要进行磁盘碎片整理。ext3ext3和ext2很接近不过ext3是日志型文件系统所以比之ext2不是日志型ext3在故障时可以恢复数据。ext3和ext2高度兼容。ext4ext3的演进扩大了磁盘分区的大小进一步减少了磁盘碎片的产生机率所以ext2ext3和ext4分别是Second Extended Filesystem第二代扩展文件系统Third Extended Filesystem第三代扩展文件系统和Fourth Extended Filesystem第四代扩展文件系统的缩写。 Linux下磁盘分区的名称
dev是英语device的头三个字母表示设备文件。第一个字母h或s。h表示IDE接口的硬盘。s表示SATA或SCSI接口的硬盘。第二个字母总是d。英语drive的首字母表示磁盘驱动器。第三个字母abcd等等。表示顺序。hda一般是指IDE接口的硬盘hda一般指第一块硬盘磁盘类似的有hdbhdc等。
sda一般是指SATA或SCSI接口的硬盘sda一般指第一块硬盘磁盘类似的有sdbsdc等。 主分区和逻辑分区
主分区英语是Primary Partition。也称为主磁盘分区和扩展分区、逻辑分区一样是一种分区类型。主分区中不能再划分其他类型的分区因此每个主分区都相当于一个逻辑磁盘在这一点上主分区和逻辑分区很相似但主分区是直接在硬盘上划分的逻辑分区则必须建立于扩展分区中。早期MBR模式分区只能划分四个分区现在的GPT分区至少可以划分128个主分区未来很有可能将不存在扩展分区和逻辑分区的概念。一个硬盘的主分区包含操作系统启动所必需的文件和数据的硬盘分区要在硬盘上安装操作系统则硬盘必须有一个主分区
逻辑分区英语是Logical Partition。是硬盘上一块连续的区域不同之处在于每个主分区只能分成一个驱动器每个主分区都有各自独立的引导块可以用fdisk设定为启动区。一个硬盘上最多可以有4个主分区而扩展分区上可以划分出多个逻辑驱动器。这些逻辑驱动器没有独立的引导块不能用fdisk设定为启动区。 分区设置参考
分区设置如下
第一次分区—根分区 根分区也就是 / 分区相当于Windows系统的C盘。在Linux系统里/是最上层目录其实就是一个根目录。
挂载点“/” 大小100G 新分区的类型主分区 新分区的位置空间起始位置 用于EXT4日志文件系统 第一次分区完毕 第二次分区
“空闲”处继续点“”如下设置 挂载点不设置 Swap交换分区128G这里设置为何内存一样据说小于16G的内存就设置成内存的1.5-2倍。 新分区的类型逻辑分区 新分区的位置空间起始位置 用于交换空间 第二次分区完毕。
SWAP分区也叫交换分区就是LINUX下的虚拟内存分区。 它的作用是在物理内存使用完之后将磁盘空间(也就是SWAP分区)虚拟成内存来使用。 第三次分区引导分区
引导分区也就是引导操作系统启动的程序所在的分区。/boot分区是系统启动所需要的文件。
“空闲”处继续点“”如下设置 挂载点/boot 设置Ubuntu启动引导区。 大小200MB笔者暂时设置为200MB 新分区的类型逻辑分区 新分区的位置空间起始位置 用于EXT4日志文件系统 第三次分区完毕
第四次分区
“空闲”处继续点“”如下设置 挂载点/home 用于存放我们用户的文件。 大小剩余全部空间剩下显示多少就多少。 鉴于ImagenetPASCAL VOC之类的大客户建议500G至少300G以上。 新分区的类型逻辑分区 新分区的位置空间起始位置 用于EXT4日志文件系统 第四次分区完毕
分区设置完毕后下方还有一项**“安装启动引导器的设备”**重要的一点记得将“安装启动引导器的设备”选择称为之前分配/boot的那个分区名。 UEFI 引导启动需要设置 ESP(EFI系统分区)切记
UEFI的两种启动模式 ☆☆☆☆☆☆☆☆☆☆安装前需要注意的问题☆☆☆☆☆☆☆☆☆☆☆☆☆☆
a. 检查自己的GPU是否支持CUDAlinux可用以下命令来查看GPU型号
lspci |grep –i nvidia只要GPU型号可以在https://developer.nvidia.com/cuda-gpus找到就是支持CUDA的
b. 检查自己的操作系统是不是CUDA支持的可以输入以下命令
uname -m cat /etc/*releasex86_64 DISTRIB_IDUbuntu DISTRIB_RELEASE16.04 DISTRIB_CODENAMExenial DISTRIB_DESCRIPTION“Ubuntu 16.04.2 LTS” NAME“Ubuntu” VERSION“16.04.2 LTS (Xenial Xerus)” IDubuntu ID_LIKEdebian PRETTY_NAME“Ubuntu 16.04.2 LTS” VERSION_ID“16.04” HOME_URL“http://www.ubuntu.com/” SUPPORT_URL“http://help.ubuntu.com/” BUG_REPORT_URL“http://bugs.launchpad.net/ubuntu/” VERSION_CODENAMExenial UBUNTU_CODENAMExenial uname -r4.8.0-52-generic 03:00.0 3D controller: NVIDIA Corporation GK110BGL [Tesla K40c] (rev a1)
04:00.0 VGA compatible controller: NVIDIA Corporation GK110GL [Quadro K5200] (rev a1)
04:00.1 Audio device: NVIDIA Corporation GK110 HDMI Audio (rev a1)
CUDA支持的操作系统在以下网址可以找到http://docs.nvidia.com/cuda/cuda-toolkit-release-notes/#overview c. 检查操作系统是否安装了gcc可用以下命令
gcc --version很多操作系统都预装有gcc如果你的没有就先安装一下。有时gcc已经预装但是gcc --version执行后没有显示信息可以执行下面命令来查询系统的gcc信息。
cat /proc/versiond. 去https://developer.nvidia.com/cuda-downloads下载最新版的CUDA目前是7.5的。这里注意选择与自己机器和操作系统相匹配的比如我的是64位的Ubuntu15.04。友情提醒文件有点大大概1G网速不好的同学请耐心等待。
e. 验证下载的CUDA是否有效
md5sum 安装包名字例如
md5sum cuda-repo-ubuntu1504-7-5-local_7.5-18_amd64.deb执行完上述命令后会出现一串md5值例如我的是: 0a02f6efe0ba2b8dea3e7654ee0951d7看看https://developer.nvidia.com/cuda-downloads/checksums列表中是否能找到你的md5值如果不能找到那就说明之前下的安装包有问题要重新下载。
第二部分NVidia CUDA Toolkit的安装*.deb方法
特别备注Cuda7.5包含CUDA所需的所有驱动不存在兼容的问题所以没有必要去专门安装Nvidia的驱动。
PS特别推荐*.deb的方法目前已提供离线版的deb文件该方法比较简单不需要切换到tty模式因此不再提供原来的*.run安装方法这里以CUDA 7.5为例。
对于出现循环登录界面的问题所以需要禁用 nouveau驱动
详细参考 ubuntu16.04下NVIDIA GTX965M显卡驱动PPA安装
#禁用nouveau驱动
Ubuntu系统集成的显卡驱动程序是nouveau我们需要先将nouveau从linux内核卸载掉才能安装NVIDIA官方驱动。将nouveau添加到黑名单blacklist.conf中(关于blacklist参见 《禁用Linux内核驱动》),linux启动时就不会加载nouveau. 因为nouveau驱动的影响ubuntu安装后无法登入桌面所以在ubuntu系统启动显示登录界面后需要按ctrlaltF1进入tty文本模式进入下面的操作
由于blacklist.conf文件的属性不允许修改。所以需要先修改文件属性。 查看属性
ll /etc/modprobe.d/blacklist.conf修改属性
sudo chmod 666 /etc/modprobe.d/blacklist.conf用vi编辑器打开
sudo vi /etc/modprobe.d/blacklist.conf在文件末尾添加如下几行 blacklist vga16fbblacklist nouveaublacklist rivafbblacklist rivatvblacklist nvidiafb修改并保存文件后记得把文件属性复原
sudo chmod 644 /etc/modprobe.d/blacklist.conf再更新一下内核
sudo update-initramfs -u关于update-initramfs命令的用途参见 《initramfs 简介一个新的 initial RAM disks 模型》 修改后需要重启系统。 重启系统确认nouveau是否已经被屏蔽掉使用lsmod命令查看
lsmod | grep nouveaulsmod命令用于显示已经加载到内核中的模块的状态信息参见《lsmod命令》
一、CUDA Repository
获取CUDA安装包,安装包请自行去NVidia官网下载。https://developer.nvidia.com/cuda-downloads
sudo dpkg -i cuda-repo-ubuntu1504-7-5-local_7.5-18_amd64.deb
sudo apt-get update二、CUDA Toolkit
sudo apt-get install -y cuda检查CUDA安装 重启一下系统让NVIDIA GPU加载刚刚安装的驱动重启完成之后运行
cat /proc/driver/nvidia/version如果有如下显示说明GPU驱动加载成功 NVRM version: NVIDIA UNIX x86_64 Kernel Module 375.39 Tue Jan 31 20:47:00 PST 2017 GCC version: gcc version 5.4.1 20160904 (Ubuntu 5.4.1-2ubuntu1~16.04) Information about the cuda compiler driver
nvcc -Vnvcc: NVIDIA ® Cuda compiler driver Copyright © 2005-2016 NVIDIA Corporation Built on Tue_Jan_10_13:22:03_CST_2017 Cuda compilation tools, release 8.0, V8.0.61 查看NVIDIA驱动版本
sudo dpkg --list | grep nvidia-*nvidia-smi #查看GPU使用情况
nvidia-settings #设置GPU参数比如风扇运转速度sudo fuser -v /dev/nvidia* #查找占用GPU资源的PIDsudo lsof -n -w /dev/nvidia* #查找占用GPU资源的PIDsudo kill -9 ***(PID) # 解除显存占用#验证cuda
cd /usr/local/cuda/samples
sudo make ‐j8
cd bin/x86_64/linux/release/
sudo ./deviceQuerysudo ./bandwidthTest#最后一行 resultpass表示通过~cat /usr/local/cuda/version.txt
# 检测cuda的版本第三部分 Matlab安装和调试以Matlab 2014a为例
1.下载
由于该软件为商业软件请大家自行寻找安装学习并确保不使用做商业目的下载24小时删除…
2. 预准备
选择Mathworks.Matlab.R2014a.Unix.iso -右键 - 使用磁盘映像挂载器打开”进入装载的虚拟光盘拷贝全部文件至home/Matlab文件夹复制Crack/install.jar至 home/Matlab/java/jar/并覆盖源文件 sudo cp install.jar /home/Matlab/java/jar/3. 授权安装文件夹 chmod ax Matlab -R4. 进入/home/Matlab 安装 sudo ./install选项不使用Internet安装 序列号 12345-67890-12345-67890 默认路径/usr/local/MATLAB/R2014a 勾选从默认启动路径创建符号链接实现在任意位置运行matlab启动程序 激活文件license_405329_R2014a.lic 拷贝 /Crack/Linux 下的libmwservices.so至 /usr/local/MATLAB/R2014a/bin/glnxa64
sudo cp libmwservices.so /usr/local/MATLAB/R2014a/bin/glnxa64/百度云盘的 matlab2015b安装情况类似 5.解决编译器gcc/g版本问题
因为Ubuntu 15.04的gcc/g版本是4.9.2而Matlab 2014a2015a的版本是4.7.x所以在使用matla调用mex文件的时候基本上都会报错根据报错信息考虑如下两步解决方案。 A. 降级安装gcc/g版本为4.7.x (a). 下载gcc/g 4.7.x sudo apt-get install -y gcc-4.7sudo apt-get install -y g-4.7(b). 链接gcc/g实现降级 cd /usr/binsudo rm gccsudo ln -s gcc-4.7 gccsudo rm gsudo ln -s g-4.7 gB. 暴力引用新版本GLIBCXX_3.4.20
sudo cp /usr/lib/x86_64-linux-gnu/libstdc.so.6.0.20 /usr/local/MATLAB/R2014a/sys/os/glnxa64/libstdc.so.6.0.20libstdc.so.6.0.20的版本可能因为系统不同而不同使用最新的就可以了。 目录切换到 /usr/local/MATLAB/R2014a/sys/os/glnxa64/非常重要 sudo mv libstdc.so.6 libstdc.so.6.backup仅仅是备份可以不备份直接删除。 sudo ln -s libstdc.so.6.0.20 libstdc.so.6sudo ldconfig -v通过命令
strings /usr/local/MATLAB/R2014a/sys/os/glnxa64/libstdc.so.6 |grep GLIBCXX可以看一下是否已经成功包含了GLIBCXX_3.4.20如果已经存在基本上就成功了。
6.编译Matlab用到的caffe文件见第五部分
第四部分 Caffe-Master的安装和测试
对于Caffe的安装严格遵照官网的要求来http://caffe.berkeleyvision.org/installation.html
一、安装BLAS 这里可以选择ATLASMKL或者OpenBLAS三者的速度大致为MKLOpenBLASATLAS推荐采用MKL。我这里使用MKL首先下载并安装英特尔®数学内核库 Linux*版MKL(Intel® Parallel Studio XE Cluster Edition for Linux 2016)下载链接是https://software.intel.com/en-us/intel-education-offerings使用学生身份邮件 学校下载Student版填好各种信息可以直接下载同时会给你一个邮件告知序列号。下载完之后要把文件解压到home文件夹(或直接把tar.gz文件拷贝到home文件夹,为了节省空间安装完记得把压缩文件给删除喔)或者其他的ext4的文件系统中。
接下来是安装过程先授权然后安装 tar zxvf parallel_studio_xe_2016.tar.gz 如果你是直接拷贝压缩文件过来的 chmod ax parallel_studio_xe_2016 -Rcd parallel_studio_xe_2016 -Rsudo sh install_GUI.shPS: 安装的时候建议使用root权限安装过程中会要求输入Linux的root口令。 若出现有32位的库没有找到的问题32-bit libraries not found
sudo apt-get install g-multilib二、MKL与CUDA的环境设置
1. 新建intel_mkl.conf并编辑之
sudo gedit /etc/ld.so.conf.d/intel_mkl.conf添加下列code
/opt/intel/lib/intel64
/opt/intel/mkl/lib/intel642. 新建cuda.conf并编辑之 sudo gedit /etc/ld.so.conf.d/cuda.conf添加下列code
/usr/local/cuda/lib64
/lib3. 完成lib文件的链接操作执行
sudo ldconfig -v**采用OpenBLASOpenBLAS是高性能多核BLAS库**其官网http://www.openblas.net/
$ sudo apt-get install -y gfortran %需安装gfortran来编译安装步骤
cd OpenBLAS
make
sudo make install
make -j 40 -f Makefile.install install
make[1]: Entering directory /home/bids/softwares/OpenBLAS
Generating openblas_config.h in /opt/OpenBLAS/include
Generating f77blas.h in /opt/OpenBLAS/include
Generating cblas.h in /opt/OpenBLAS/include
Copying LAPACKE header files to /opt/OpenBLAS/include
Copying the static library to /opt/OpenBLAS/lib
Copying the shared library to /opt/OpenBLAS/lib
Generating OpenBLASConfig.cmake in /opt/OpenBLAS/lib/cmake/openblas
Install OK!
make[1]: Leaving directory /home/bids/softwares/OpenBLAS修改Caffe的Makefile.config
BLAS : open
BLAS_INCLUDE : /opt/OpenBLAS/include
BLAS_LIB : /opt/OpenBLAS/libexport环境变量
export OPENBLAS_NUM_THREADS4
export LD_LIBRARY_PATH/opt/OpenBLAS/lib/:$LD_LIBRARY_PATH接下来就可以使用caffe的多cpu进行计算了 三、安装OpenCV 3.0.0
1. 下载并编译OpenCV 官网原版OpenCVhttp://opencv.org/或者使用我提供的修改版的安装包 Install-OpenCV-master https://github.com/jayrambhia/Install-OpenCV下面的安装方式使用该包完成安装包修改了dependencies.sh文件并增加了OpenCV 3.0.0的安装文件
2. 切换到文件保存的文件夹然后安装依赖项
cd Install-OpenCV-master
sudo sh Ubuntu/dependencies.sh3. 切换目录Ubuntu/3.0
cd Ubuntu/3.0
sudo sh opencv3_0_0.sh保证网络畅通因为软件需要联网这里时间较长请耐心等待。 #终端安装
sudo apt-get install libopencv-dev python-opencv源码编译安装
sudo apt install build-essential
sudo apt install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev#clone压缩包的文件夹把源码拿下来 git clone opencv/opencv
然后进入OpenCV文件夹
mkdir release
cd release
cmake -D CMAKE_BUILD_TYPERELEASE -D CMAKE_INSTALL_PREFIX/usr/local ..准备完毕直接make并安装
make
sudo make install四、安装其他依赖项
**1. Google Logging Libraryglog**下载地址https://code.google.com/p/google-glog/然后解压安装
tar zxvf glog-0.3.3.tar.gz
cd glog-0.3.3
./configure
make
sudo make install如果没有权限就chmod ax glog-0.3.3 -R ,或者索性 chmod 777 glog-0.3.3 -R ,装完之后这个文件夹就可以kill了。
2. 其他依赖项确保都成功
sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler protobuf-c-compiler protobuf-compiler五、安装Caffe并测试
1. 安装pycaffe必须的一些依赖项
sudo apt-get install -y python-yaml python-numpy python-scipy python-matplotlib python-sklearn python-skimage python-h5py python-protobuf python-leveldb python-networkx python-nose python-pandas python-gflags Cython ipython ipython-notebook python-imdbpy python-pip liblmdb-devsudo pip install lmdb 备注关于python模块的特别说明 具体详情大家可以去下面链接去查阅 easy caffe 配置 python最蛋疼的一是缩进二是包管理。 不同的包管理工具安装的包之间可能是不兼容的出现互相依赖的时候就特别麻烦了而且卸载还是不干净的。 使用pip这个包管理工具安装pithon模块。你只要熟悉几个简单的命令
pip search package name #搜索某包
pip list #列出已安装的包
pip install some package #安装一个包
pip uninstall installed package #卸载 有个比较好用的命令pip install -r requirements.txt,在requirements.txt填上所有要安装的模块名pip会install one by one。 编辑 requirements.txt,添加所需的模块
Cython0.19.2
numpy1.10.2
scipy0.13.3
scikit-image0.11.3
scikit-learn0.17
matplotlib1.5.0
pyopencv
ipython3.0.0
h5py2.2.0
leveldb0.191
lmdb
networkx1.8.1
nose1.3.0
pandas0.12.0
python-dateutil1.4,2
protobuf2.5.0
python-gflags2.0
pyyaml3.10
Pillow2.3.0
six1.1.0
pyzmq
singledispatch
backports_abc
certifi
jsonschema
jupyter
qtawesome
pydot
notebook
sklearn
skimage
imdbpy
liblmdv-dev 一定要验证python 安装包依赖库
cd caffe-master/python
for req in $(cat requirements.txt); do pip install $req; done终端可能会有很多红字那么在运行下一句
for req in $(cat requirements.txt); do sudo -H pip install $req --upgrade; done 2. 安装配置nVidia cuDNN加速Caffe模型运算
a. 安装前请去先官网https://developer.nvidia.com/cudnn下载最新的cuDNN (cudnn-7.0-linux-x64-v4),建议安装v4。
tar zxvf cudnn-7.0-linux-x64-v4.0-rc.tgz
cd cuda
sudo cp include/cudnn.h /usr/local/include
sudo cp lib64/libcudnn.* /usr/local/libb. 链接cuDNN的库文件
$ sudo ln -sf /usr/local/lib/libcudnn.so.4.0.4 /usr/local/lib/libcudnn.so.4$ sudo ln -sf /usr/local/lib/libcudnn.so.4 /usr/local/lib/libcudnn.so$ sudo ldconfig -v– 特别备注a. 安装前请去先官网下载最新的cuDNN (cudnn-7.0-linux-x64-v4),建议安装v4v4是运行caffe是没有问题的但是若此后还需要安装 TheanoV4就不行了在测试Theano会出现下列问题。详情见
Using gpu device 0: Tesla K40c (CNMeM is disabled, cuDNN Version is too old. Update to v5, was 4004.)所以最后的建议还是安装V5 a. 安装前请去先官网https://developer.nvidia.com/cudnn下载最新的cuDNN (cudnn-7.5-linux-x64-v5.0),建议安装v5。
tar zxvf cudnn-7.5-linux-x64-v5.0-ga.tgz
cd cuda
sudo cp include/cudnn.h /usr/local/include
sudo cp lib64/libcudnn.* /usr/local/libb. 链接cuDNN的库文件
$ sudo ln -sf /usr/local/lib/libcudnn.so.5.0.5 /usr/local/lib/libcudnn.so.5$ sudo ln -sf /usr/local/lib/libcudnn.so.5 /usr/local/lib/libcudnn.so$ sudo ldconfig -v#验证cudnn
cat /usr/local /include/cudnn.h | grep CUDNN_MAJOR -A 23.切换到Caffe-master的文件夹生成Makefile.config配置文件执行
cd caffe-master
cp Makefile.config.example Makefile.config4. 配置Makefile.config文件仅列出修改部分
sudo gedit Makefile.config用来修改配置Makefile.config a. 启用CUDNN去掉#
USE_CUDNN : 1
b. 配置一些引用文件增加部分主要是解决新版本下HDF5的路径问题
INCLUDE_DIRS : $(PYTHON_INCLUDE)/usr/local/include /usr/lib/x86_64-linux-gnu/hdf5/serial/includeLIBRARY_DIRS : $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serialc. 启用Intel Parallel Studio XE 2016
BLAS : mkl
d. 配置路径实现caffe对Python和Matlab接口的支持
PYTHON_LIB : /usr/local/lib
MATLAB_DIR : /usr/local/MATLAB/R2014a
c. 启用OpenCV 3.0,去掉#
OPENCV_VERSION 3
5. 编译caffe-master-j8是使用CPU的多核进行编译可以极大地加速编译的速度建议使用。
特别备注最好在编译caffe-master之前进行重启电脑因为显卡驱动装完需要重启才能生效否则有时会出现编译错误.
cd caffe-master
make all -j16
make test -j16
make runtest -j166.编译Python和Matlab用到的caffe文件
make pycaffe -j16
make matcaffe -j16☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
备注安装BLAS可以选择ATLAS
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev
sudo apt-get install libatlas-base-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev如果不用 MKL的话把上面4条命令跑一遍然后装好CUDA之后执行
mkdir build
cd build
cmake ..
make all
make test
make runtest这样配置比MKL更加便捷。
安装和配置cuDNN 把cudnn解压之后把对应的文件拷贝到 cuda 的对应的 include 和 lib64目录下然后进入到build目录在该目录下
cmake .. make -j8 make runtest -j8 注意:-j8 是指使用几个线程来同时编译 可以加快速度 j后面的数字可以根据CPU core的个数来决定 我的CPU使8核 所以-j8. 这样直接进入测试阶段即可。 ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
caffe在服务器上的copy使用
caffe的安装比较复杂因此如果服务器上有其他用户装好配置好了caffe我们可以拷贝过来使用方法如下
1. 新建自己的用户
sudo adduser newaccount2. 将别的用户的caffe根目录的包拷到自己的用户
cp -r ./caffe-master /home/newaccount3 . 重新编译
make clean
make all -j16
make test -j16
make runtest -j16六、使用MNIST数据集进行测试
Caffe默认情况会安装在CAFFEROOT就是解压到那个目录例如CAFFE_ROOT就是解压到那个目录例如CAFFEROOT就是解压到那个目录例如home/username/caffe-master所以下面的工作默认已经切换到了该工作目录。下面的工作主要是用于测试Caffe是否工作正常不做详细评估。具体设置请参考官网http://caffe.berkeleyvision.org/gathered/examples/mnist.html
mnist数据训练样本为60000张测试样本为10000张每个样本为28*28大小的黑白图片手写数字为0-9因此分为10类。
1. 数据预处理 sh data/mnist/get_mnist.sh运行成功后在 data/mnist/目录下有四个文件
train-images-idx3-ubyte: 训练集样本 (9912422 bytes)
train-labels-idx1-ubyte: 训练集对应标注 (28881 bytes)
t10k-images-idx3-ubyte: 测试集图片 (1648877 bytes)
t10k-labels-idx1-ubyte: 测试集对应标注 (4542 bytes)**2. 重建lmdb文件。**Caffe支持多种数据格式输入网络包括Image(.jpg, .png等)leveldblmdbHDF5等根据自己需要选择不同输入吧。
sh examples/mnist/create_mnist.sh生成mnist-train-lmdb和 mnist-train-lmdb文件夹这里包含了lmdb格式的数据集存放的data.mdb和lock.mdb
3. 训练mnist
sh examples/mnist/train_lenet.sh至此Caffe安装的所有步骤完结下面是一组简单的数据对比实验来源于MNIST数据集主要是考察一下不同系统下CPU和GPU的性能。可以看到明显的差别了虽然MNIST数据集很简单相信复杂得数据集差别会更大UbuntuGPU是唯一的选择了。
第五部分增加新层以Fast RCNN提出的 ROIPooling layer为例
已配置和需要修改的文件参见百度云盘百度云盘链接: http://pan.baidu.com/s/1hqCWTF2密码: 8qw8 该教程仅为添加方案切勿直接覆盖原来的文件将云盘中下载的文件响应的内容覆盖到合适的位置即可。
1. 添加层引用
编辑文件$ include/vision_layers.hpp将class ROIPoolingLayer添加到合适的位置参考其他层
2. 创建层文件
创建roi_pooling_layer.cpp和 roi_pooling_layer.cu文件到目录 $ src/layer 创建test_roi_pooling_layer.cpp到目录 $ src/test
3. 注册新创建的层
编辑文件$ src/proto/caffe.proto a. 在message LayerParamete中注册 ROIPoolingParameter层 b. 在最后添加ROI层的参数ROIPoolingParameter
测试二 cifar10实例
根据下载的caffe-master中的examples做一些测试以cifar10为例。
cifar10数据训练样本50000张测试样本10000张每张为32*32的彩色三通道图片共分为10类。
examples下cifar10里有readme.md。注意这里的$CAFFE_ROOT就是caffe-master解压后路径。以下均是在该目录下操作
sh ./data/cifar10/get_cifar10.sh #(下载数据集)运行成功后会在 data/cifar10/文件夹下生成一堆bin文件。
sh ./examples/cifar10/create_cifar10.sh #转换数据格式为lmdb转换成功后会在 examples/cifar10/文件夹下生成两个文件夹cifar10_train_lmdb和cifar10_test_lmdb
为了节省时间我们进行快速训练train_quick)训练分为两个阶段第一个阶段迭代4000次调用配置文件cifar10_quick_solver.prototxt, 学习率base_lr)为0.001
第二阶段迭代1000次调用配置文件cifar10_quick_solver_lr1.prototxt, 学习率(base_lr)为0.0001
前后两个配置文件就是学习率(base_lr)和最大迭代次数max_iter)不一样其它都是一样。如果你对配置文件比较熟悉以后实际上是可以将两个配置文件合二为一的设置lr_policy为multistep就可以了。
base_lr: 0.001
momentum: 0.9
weight_decay: 0.004
lr_policy: multistep
gamma: 0.1
stepvalue: 4000
stepvalue: 5000运行例子
sh ./examples/cifar10/train_quick.sh #测试用例测试结果如下 ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ 因版本问题需要卸载CUDA7.0安装CUDA6.5
一卸载CUDA 7.0
在目录 /usr/local/cuda-7.0/bin有CUDA自带的卸载工具uninstall_cuda_toolkit_7.0.pl使用命令 sudo ./uninstall_cuda_toolkit_7.0.pl以上卸载命令是针对于.run方式安装CUDA的
若是其他的安装方式比如.deb 可执行以下命令来卸载
sudo apt-get --purge remove nvidia*这样就会删除已经配置好的驱动和。
二安装NVIDIA驱动
我本机上的NVIDIA驱动是安装CUDA 7.0的时候安装包自带的版本是346CUDA 6.5.14目前最高仅支持340版驱动 343 346版驱动暂不支持所以在安装CUDA之前需要先把原来的驱动卸载。
1卸载原来的NVIDIA驱动
在安装新的NVIDIA驱动之前必须首先把原来的驱动卸载干净否则在运行samples下的deviceQuery程序的时候会报如下错误
cudaGetDeviceCount returned 38
- no CUDA-capable device is detected这个错误说明系统中有多个显卡驱动CUDA程序不知道如何选择——当然也有可能是你的电脑上没有NVIDIA显卡。
这里多说一句上述命令如果返回的错误代码是30说明你权限不够试试加上sudo吧。
2.安装前需要注意的问题
a. 检查自己的GPU是否支持CUDAlinux可用以下命令来查看GPU型号
lspci | grep –i nvidia只要GPU型号可以在https://developer.nvidia.com/cuda-gpus找到就是支持CUDA的
b. 检查自己的操作系统是不是CUDA支持的可以输入以下命令
uname -m cat /etc/*releaseCUDA支持的操作系统在以下网址可以找到http://docs.nvidia.com/cuda/cuda-toolkit-release-notes/#overview
c. 检查操作系统是否安装了gcc可用以下命令
gcc --version很多操作系统都预装有gcc如果你的没有就先安装一下。 或者可以执行下面命令来查询系统的信息。
cat /proc/versiond. 去https://developer.nvidia.com/cuda-downloads下载最新版的CUDA目前是7.5的。这里注意选择与自己机器和操作系统相匹配的比如我的是64位的Ubuntu15.04。友情提醒文件有点大大概1G网速不好的同学请耐心等待。
e. 验证下载的CUDA是否有效
md5sum 安装包名字例如
md5sum cuda-repo-ubuntu1504-7-5-local_7.5-18_amd64.deb执行完上述命令后会出现一串md5值例如我的是: 0a02f6efe0ba2b8dea3e7654ee0951d7看看https://developer.nvidia.com/cuda-downloads/checksums列表中是否能找到你的md5值如果不能找到那就说明之前下的安装包有问题要重新下载。
f. 处理版本冲突问题第一次安装可以跳过这点。如果之前有装过NVIDIA驱动和CUDA的话要卸载干净具体卸载方法参见
sudo apt-get --purge remove nvidia*关闭图形环境 卸载NVIDIA驱动的步骤如下按 ctrlaltF1 进入tty 登录tty后输入如下命令 sudo service lightdm stop该命令会关闭lightdm。如果你使用 gdm或者其他的desktop manager, 请在安装NVIDIA驱动前关闭他。
sudo /etc/init.d/kdm stop #适用于Kubuntu
sudo /etc/init.d/gdm stop #适用于Ubuntu使用如下命令卸载NVIDIA驱动
sudo apt-get remove nvidia*这条命令会卸载与NVIDIA相关的一切注意如果此时重新启动电脑可能会导致无法进入系统。 也有另一种卸载方式
sudo apt-get --purge remove nvidia-*
sudo apt-get install ubuntu-desktop
sudo rm /etc/X11/xorg.conf
echo nouveau | sudo tee -a /etc/modules效果差不多。卸载完后可以安装新的驱动
3安装新的NVIDIA驱动(仅仅供参考不需要执行本部分)
**单独安装NVIDIA驱动的方式是十分愚蠢的因为CUDA安装包会自带NVIDIA驱动而且不会产生版本不兼容的问题——这是肯定的。所以这一步可以跳过直接去安装CUDA程序就行了。**这里还是写下安装方法以备参考。以下步骤都是在tty界面下进行的
安装build-essentials 安装开发所需要的一些基本包
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev#寻找合适的驱动版本
ubuntu-drivers devices安装NVIDIA驱动 (3.4.0) 输入下列命令添加驱动源Graphic Drivers PPA sudo add-apt-repository ppa:xorg-edgers/ppa sudo apt-get update
安装340版驱动 (CUDA 6.5.14目前最高仅支持340版驱动 343 346版驱动暂不支持)
sudo apt-get install nvidia-340根据网速的不同时间可能需要很久真的很久有可能会从晚上下载到天亮所以说这种方法太蠢当然网速快例外
安装完NVIDIA驱动后, 继续安装下列包 (否则在运行sample时会报错)
sudo apt-get install nvidia-340-uvm这个也可能需要很久很久·····
接下来把NVIDIA模块加到Linux内核里面
sudo modprobe nvidia-uvm启动图形环境
sudo /etc/init.d/kdm restart #适用于Kubuntu
sudo /etc/init.d/gdm restart #适用于Ubuntu
sudo start lightdm #适用于Ubuntu安装完成后 reboot. 禁用nouveau驱动
因为系统中不光有NVIDIA显卡还有一块集成显卡能正常驱动所以经过禁用nouveau驱动后再次重启已经系统可以正常登录进入桌面了。
按CtrlAltF1进入命令提示符,新建一个黑名单文件
sudo gedit /etc/modprobe.d/blacklist-nouveau.conf输入
blacklist nouveau
options nouveau modset0执行
sudo update-initramfs -u执行 lspci | grep nouveau查看是否有内容
lspci | grep nouveau如果没有内容 说明禁用成功如果有内容就重启一下再查看。
禁用nouveau驱动作用就是禁止使用ubuntu自带的显卡驱动而改用nivida驱动即安装gpu驱动。在安装cuda的过程中会自动安装nvidia显卡驱动。终端执行了sudo service lightdm stop后就弹出一个黑屏这是正常现象因为停止了lightdm。 三. 安装CUDA 6.5
1,首先安装CUDA
下载CUDA 6.5. 地址https://developer.nvidia.com/cuda-toolkit-65 注意选择对应的操作系统然后安装包有DEB/RUN两种格式的本文采用的安装方法使用RUN格式单击既可以直接下载我使用的的是Ubuntu14.04版本、格式是RUN
下载后先提高权限到可执行方便后面的安装
sudo chmod x cuda_6.5.14_linux_64.run接下来可以直接使用下面的命令直接安装
sudo ./cuda_6.5.14_linux_64.run会将NVIDIA驱动、CUDA 6.5软件、CUDA samples全部安装安装过程中提示安装路径什么的直接默认就好默认路径才是王道啊
加环境变量
安装完成后需要在/etc/profile中添加环境变量, 在文件最后添加:
PATH/usr/local/cuda-6.5/bin:$PATH
export PATH保存后, 执行下列命令, 使环境变量立即生效
source /etc/profile添加lib库路径
在 /etc/ld.so.conf.d/加入文件 cuda.conf, 内容如下
/usr/local/cuda-6.5/lib64执行下列命令使之立刻生效
sudo ldconfig编辑文件 /etc/profile,添加下面这行
export LD_LIBRARY_PATH/usr/local/cuda-6.5/lib64:$LD_LIBRARY_PATH下面验证安装结果
a. 验证驱动的版本和上述gcc类似就是验证驱动和有没有问题
cat /proc/driver/nvidia/versionb. 编译例子
先看一下编译器版本执行
nvcc –V不出意外这里会提示nvcc没有安装其实就是之前装的NVIDIA-CUDA-Toolkit的编译器没有安装完整根据提示安装就好
sudo apt-get install nvidia-cuda-toolkit这个安装也需要很长时间请耐心等待。安装完后就可以编译例子了例子默认安装在/home/username/NVIDIA_CUDA-6.5_Samples进入这个目录执行 make该过程也比较漫长请耐心等待。
c. Running the binaries.
全部编译玩后进入/home/username/NVIDIA_CUDA-6.5_Samples/bin/x86_64/linux/release执行
sudo ./deviceQuery好了至此就完成了CUDA 7.0的卸载与CUDA 6.0的安装 #参考文献 Ubuntu16.04 1080Ti深度学习环境配置教程
caffe Ubuntu15.04 CUDA7.5 第一次安装可直接参考如下网页 http://ouxinyu.github.io/Blogs/20151108001.html
caffe Ubuntu15.04 CUDA7.0 http://blog.csdn.net/helei001/article/details/46950853 http://ouxinyu.github.io/Blogs/20140723001.html
值得仔细阅读的安装流程可参考 http://blog.csdn.net/u012208159/article/details/47018095
Caffe Theano安装教程——ubuntu16.04系统
caffe配置Ubuntu 15.04CUDA 7.5MKLOpencv3.0CUDNN
Caffe安装手记【Ubuntu15.04、CUDA7、OpenBlas、OpenCV、cuDNN】
caffe 上OpenBLAS的安装使用
卸载旧版本安装新版本可参考如下网页 http://blog.csdn.net/FIELDOFFIER/article/details/50354607 http://wiki.ubuntu.org.cn/NVIDIA
Ubuntu 14.04 CUDA6.5 http://www.datakit.cn/blog/2015/01/05/Ubuntu14.04_cuda6.5_caffe.html http://www.th7.cn/system/lin/201601/149175.shtml http://blog.sciencenet.cn/blog-1583812-841855.html http://www.cnblogs.com/shouhuxianjian/articles/4565503.html http://blog.cvmarcher.com/posts/2015/05/14/ubuntu-14-04-problem/ http://blog.sina.com.cn/s/blog_9db078090102vdvx.html http://blog.csdn.net/wangchuansnnu/article/details/44180979 http://www.jianshu.com/p/b88bbfa0f435