ubuntu16.04+cuda8.0+cudnn8.0+caffe
具体的版本由自己电脑决定
Ubuntu-16.04.1-desktop-amd64 (64位ubuntu)
cuda-repo-ubuntu1604-8-0-local_8.0.44-1_amd64.deb
cudnn-8.0-linux-x64-v5.1.tgz
caffe-master

直接GPU版本的配置
首先是安装caffe依赖包
sudo apt-get install build-essential   
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler  
sudo apt-get install --no-install-recommends libboost-all-dev
sudo apt-get install libatlas-base-dev
sudo apt-get install python-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev

1)更新显卡的驱动
具体请参考网上教程,更新完注意重启电脑


2)安装cuda8.0
我采用的是离线.deb安装方法,按自己的电脑和软件的情况,去官网下载dbe包,大概1.8G。然后在它存放的目录打开终端,执行下面的命令安装:
sudo dpkg -i cuda-repo-<distro>_<version>_<architecture>.deb   # 自己的.deb包名 
sudo apt-get update    
sudo apt-get install cuda 
安装完成之后切记要重启电脑:sudo reboot,让显卡配置生效


3)安装cudnn8.0
将上面提到的cudnn安装包下载好解压,进入解压后的文件,在终端执行下面的指令安装:
cd cuda    
sudo cp lib64/lib* /usr/local/cuda/lib64/    
sudo cp include/cudnn.h /usr/local/cuda/include/  
然后更新网络连接:
cd /usr/local/cuda/lib64/  
sudo chmod +r libcudnn.so.5.1.3  # 自己查看.so的版本 
sudo ln -sf libcudnn.so.5.1.3 libcudnn.so.5  
sudo ln -sf libcudnn.so.5 libcudnn.so  
sudo ldconfig  


4)添加环境变量
编辑计算机文件夹下的/etc/profile,加入CUDA环境变量(下面的23句),保存
sudo gedit /etc/profile  
PATH=/usr/local/cuda/bin:$PATH    
export PATH 
保存后执行下面的命令,使其生效:
souce /etc/profile
同时,进入/etc/ld.so.conf.d/文件夹,执行下面的命令,新建一个名为cuda.conf的文件
sudo gedit cuda.conf  
然后在文件中写入如下内容:
/usr/local/cuda/lib64 
保存后执行下面的命令,使其生效
sudo ldconfig
测试cuda安装有没有成功
进入usr/local/cuda/samples,然后build samples,命令如下:
sudo make all -j8  
在执行完之后,进入samples/bin/x86_64/linux/release目录下,在终端执行查询命令:
./deviceQuery  
如果返回了你电脑显卡的信息,且结尾有Result=PASS,则表示安装成功,否则,建议重启电脑之后再次尝试查询命令


6)修改配置文件
下载caffe-master包,下载之后,解压,打开Makefile文件,修改下面的两个地方:
(1)
INCLUDE_Dirs += $(BUILD_INCLUDE_DIR) ./src ./include  
改成:
INCLUDE_Dirs += $(BUILD_INCLUDE_DIR) ./src ./include /usr/include/hdf5/serial  
(2)
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5 
改成:
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial  

修改Makefile.config文件
将USE_CUDNN := 1取消注释
INCLUDE_Dirs := $(PYTHON_INCLUDE) /usr/local/include 后面打上一个空格,然后添加/usr/include/hdf5/serial如果没有这一句可能会报一个找不到hdf5.h的错误


7)正式编译
终端输入
make all -j8 or-j4
make test -j8 or-j4
make runtest -j8 or -j4
make pycaffe -j4
make distribute 生成发布安装包

make过程中又出现找不到lhdf5_hl和lhdf5的错误, 
解决方案: 
在计算机中搜索libhdf5_serial.so.10.1.0,找到后右键点击打开项目位置 
该目录下空白处右键点击在终端打开,打开新终端输入 
sudo ln libhdf5_serial.so.10.1.0 libhdf5.so 
sudo ln libhdf5_serial_hl.so.10.0.2 libhdf5_hl.so 
最后在终端输入sudo ldconfig使链接生效

注意每次编译不成功的话注意终端输入
make clean
清除之前编译没通过的release文件夹


8)测试python,终端输入
cd caffe/python
>>> python
>>> import caffe

如果不报错就说明编译成功了;如果报错,可能是你某些依赖python包未装,通过pip或者apt装上。
如果ok了,请把这句话添加到~/.bashrc
`export PYTHONPATH=<YourHome>/caffe/python:$PYTHONPATH`


