caffe学习1-ubuntu下的caffe的搭建

LiemZuvon LiemZuvon     2022-12-05     317

关键词:

Ubuntu下的Caffe的搭建

参考来源:https://github.com/tiangolo/caffe/blob/ubuntu-tutorial-b/docs/install_apt2.md

本教程是在Ubuntu14.04下的(因为CUDA官方目前在Ubuntu64bit下支持的只有14.04和15.04两个版本,如果是15.04的按照这个教程应该也是可以的,主要是因为CUDA官方目前只支持这两个版本,小编曾经试过在16.x的版本安装,结果是惨烈的)

安装Git:

sudo apt-get install git

安装英伟达驱动

Caffe是建立在CUDA之上的,而只有英伟达才支持CUDA,所以,如果读者您的显卡不是英伟达的,可能就要三思咯…

就算是英伟达显卡,也有可能不支持CUDA的,如果您的显卡不在官方提供的列表里,那也只能说很遗憾了,下面是官方提供的列表:

  • 添加PPA源

    sudo add-apt-repository ppa:graphics-drivers/ppa
    sudo apt-get update

  • 安装英伟达显卡,小编推荐安装352的,是目前最稳定的版本

    sudo apt-get install nvidia-352

还有另外一种方法也可以安装驱动,但是这种方法比较麻烦,小编强烈不推荐用这种(小编曾在这种方法栽过跟头):
注意,如果上面的方法安装成功了,请无视此部分
首先,读者需要去英伟达官网下载符合您显卡的驱动程序:
http://www.geforce.com/drivers
接着,请把下载到的xx.run文件放到一个英文路径下。并运行下面命令
chmod +x xx.run
接着如果读者试着安装该文件的话,不出意味,一定会失败,错误提示应该如下:
ERROR: You appear to be running an X server; ......
所以要你退出X server...
好吧,退出就退出吧...
那么怎么退出X server?(此时建议用手机拍下,因为即将暂别)
首先,按住ctrl+alt+F1切换到tty1窗口,
然后输入
service lightdm stop
或者
service gdm stop
这样就退出了X server,然而这时候有中文路径的读者会发现,命令行里此时不能输中文,也看不到中文(知道为什么要把xx.run放到英文路径了吧)
然后找到xx.run的目录,输入下面命令
sudo ./xx.run
然后就开始安装了,如无意外,这时候应该会安装得很顺利。
  • 安装成功后重启

    sudo shutdown -r now

  • 检查是否安装成功

    cat /proc/driver/nvidia/version

安装CUDA

记得再记得,CUDA一定要有英伟达显卡!

  • 首先读者需要去英伟达开发者网站注册一个账号,因为后面下载软件需要用到账号(其中还要填调查问卷,读者看着填吧)

    注册 https://developer.nvidia.com/user

  • 然后是要下载CUDA的deb,这里推荐的是网络版的deb,本地版的下载有点龟速,不到万不得已都不要用.run的(否则你需要退出X server,并且运气不好的话还会有数不完的问题等着你)

  • 然后定位到下载的目录,安装CUDA,在update的时候,它可能会提示一些更新失败,小编忽略这些仍是能成功装cuda的

    sudo dpkg -i xx.deb
    sudo apt-get update
    sudo apt-get install cuda

  • 把CUDA加入到当前用户的环境变量里

    echo ‘export PATH=/usr/local/cuda/bin:$PATH’ >> ~/.bashrc
    echo ‘export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH’ >> ~/.bashrc

  • 关闭终端,重新打开然后检查CUDA是否安装成功。检查方式是通过安装示例。

    cuda-install-samples-7.0.sh ~/cuda-samples
    cd ~/cuda-samples/NVIDIA*Samples
    make -j $(($(nproc) + 1))

  • 重启计算机,之后运行下面指令来判断CUDA是否安装无误

    bin/x86_64/linux/release/deviceQuery
    bin/x86_64/linux/release/bandwidthTest

安装OpenBLAS

  • 接下来创建一个存放git代码的文件夹,这个文件夹之后都会用上,读者可知自行考虑

    mkdir ~/code

  • 克隆OpenBLAS

    git clone https://github.com/xianyi/OpenBLAS.git

  • 编译OpenBLAS

    cd OpenBLAS
    make -j $(($(nproc) + 1))

  • 安装OpenBLAS

    sudo make PREFIX=/usr/local install

安装Boost

sudo apt-get install libboost-all-dev

安装OpenCV

sudo apt-get install libopencv-dev

安装protobuf,glog,gflags

sudo apt-get install libprotobuf-dev libgoogle-glog-dev libgflags-dev protobuf-compiler

安装IO库:hdf5,leveldb,snappy,lmdb

sudo apt-get install libhdf5-serial-dev libleveldb-dev libsnappy-dev liblmdb-dev

安装Anaconda Python

Anaconda是个很好的工具,里面包含了大量依赖和软件(比如ipython),可以省下我们在安装python相关的极大多数时间。下载地址

