来杯Caffe——在ubuntu下安装Caffe框架并测试
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_hl 和 hdf5_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.caffemodel和lenet_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框架并测试的更多相关文章
- [caffe]linux下安装caffe(无cuda)以及python接口
昨天在mac上折腾了一天都没有安装成功,晚上在mac上装了一个ParallelDesktop虚拟机,然后装了linux,十分钟就安装好了,我也是醉了=.= 主要过程稍微记录一下: 1.安装BLAS s ...
- ubuntu下安装vue-cli框架
首先安装好node.js,安装方式见 http://www.cnblogs.com/teersky/p/7255334.html 之后正式开始vue-cli之旅吧,输入以下代码安装vue-cli模块 ...
- 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 ...
- ubuntu下编译caffe
Ubuntu下编译caffe 纯粹是个人编译的记录.不用CUDA(笔记本是amd卡,万恶的nvidia):不手动编译依赖包(apt-get是用来干啥的?用来直接装二进制包,以及自动解决依赖项的) ca ...
- 在Ubuntu下安装ovs-dpdk
在Ubuntu下安装ovs-dpdk 参考资料:https://software.intel.com/zh-cn/articles/using-open-vswitch-with-dpdk-on-ub ...
- Ubuntu 下安装QT
Ubuntu 下安装QT 本文使用的环境 QT Library: qt-everywhere-opensource-src-4.7.4.tar.gz QT Creator: qt-creator-li ...
- Ubuntu下安装JDK以及相关配置
1.查看系统位数,输入以下命令即可 getconf LONG_BIT 2.下载对应的JDK文件,我这里下载的是jdk-8u60-linux-64.tar.gz 3.创建目录作为JDK的安装目录,这里选 ...
- Ubuntu下安装mod_python报错(GIT错误)
Ubuntu下安装mod_python3.4.1版本报出如下错误: writing byte-compilation script '/tmp/tmpE91VXZ.py' /usr/bin/pytho ...
- TODO:Ubuntu下安装Node
TODO:Ubuntu下安装Node Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高 ...
随机推荐
- Note3 :《集体智慧编程》用户相似度计算
欧几里德距离评价: 以经过人们一致评价的物品为坐标轴,然后将参与评价的人绘制到图上,并考察他们彼此之间的距离远近.计算出每一轴向上的差值,求平方之后再相加,最后对总和取平方根. # -*- codin ...
- Android 应用程序升级到 5.0 需要注意的问题
Android 5.0,代号 Lollipop,源码终于在2014年12月3日放出,国内一大批厂商跟进.最大的改变是默认使用 ART(Android Runtime) ,替换了之前的 Dalvik 虚 ...
- SpringMVC学习(二)
SpringMVC入门(注解方式) 需求 实现商品查询列表功能. 第一步:创建Web项目 springmvc02 第二步:导入jar包 第三步:配置前端控制器 在WEB-INF\web.xml中配置前 ...
- myeclipse eclipse 使用git插件访问github 的解决方案
具体的步骤很多帖子都有写,这里不再赘述,需要说明的一点,git插件的版本很重要,在官网上下载的最新版本在MyEclipse8.5,MyEclipse9.1,MyEclipse10上面都没有成功. 这里 ...
- 2.Java异常学习
1.Java异常的概念 异常的例子 1.除法就是一个需要捕获异常的例子,除数又可能是0 异常处理的基本流程如下 一旦发生异常,就使得程序不按照原来的流程继续的运行下去 a.程序抛出异常 try{ th ...
- Ubuntu下使用vsftpd实现FTP
## 哈哈哈啊哈 被领导啪啪啪打脸,文件连在线打开都不行,你做事情的时候有没有考虑过别人使用时的感受!! 需求: 部门老大希望在内网搭建一个用于员工共享文件的系统. 很自然的就想到通过FTP去实现. ...
- HTML常用属性
blue:蓝色 red:红色 yellow:黄色 green:绿色 white:白色 gray:灰色 /*去掉下划线*/ text-decoration: none; /*添加下划线*/ te ...
- 使用JQuery UI selectmenu, onchange事件失效
今天, 在用jQuery UI的一套东西是发现<select class="dropmenu" onchange="do();"></sele ...
- java并发编程(十)使用wait/notify/notifyAll实现线程间通信
转载请注明出处:http://blog.csdn.net/ns_code/article/details/17225469 wait()方法:public final void wait() thr ...
- 随机数是骗人的,.Net、Java、C为我作证(转)
几乎所有编程语言中都提供了"生成一个随机数"的方法,也就是调用这个方法会生成一个数,我们事先也不知道它生成什么数.比如在.Net中编写下面的代码: Random rand = ne ...