9)可以进行mnist测试
下载mnist数据集,终端输入 
`cd /home/pawn/caffe/data/mnist/ `
`./get_mnist.sh` 获取mnist数据集 
在/home/pawn/caffe/data/mnist/目录下会多出训练集图片、训练集标签、测试集图片和测试集标签等4个文件
mnist数据格式转换,终端输入 
cd /home/pawn/caffe/ 
./examples/mnist/create_mnist.sh 
必须要在第一行之后运行第二行,即必须要在caffe根目录下运行create_mnist.sh 
此时在/caffe/examples/mnist/目录下生成mnist_test_lmdb和mnist_train_lmdb两个LMDB格式的训练集和测试集
LeNet-5模型描述在/caffe/examples/mnist/lenet_train_test.prototxt
Solver配置文件在/caffe/examples/mnist/lenet_solver.prototxt
训练mnist,执行文件在/caffe/examples/mnist/train_lenet.sh 
终端输入 
cd /home/pawn/caffe/ 
./examples/mnist/train_lenet.sh 
测试结果如下 出现概率就对了    cafffe之旅就可以了。

Caffe在Ubuntu下配置的更多相关文章

  1. css绝对定位如何在不同分辨率下的电脑正常显示定位位置?(一定要看!)

    这篇文章主要介绍了css绝对定位如何在不同分辨率下的电脑正常显示定位位置,本文首先解释了常见的电脑分辨率,为了页面在不同的分辨率下正常显示,要给页面一个安全宽度,再去使用绝对定位,具体操作步骤大家可查看下文的详细讲解,感兴趣的小伙伴们可以参考一下。

  2. ios – Xcode项目在文档大纲中显示为灰色

    我一直在使用iCloud来“同步”我正在从我的笔记本电脑到桌面的Xcode项目.不幸的是,它似乎没有那么好用.我今天在台式机上打开了一个项目,我昨天在笔记本电脑上工作.如果我在桌面上打开文件,则会丢失故事板中的某些按钮和标签.看看文档,我可以看到这些,但它们是灰色的(见图).但是,当我构建文件时,它们在模拟器中显示为正常.知道为什么或如何让它们正常出现?

  3. ios – Xcode 9.2模拟器调试中断;无法附加到进程ID

    iOS模拟器上的Xcode9.2调试对我来说已经彻底破坏了.我花了几个小时研究这个问题并尝试了大量的建议,但没有完全擦除我的硬盘并开始安装新的操作系统.我最终向Apple提交了一个错误.如果有人遇到此问题并有任何建议,请在此处发布.摘要:尝试使用调试可执行文件在调试模式下构建和运行时.模拟器只将应用程序打开到白色屏幕,然后Xcode弹出错误:重现步骤:制作任何项目并尝试在任何模拟器上运行.预期成绩

  4. 在Xcode服务器中找不到代码签名标识

    使用Xcode7B4和Server5B4与Carthage项目.要构建项目,我需要首先构建它的依赖项.所以我使用以下代码向bot添加了BeforeIntegration步骤:自己运行一切都有效.但是当机器人运行时,我得到了这个:CodeSignerror:Nocodesigningidentitiesfound:Novalidsigningidentities(i.e.certificateand

  5. ios8 – iOS 8上的ptrace

    我试图在ptrace上调用一个像thisptrace一样的函数;但是当我尝试使用#include导入它时,Xcode会给我一个错误’sys/ptrace.h’文件找不到.我错过了什么,我是否需要导入一个库,或者这在iOS上根本不可用?

  6. 可可 – NSTimer中的代码可防止自动睡眠

    我在我的应用程序中运行了一个NSTimer,它收集一些数据并定期发送到服务器.在生产中,计时器将每隔几个小时发射一次.我担心干扰自动睡眠.在测试中,计时器和睡眠时间的某些组合完全阻止自动睡眠–显示器休眠,系统保持运行.将我的NSTimer设置为一分钟始终会停止它.一些Mac应用程序因运行时干扰自动睡眠而臭名昭着.什么操作会阻止系统进入睡眠状态?

  7. xcode – 今天OS X上的Widget无法正常工作

    解决方法好的终于找到了问题.我手工编写了我的应用程序,因为我有一个应用程序依赖的复杂框架,需要使用copy/Runscript后构建脚本手工复制它们.无论如何,它似乎至少从Xcode7开始,这不再像预期的那样工作.应用程序的工作原理和协同设计说应用程序已经正确签名,但很明显,幕后发生的事情正在打破代码签名.我最终删除了所有手动代码签名的东西,只需使用Xcode的“复制框架”构建后步骤并选中“登录复制”.它现在终于按预期工作了.

  8. 反应原生 – 如何通过Xcode构建React Native iOS应用程序到设备?

    我试图将AwesomeProject应用程序构建到设备上.构建成功并启动屏幕显示,但后来我看到一个红色的“无法连接到开发服务器”屏幕.它表示“确保节点服务器正在运行–从Reactroot运行”npmstart“.看起来节点服务器已经运行,因为当我做npm启动时,我收到一个EADDRINUSE消息,表示该端口已经在使用.解决方法从设备访问开发服务器您可以使用开发服务器快速迭代设备.要做到这一点,你的

  9. xcode – Mac OSX Lion / X11 / CImg库

    所以我试图将CImg图像编写库并入到我的XCodeproject中但是,库的头文件包含以下包含,XCode给出了此错误警告:我的笔记本电脑正在运行OSXLion10.8.2,显然,苹果拿走了X11的Lion,所以我去了thissite,下载了XQuartz,因为这是AppleSupportpage所说的.所以在安装之后,我重新启动了我的电脑,并尝试运行我的XCode项目,但我仍然得到相同的确切的错

  10. 调试 – iOS设备上的remote console.log()

    我正在开发涉及touchEvent的网络应用程序.如果我可以在我的Mac上远程查看控制台,那么调试它会更容易一些.我可以在iOS设备上使我的MobileSafari将控制台日志存储在系统中的某个位置.我已经越狱了我的iPad.谢谢!

随机推荐

  1. crontab发送一个月份的电子邮件

    ubuntu14.04邮件服务器:Postfixroot收到来自crontab的十几封电子邮件.这些邮件包含PHP警告.>我已经解决了这些警告的原因.>我已修复每个cronjobs不发送电子邮件(输出发送到>/dev/null2>&1)>我删除了之前的所有电子邮件/var/mail/root/var/spool/mail/root但我仍然每小时收到十几封电子邮件.这些电子邮件来自cronjobs,

  2. 模拟两个ubuntu服务器计算机之间的慢速连接

    我想模拟以下场景:假设我有4台ubuntu服务器机器A,B,C和D.我想在机器A和机器C之间减少20%的网络带宽,在A和B之间减少10%.使用网络模拟/限制工具来做到这一点?

  3. ubuntu-12.04 – 如何在ubuntu 12.04中卸载从源安装的redis?

    我从源代码在Ubuntu12.04上安装了redis-server.但在某些时候它无法完全安装,最后一次makeinstallcmd失败.然后我刚刚通过apt包安装.现在我很困惑哪个安装正在运行哪个conf文件?实际上我想卸载/删除通过源安装的所有内容,只是想安装一个包.转到源代码树并尝试以下命令:如果这不起作用,您可以列出软件自行安装所需的步骤:

  4. ubuntu – “apt-get source”无法找到包但“apt-get install”和“apt-get cache”可以找到它

    我正在尝试下载软件包的源代码,但是当我运行时它无法找到.但是当我运行apt-cache搜索squid3时,它会找到它.它也适用于apt-getinstallsquid3.我使用的是Ubuntu11.04服务器,这是我的/etc/apt/sources.list我已经多次更新了.我尝试了很多不同的debs,并没有发现任何其他地方的错误.这里的问题是你的二进制包(deb)与你的源包(deb-src)不

  5. ubuntu – 有没有办法检测nginx何时完成正常关闭?

    &&touchrestarted),因为即使Nginx没有完成其关闭,touch命令也会立即执行.有没有好办法呢?这样的事情怎么样?因此,pgrep将查找任何Nginx进程,而while循环将让它坐在那里直到它们全部消失.你可以改变一些有用的东西,比如睡1;/etc/init.d/Nginx停止,以便它会休眠一秒钟,然后尝试使用init.d脚本停止Nginx.你也可以在某处放置一个计数器,这样你就可以在需要太长时间时发出轰击信号.

  6. ubuntu – 如何将所有外发电子邮件从postfix重定向到单个地址进行测试

    我正在为基于Web的应用程序设置测试服务器,该应用程序发送一些电子邮件通知.有时候测试是使用真实的客户数据进行的,因此我需要保证服务器在我们测试时无法向真实客户发送电子邮件.我想要的是配置postfix,以便它接收任何外发电子邮件并将其重定向到一个电子邮件地址,而不是传递到真正的目的地.我正在运行ubuntu服务器9.10.先感谢您设置本地用户以接收所有被困邮件:你需要在main.cf中添加:然后

  7. ubuntu – vagrant无法连接到虚拟框

    当我使用基本的Vagrantfile,只配置了两条线:我看到我的虚拟框打开,但是我的流氓日志多次显示此行直到超时:然后,超时后的一段时间,虚拟框框终于要求我登录,但是太久了!所以我用流氓/流氓记录.然后在我的物理机器上,如果我“流氓ssh”.没有事情发生,直到:怎么了?

  8. ubuntu – Nginx – 转发HTTP AUTH – 用户?

    我和Nginx和Jenkins有些麻烦.我尝试使用Nginx作为Jenkins实例的反向代理,使用HTTP基本身份验证.它到目前为止工作,但我不知道如何传递带有AUTH用户名的标头?}尝试将此指令添加到您的位置块

  9. Debian / Ubuntu – 删除后如何恢复/ var / cache / apt结构?

    我在ubuntu服务器上的空间不足,所以我做了这个命令以节省空间但是现在在尝试使用apt时,我会收到以下错误:等等显然我删除了一些目录结构.有没有办法做apt-getrebuild-var-tree或类似的?

  10. 检查ubuntu上安装的rubygems版本?

    如何查看我的ubuntu盒子上安装的rubygems版本?只是一个想法,列出已安装的软件包和grep为ruby或宝石或其他:)dpkg–get-selections

返回
顶部