http://continuum.io/downloads

  • 定位代Anaconda的下载目录,并安装,如果有问你是否添加到路径,选yes就对了

    bash Anaconda*.sh

  • 退出终端并重新打开

安装HDF5

conda install hdf5

配置并编译Caffe

  • 克隆Caffe

    cd ~/code
    git clone https://github.com/BVLC/caffe.git

  • 创建Makefile.config

    cd caffe
    cp Makefile.config.example Makefile.config

  • 使能Anaconda,这里注意,如果读者的Anaconda目录名是anaconda2,记得把下面的ANACONDA_HOME对应的anaconda改成anaconda2

    sed -i ‘s|# ANACONDA_HOME := $(HOME)/anaconda|ANACONDA_HOME := $(HOME)/anaconda|’ Makefile.config
    sed -i ‘s|# PYTHON_INCLUDE := $(ANACONDA_HOME)|PYTHON_INCLUDE := $(ANACONDA_HOME)|’ Makefile.config
    sed -i ‘s|# $(ANACONDA_HOME)|$(ANACONDA_HOME)|’ Makefile.config
    sed -i ‘s|# PYTHON_LIB := $(ANACONDA_HOME)|PYTHON_LIB := $(ANACONDA_HOME)|’ Makefile.config
    sed -i ‘s|# WITH_PYTHON_LAYER := 1|WITH_PYTHON_LAYER := 1|’ Makefile.config

  • 安装Python依赖

    pip install -r python/requirements.txt

  • 编译Caffe

    make all -j $(($(nproc) + 1))

如果读者在编译时遇到
pyconfig.h: No such file or directory
的问题时,那么如果您之前有按照小编的步骤安装了Anaconda,那么很有可能就是Anaconda的路径写错了,解决办法:先找到您Anaconda的安装目录和目录名(新版的Anaconda目录名变成了anaconda2,小编当时就是这里错了),然后在Caffe的Makefile.config里面找打ANACONDA_HOME并修改路径,就可以了~
如果遇到/cudnn.hpp:8:34: fatal error: caffe/proto/caffe.pb.h的问题时,打开caffe根目录,然后输入下面的指令
protoc src/caffe/proto/caffe.proto --cpp_out=.
mkdir include/caffe/proto
mv src/caffe/proto/caffe.pb.h include/caffe/proto


  • 编译Caffe测试文件并运行,不出意外的话,应该会报错,并提示libhdf5.so.x或libhdf5_hl.so.9找不到的错误
    make test -j $(( $(nproc) + 1))
    make runtest -j $(( $(nproc) + 1))
如果出现libhdf5.so.x找不到这样的错误,请记住提示的x,然后输入下面的指令,注意把x替换成提示的x。
cd /usr/lib/x86_64-linux-gnu
sudo ln -s libhdf5.so.7 libhdf5.so.x
sudo ln -s libhdf5_hl.so.7 libhdf5_hl.so.x
sudo ldconfig
如果遇到symbol lookup error,那可能是没有引用到库文件,如果是用anaconda的话可以在.bashrc中添加lib路径:
export LD_LIBRARY_PATH=/home/liemzuvon/anaconda2/lib:$LD_LIBRARY_PATH  
  • 编译PyCaffe

    make pycaffe -j $(($(nproc) + 1))

  • 更新路径

    echo “export CAFFE_ROOT=$(pwd)” >> ~/.bashrc
    echo ‘export PYTHONPATH=$CAFFE_ROOT/python:$PYTHONPATH’ >> ~/.bashrc

  • 退出终端并重新打开

  • 尝试import caffe

    ipython
    import caffe

  • 如果没有报错,那么恭喜读者,你可以开始您的第一个Caffe实例了!
    安装过程中遇到任何问题,欢迎留言一起讨论:)

后记

呼,这配环境的事真是不容易,不过当跑出了第一个示例程序之后,内心那是一个激动的。小编接下来还会继续跟进Caffe的学习,争取给读者们提供一个最白痴,最容易上手的学习心得!下一节会介绍Caffe以及Caffe一些核心的概念~敬请期待:)

caffe使用stepbystep:caffe框架下的基本操作和分析

  caffe虽然已经安装了快一个月了,但是caffe使用进展比较缓慢,果然如刘老师说的那样,搭建起来caffe框架环境比较简单,但是完整的从数据准备->模型训练->调参数->合理结果需要一个比较长的过程,这个过程中你需... 查看详情

win7配置微软的深度学习caffe

官方下载:https://github.com/Microsoft/caffe然后直接修改caffe目录下的windows目录下的项目的props文件配置支持哪些特性,然后直接打开vs的项目编译即可完成,怎一个爽字了得(nuget自动处理依赖问题)(1)注意修改python的绑定为true,(2)mat... 查看详情

虚拟机ubuntu16,caffe环境搭建

虚拟机下的Ubuntu16.04+caffe+onlycup 官网的step很重要,要跟着官网,的步骤来:http://caffe.berkeleyvision.org/installation.html然后对照:http://blog.csdn.net/firethelife/article/details/51926754 ======================【关于 查看详情

