Caffe是一种深度学习框架...blablabla......

Caffe要在ubuntu下安装

1. 安装依赖

sudo apt-get install libatlas-base-dev
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler

2. 下载Caffe

# 从自己的git仓库下更快,我的仓库地址 https://git.oschina.net/rongfangliu/caffe.git
git clone https://github.com/BVLC/caffe.git
cd caffe
cp Makefile.config.example Makefile.config

3. 修改生成时配置文件

修改Makefile.config文件的第8行,将CPU_ONLY的注释打开,只使用CPU(当然是因为穷diao如我没有N卡)

# Adjust Makefile.config (for example, if using Anaconda Python)
CPU_ONLY := 1 #这里原来是# CPU_ONLY := 1,去掉注释,只使用CPU

Makefile.config文件的第85行,添加/usr/include/hdf5/serial/INCLUDE_DIRS,也就是把下面第一行代码改为第二行代码。

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/

Makefile文件的第181行,把 hdf5_hl 和hdf5修改为hdf5_serial_hlhdf5_serial,也就是把下面第一行代码改为第二行代码。

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

4. 编译

make all    # 编译
make pycaffe # 编译python接口

5. 跑下基本测试

make test
make runtest

运行时会出现一堆run OK,至此Caffe已经装好了。

============================================= 我是分割线 ===============================================

下面的是在Caffe上跑经典的手写字符识别网络Minst

cd caffe
sh data/mnist/get_mnist.sh       # 从lecun网站上下载minst数据包
sh examples/mnist/create_mnist.sh   # 创建minst网络

接着打开examples/mnist/lenet_solver.prototxt

# 修改 solver_mode 为 CPU

然后训练网络

sh examples/mnist/train_lenet.sh   # 运行网络训练

最后得到一个lenet_iter_5000.caffemodellenet_iter_10000.caffemodel,里面包含了这次训练的特征数据,可以用到以后的识别中。

============================================= 我是分割线 ===============================================

1、caffe编译出现问题

finenet.bin一堆_D.place()xx函数未定义,在网上搜索没找到重点,尝试使用cmake,然后再make all就好了

2、尝试导入caffe

出现no module caffe

sudo gedit /etc/profile

export PYTHONPATH=/home/liurf/program_files/caffe/python:$PYTHONPATH

3、再尝试导入

出现ImportError: /home/liurf/anaconda2/lib/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /home/liurf/program_files/caffe/python

错误,输入命令

export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH

4、再尝试导入,出现

ImportError: No module named google.protobuf.internal

搜索了下发现是protobuf没有安装,于是下载,安装,好了

5、opencv

万一自己安装的出现各种so报错,可以使用pip install opencv-python安装

来杯Caffe——在ubuntu下安装Caffe框架并测试的更多相关文章

  1. [caffe]linux下安装caffe(无cuda)以及python接口

    昨天在mac上折腾了一天都没有安装成功,晚上在mac上装了一个ParallelDesktop虚拟机,然后装了linux,十分钟就安装好了,我也是醉了=.= 主要过程稍微记录一下: 1.安装BLAS s ...

  2. ubuntu下安装vue-cli框架

    首先安装好node.js,安装方式见 http://www.cnblogs.com/teersky/p/7255334.html 之后正式开始vue-cli之旅吧,输入以下代码安装vue-cli模块 ...

  3. CAFFE(一):Ubuntu 下安装CUDA(安装:NVIDIA-384+CUDA9.0+cuDNN7.1)

    (安装:NVIDIA-384+CUDA9.0+cuDNN7.1) 显卡(GPU)驱动:NVIDIA-384 CUDA:CUDA9.0 cuDNN:cuDNN7.1 Ubuntu 下安装CUDA需要装N ...

  4. ubuntu下编译caffe

    Ubuntu下编译caffe 纯粹是个人编译的记录.不用CUDA(笔记本是amd卡,万恶的nvidia):不手动编译依赖包(apt-get是用来干啥的?用来直接装二进制包,以及自动解决依赖项的) ca ...

  5. 在Ubuntu下安装ovs-dpdk

    在Ubuntu下安装ovs-dpdk 参考资料:https://software.intel.com/zh-cn/articles/using-open-vswitch-with-dpdk-on-ub ...

  6. Ubuntu 下安装QT

    Ubuntu 下安装QT 本文使用的环境 QT Library: qt-everywhere-opensource-src-4.7.4.tar.gz QT Creator: qt-creator-li ...

  7. Ubuntu下安装JDK以及相关配置

    1.查看系统位数,输入以下命令即可 getconf LONG_BIT 2.下载对应的JDK文件,我这里下载的是jdk-8u60-linux-64.tar.gz 3.创建目录作为JDK的安装目录,这里选 ...

  8. Ubuntu下安装mod_python报错(GIT错误)

    Ubuntu下安装mod_python3.4.1版本报出如下错误: writing byte-compilation script '/tmp/tmpE91VXZ.py' /usr/bin/pytho ...

  9. TODO:Ubuntu下安装Node

    TODO:Ubuntu下安装Node Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高 ...

