深度学习之caffe1——软件配置与测试

caffe的配置真的是很让人头疼啊,不知道试过多少次了,最终确定以下步骤:



重装系统了七八次,搞得linux的一些常用命令到时很熟悉了~~~

我有洁癖~~~某一个点上出了错,我一定要把它搞好了,再重新来一次,我怕会因为某一点的小错误会影响到其它重要的地方。。。(有同感的默默在心里举个爪~~~^_^~~~)

开始:



caffe的配置安装:

(为确保过程不出错,请软件源和系统保持最新版本<Ubuntu16.04LTS+校园网清华大学软件源>)

sudo apt-get install git

sudo apt-get install libprotobuf-dev

sudo apt-get install protobuf-compiler

sudo apt-get install python-dev

此处需要安装python的相关库:

sudo apt-get install -y 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

sudo apt-get install libleveldb-dev

sudo apt-get install libsnappy-dev

sudo apt-get install libopencv-dev

sudo apt-get install --no-install-recommends libboost-all-dev

sudo apt-get install libhdf5-serial-dev

sudo apt-get install libatlas-base-dev

sudo apt-get install libgoogle-glog-dev

sudo apt-get install libgflags-dev

sudo apt-get install liblmdb-dev

sudo apt autoremove

以上安装确保无错误发生,则使用make all来进行测试,查看出现的错误:

hdf5配置出现问题。。。

所有依赖库安装都非常顺利,但是在hdf5这里会有个坑,

首先是找不到hdf5.h,src/caffe/layers/hdf5_data_layer.cpp:13:18: fatal error: hdf5.h: No such file or directory

或者会出现:

/usr/bin/ld: cannot find -lhdf5_hl

/usr/bin/ld: cannot find -lhdf5

 

需要在Makefile.config中INCLUDE_DIRS后添加/usr/include/hdf5/serial/,在LIBRARY_DIRS后添加/usr/lib/x86_64-linux-gnu/hdf5/serial/

最终Makefile.config文件对应部分修改如下,

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

LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial/

再次make all,

输出显示若干CXX,无错误提示即可。

再make test,输出显示若干CXX,LD等,无错误提示

再make runtest,输出的所有的RUN均为OK即可确认caffe安装成功。

[ PASSED ] 996 tests.


测试用例:

一般第一个测试都是对手写字体minist进行识别,主要有三个步骤:准备数据、修改配置、开始使用。

1、准备数据

一般是使用命令:

./data/mnist/get_mnist.sh

./examples/mnist/create_mnist.sh

来下载生成数据,但有时可能会网络不通畅。这里直接下载吧

解压得到两个文件夹(mnist-train-leveldb和mnist-test-leveldb),复制到 .\examples\mnist\  目录下即可

2、修改配置

修改该目录下的prototxt扩展名配置文件

修改./examples/mnist/lenet_solver.prototxt

定位到最后一行:solver_mode: GPU,将GPU改为CPU。 直接先使用CPU进行测试

3、运行

执行文件命令:

./examples/mnist/train_lenet.sh

时间: 2024-08-03 06:34:35

深度学习之caffe1——软件配置与测试的相关文章

基于C#的机器学习--c# .NET中直观的深度学习

在本章中,将会学到: l  如何使用Kelp.Net来执行自己的测试 l  如何编写测试 l  如何对函数进行基准测试 Kelp.Net是一个用c#编写的深度学习库.由于能够将函数链到函数堆栈中,它在一个非常灵活和直观的平台中提供了惊人的功能.它还充分利用OpenCL语言平台,在支持cpu和gpu的设备上实现无缝操作.深度学习是一个非常强大的工具,对Caffe和Chainer模型加载的本机支持使这个平台更加强大.您将看到,只需几行代码就可以创建一个100万个隐藏层的深度学习网络. Kelp.Ne

Spark MLlib Deep Learning Convolution Neural Network (深度学习-卷积神经网络)3.3

3.Spark MLlib Deep Learning Convolution Neural Network(深度学习-卷积神经网络)3.3 http://blog.csdn.net/sunbow0 第三章Convolution Neural Network (卷积神经网络) 3实例 3.1 测试数据 按照上例数据,或者新建图片识别数据. 3.2 CNN实例 //2 测试数据 Logger.getRootLogger.setLevel(Level.WARN) valdata_path="/use

深度学习记录1