转载caffe学习:运行caffe自带的两个简单例子

原文:http://www.cnblogs.com/denny402/p/5075490.html为了程序的简洁,在caffe中是不带练习数据的,因此需要自己去下载。但在caffe根目录下的data文件夹里,作者已经为我们编写好了下载数据的脚本文件,我们只需要联网,运行这些脚本文... 查看详情

caffe学习笔记caffe_example之训练mnist

...caffe官网《TrainingLeNetonMNISTwithCaffe》;[2]薛开宇《读书笔记4学习搭建自己的网络MNIST在caffe上进行训练与学习》([1]的翻译版,同时还有作者的一些注解,很赞);1、*.sh文件如何执行?①方法一:有sh后缀名的... 查看详情

手把手教你搭建caffe及手写数字识别(全程命令提示纯小白教程)

...蔡、李伟、July时间:二零一六年十一月九日交流:深度学习实战交流Q群472899334,有问题可以加此群共同交流。另探究实验背后原理,请参看此课程:11月深度学习班。一、前言  在前面的教程中,我们搭建了tensorflow、torc... 查看详情

caffe学习:多平台下安装配置caffe

caffe学习(1):多平台下安装配置caffe提到deeplearning,caffe的大名自然是如雷贯耳,当然,除了caffe之外,还有很多其他的框架,如torch,mxnet...但是,就我自己这一个月的实验以及师兄的结论都是,caffe得出的实验performance要高于别的框... 查看详情

caffe安装

   Windows系统下安装深度学习Caffe软件的详细步骤_百度经验https://jingyan.baidu.com/article/8ebacdf00b251749f65cd539.htmlcaffe在windows下的配置及matlab接口编译(无GPU)-coollife-博客园https://www.cnblogs.com/njust-ycc/p/577 查看详情

caffe入门学习规划

第一步,学习吴恩达老师的慕课,注意做笔记,并将不会的问题记录下来第二步,学习周志华老师的《机器学习》,要求同上第三步,学习由CaffeCN提供的《Caffe官方教程中译本》第四步,全面浏览Caffe官方网站第六步,开始进行C... 查看详情

caffe深度学习框架介绍

...http://suanfazu.com/t/caffe/281 Caffe是一个清晰而高效的深度学习框架,其作者是博士毕业于UCBerkeley的贾扬清,目前在Google工作。Caffe是纯粹的C++/CUDA架构,支持命令行、Python和MATLAB接口;可以在CPU和GPU直接无缝切换: Caffe::set_mo... 查看详情

caffe深度学习计算框架

Caffe|DeepLearningFramework是一个清晰而高效的深度学习框架,其作者是博士毕业于UCBerkeley的 YangqingJia,目前在Google工作。Caffe是纯粹的C++/CUDA架构,支持命令行、Python和MATLAB接口;可以在CPU和GPU直接无缝切换:1Caffe::set_mode(Caffe::GP... 查看详情

caffe学习系列(14):caffe代码阅读

知乎上这位博主画的caffe的整体结构:https://zhuanlan.zhihu.com/p/21796890?refer=hsmyy  Caffe做train时的流程图,来自http://caffecn.cn/?/question/242  查看详情

caffe学习笔记

 Caffe学习系列(11):图像数据转换成db(leveldb/lmdb)文件caffe的python接口学习(4):mnist实例---手写数字识别 查看详情

caffe学习笔记目录

...ip;…一点点更新中...目录:安装、配置与测试buildtools学习Tutorial学习pyCaffe学习Caffe源码学习相关实例 安装、配置与测试在windows上安装caffe(GPU)使用caffe-windows生成数据文件运行caffe-windows的demo配置caffe+cuDNN 查看详情

caffe学习系列(16):caffe的整体流程

   在某社区看到的回答,觉得不错就转过来了:http://caffecn.cn/?/question/123Caffe从四个层次来理解:Blob,Layer,Net,Solver。1、Blob  Caffe的基本数据结构,用四维矩阵Batch*Channel*Height*Width表示,存储了包括神经元的激活... 查看详情

caffe学习

caffe学习官网notebookexample第一个样例:给一张图片,然后调用已经训练好的caffemodel(其实里边存的是网络的参数),通过深度学习的网络来给这张图片分类 查看详情

caffe学习记录(代码片段)

在深度学习零率,caffe是一个非常高效的的图像处理框架,结合了nvidia的cuda,cudnn加速技术,非常适合进行AICNN方向的图像分类,回归,分割等。但是由于caffe的教程较少,而且配置比较复杂,可能用的人没有tf那么广泛。昨天在U... 查看详情

caffe的学习和使用·一」--使用caffe训练自己的数据

学习知识的一种方式是先会用然后再问为什么。在安装完成caffe,根据caffe的提示下载完mnist训练测试数据,并且运行lenet训练模型之后,摆在眼前的问题就是我怎么用caffe训练自己的数据啊,mnist的数据通过脚本就可以下载创建成... 查看详情