随机推荐

  1. sqlserver 分离和附加

    1.何为数据库分离和附加 数据库分离: 分离数据库就是将某个数据库(如student_Mis)从SQL Server数据库列表中删除,使其不再被SQL Server管理和使用,但该数据库的文件(.MD ...

  2. [BI项目记]-搭建代码管理环境之服务端

    上一篇介绍如何搭建环境进行文档版本的管理,这篇主要介绍搭建环境进行代码版本的管理. 即使是BI项目也要进行代码版本管理.代码版本管理的工具有很多,VSS, SVN等都是当下大家经常提起的,这里主要介绍 ...

  3. Jetty使用教程(四:28-30)—Jetty开发指南

    二十八.延续机制支持 28.1 延续简介 延续是一种机制用来实现类似于Servlet 3.0异步功能的异步Servlet,但提供了一个简单易操作的接口. 28.1.1 为什么使用异步Servlets ...

  4. 注解:【无连接表的】Hibernate双向1->N关联

    Person与Address关联:双向1->N,[无连接表的],推荐使用 #由N端控制关联关系 #对于指定了mappedBy属性的@OneToMany,@ManyToMany,@OneToOne ...

  5. 水晶报表初体验(Visual Studio 2010)

    安装水晶报表后如下使用: 配置rpt文件,如图 前台(Asp.net页面): <%@ Register Assembly="CrystalDecisions.Web, Version= ...

  6. Asp.net导出Excel(HTML输出方法)

    主要思路: 实例化Gridview,将值绑定后输出...(用烂了的方法) 贴上核心代码: public static void ExportToExcel(DataTable dataList, st ...

  7. 将android模拟器上的db文件拷贝到电脑上

    1. db文件在android手机中的存储地址一般都是/data/data/packname/databases/db_file. 2.打开cmd,运行 adb shell ,使用root权限 3.通 ...

  8. 基于socket的客户端和服务端聊天简单使用 附Demo

    功能使用 服务端 分离一个不停接受客户端请求的线程 接受不客户端请求的线程中,再分离就收消息的线程 几大对象分别是 IPEndPoint IP终结点 服务端Socket,绑定终结点Bind,启动监听L ...

  9. Linux琐碎

    本周接触Linux的内容: 1.netstat -tanlp 显示监听的所有端口并且不解析端口为属于哪个进程 history | grep cmd 从命令历史中找到需要的命令 2. scp命令的使用: ...

  10. caffe中权值初始化方法

    首先说明:在caffe/include/caffe中的 filer.hpp文件中有它的源文件,如果想看,可以看看哦,反正我是不想看,代码细节吧,现在不想知道太多,有个宏观的idea就可以啦,如果想看代 ...