写一点东西记录一下学习过程,因为有些东西入门了之后就忘了没入门是什么状态了. 目前还在没入门的状态.门外汉学习一个东西的过程我觉得是这样: 1. 门外看到是什么样子 (知道深度学习可以做图像识别.当然不仅限于此) 2. 尝试去模仿摆出同样的样子 (训练一个模型,用来识别) 3. 尝试去进里面看看什么样子  (看看实际的算法.算法细节原理.优化) 4. 左碰碰右改改看看会变成什么样子 (尝试优化) 5. 重复3,4直到越看越明白 6. 从无到有创造一个看起来一样细看却不一样的样子 (按照自己的需求

机器学习--如何将NLP应用到深度学习(3)

数据收集以后,我们下面接着要干的事情是如何将文本转换为神经网络能够识别的东西. 词向量 作为自然语言,只有被数学化才能够被计算机认识和计算.数学化的方法有很多,最简单的方法是为每个词分配一个编号,这种方法已经有多种应用,但是依然存在一个缺点:不能表示词与词的关系. 词向量是这样的一种向量[2.1, -3.31, 83.37, 93.0, -18.2, --],每一个词对应一个向量,词义相近的词,他们的词向量距离也会越近(欧氏距离.夹角余弦) 词向量有一个优点,就是维度一般较低,一般是50维或10

基于深度学习的目标检测研究进展

前言 开始本文内容之前,我们先来看一下上边左侧的这张图,从图中你看到了什么物体?他们在什么位置?这还不简单,图中有一个猫和一个人,具体的位置就是上图右侧图像两个边框(bounding-box)所在的位置.其实刚刚的这个过程就是目标检测,目标检测就是"给定一张图像或者视频帧,找出其中所有目标的位置,并给出每个目标的具体类别". 目标检测对于人来说是再简单不过的任务,但是对于计算机来说,它看到的是一些值为0~255的数组,因而很难直接得到图像中有人或者猫这种高层语义概念,也不清楚目标出现在

基于OpenGL ES 的深度学习框架编写

基于OpenGL ES的深度学习框架编写 背景与工程定位 背景 项目组基于深度学习实现了视频风格化和人像抠图的功能,但这是在PC/服务端上跑的,现在需要移植到移动端,因此需要一个移动端的深度学习的计算框架. 同类型的库 caffe-android-lib 目前应该是最便于集成使用的深度学习框架库. tensorflow和mxnet据说也有对应的android库,因时间原因暂未测试. CNNdroid,网址https://zhuanlan.zhihu.com/p/25259452,这个是用 ren

深度学习与自然语言处理(2)_斯坦福cs224d Lecture 2

原文作者:Rohit Mundra, Richard Socher 原文翻译:@熊杰([email protected]) && @王昱森 内容调整与校对:寒小阳 && 龙心尘 特别鸣谢:@面包包包包包同学的帮助 时间:2016年6月 出处:http://blog.csdn.net/han_xiaoyang/article/details/51648483 http://blog.csdn.net/longxinchen_ml/article/details/5164853

深度学习之在iOS上运行CNN

1 引言 作为曾经的iOS开发者,在研究深度学习的时候,总有一个想法就是在iPhone上运行深度学习,不管是在手机上训练还是利用训练好的数据进行测试. 因为iOS的开发环境支持C++,因此,只要你的代码是C/C++,本质上就可以在iOS上运行. 怎么才能更快更好地在iOS上运行CNN呢? 2 方法1:通过Matlab转码 Matlab自带转成c的工具,如果你研究过UFLDL的深度学习教程,就知道如何在Matlab上使用CNN,那么,转换成c后,放到iOS的开发环境中,然后将参数存成txt格式再读

深度学习(上)

深度学习允许由多个处理层组成的计算模型来学习多个抽象层数据的表示.这些方法大大提高了目前最先进的语音识别,可视对象识别,目标检测和其他诸多领域如药物发现和基因组.深度学习发现大数据集结构很复杂,该结构使用BP算法来指示机器应该如何改变内部参数,这些参数是用于从前一层的表示来计算每层的表示.深度卷积网已经在处理图像,视频,语音和音频方面取得了突破,而递归网已经触及到连续数据,如文本和语音. 机器学习技术为现代化社会的许多方面提供了动力:从网络搜索到社交网络上的内容过滤到电子商务网站的推荐,并且越来