上一篇文章成功在CPU模式下编译了Caffe,接下来需要运行一个例程来直观的了解Caffe的作用。(参考:《深度学习 21天实战Caffe》第6天 运行手写体数字识别例程)

编译步骤:

CPU模式:

、下载MNIST数据集
sudo ./data/mnist/get_mnist.sh
、转换格式
sudo ./examples/mnist/create_mnist.sh
、修改训练超参数文件
sudo vim examples/mnist/lenet_solver.prototxt
修改最后一行为:solver_mode : CPU
、进行训练
sudo ./build/tools/caffe.bin train --solver=examples/mnist/lenet_solver.prototxt
、用训练好的模型对数据进行预测
sudo ./build/tools/caffe.bin test \
-model examples/mnist/lenet_train_test.prototxt \
-weights examples/mnist/lenet_iter_10000.caffemodel \
-iterations

GPU模式:

、重新编译Caffe
修改Makefile.config,屏蔽CPU_ONLY,即在CPU_ONLY前加上“#”
sudo make -j
、修改训练超参数文件
sudo vim examples/mnist/lenet_solver.prototxt
修改最后一行为:solver_mode : GPU
、进行训练
sudo ./build/tools/caffe.bin train --solver=examples/mnist/lenet_solver.prototxt
、用训练好的模型对数据进行预测,并使用caffe time命令进行计时
sudo ./build/tools/caffe.bin time \
-model examples/mnist/lenet_train_test.prototxt \
-gpu

cuDNN模式:

、重新编译Caffe
修改Makefile.config,去掉USE_CUDNN前的“#”(使用cuDNN加速)
sudo make -j
、进行训练
sudo ./build/tools/caffe.bin train --solver=examples/mnist/lenet_solver.prototxt
、用训练好的模型对数据进行预测,并使用caffe time命令进行计时
sudo ./build/tools/caffe.bin time \
-model examples/mnist/lenet_train_test.prototxt \
-gpu

结果对比:
CPU模式:

CPU_ONLY :=
solver mode : CPU
测试时间:3633ms

GPU模式:

# CPU_ONLY :=
solver mode : GPU
测试时间:.594ms

cuDNN加速:

USE_CUDNN :=
# CPU_ONLY :=
solver mode : GPU
测试时间:.016ms

由此可见,训练时间:CPU > GPU > cuDNN。

Caffe实战二(手写体识别例程:CPU、GPU、cuDNN速度对比)的更多相关文章

  1. caffe-windows之手写体数字识别例程mnist

    caffe-windows之手写体数字识别例程mnist 一.训练测试网络模型 1.准备数据 Caffe不是直接处理原始数据的,而是由预处理程序将原始数据变换存储为LMDB格式,这种方式可以保持较高的 ...

  2. AI应用开发实战 - 手写识别应用入门

    AI应用开发实战 - 手写识别应用入门 手写体识别的应用已经非常流行了,如输入法,图片中的文字识别等.但对于大多数开发人员来说,如何实现这样的一个应用,还是会感觉无从下手.本文从简单的MNIST训练出 ...

  3. MXNET手写体识别的例子

    安装完MXNet之后,运行了官网的手写体识别的例子,这个相当于深度学习的Hello world了吧.. http://mxnet.io/tutorials/python/mnist.html 运行的过 ...

  4. R︱Softmax Regression建模 (MNIST 手写体识别和文档多分类应用)

    本文转载自经管之家论坛, R语言中的Softmax Regression建模 (MNIST 手写体识别和文档多分类应用) R中的softmaxreg包,发自2016-09-09,链接:https:// ...

  5. 舌尖上的硬件:CPU/GPU芯片制造解析(高清)(组图)

    一沙一世界,一树一菩提,我们这个世界的深邃全部蕴藏于一个个普通的平凡当中.小小的厨房所容纳的不仅仅是人们对味道的情感,更有推动整个世界前进的动力.要想理解我们的世界,有的时候只需要细细品味一下我们所喜 ...

  6. 小米笔记本pro CPU GPU 做科学计算的算力对比

    小米笔记本pro:15.6寸,i7-8850,16G,256G,GPU:MX150 测试对象Caffe,MNIST训练 使用纯CPU训练: 1.耗时:11分58秒 2.功耗:35W 使用GPU训练: ...

  7. kubernetes实战(二十八):Kubernetes一键式资源管理平台Ratel安装及使用

    1. Ratel是什么? Ratel是一个Kubernetes资源平台,基于管理Kubernetes的资源开发,可以管理Kubernetes的Deployment.DaemonSet.Stateful ...

  8. 入门项目数字手写体识别:使用Keras完成CNN模型搭建(重要)

    摘要: 本文是通过Keras实现深度学习入门项目——数字手写体识别,整个流程介绍比较详细,适合初学者上手实践. 对于图像分类任务而言,卷积神经网络(CNN)是目前最优的网络结构,没有之一.在面部识别. ...

  9. CPU/GPU/TPU/NPU...XPU都是什么意思?

    CPU/GPU/TPU/NPU...XPU都是什么意思? 现在这年代,技术日新月异,物联网.人工智能.深度学习等概念遍地开花,各类芯片名词GPU, TPU, NPU,DPU层出不穷......都是什么 ...

随机推荐

  1. I want a mysqldump –ignore-database option

    $ time mysqldump --databases `mysql --skip-column-names -e "SELECT GROUP_CONCAT(schema_name SEP ...

  2. 2016/05/25 抽象类与API(接口)差别

    简单来说, 接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的,而抽象类是可以有私有方法或私有变量的, 另外,实现接口的一定要实现接口里定义的所有方法,而实现抽象类可以有选择地重写需要用到的 ...

  3. add time to file name

    add time to file name echo 123 > $(date +"%Y%m%d_%H%M%S").now; mv /mnt/mongodb_data/dat ...

  4. ln mv 发挥一个物体的元作用

    # tar xf ~/tools/mongodb-linux-x86_64-3.4.0.tgz -C /usr/local/; ln -sf /usr/local/mongodb-linux-x86_ ...

  5. REST的本质,就是用户操作某个网络资源(具有独一无二的识别符URI),获得某种服务,也就是动词+资源(都是HTTP协议的一部分)

    REST的名称”表现状态转化”中,省略了主语.”表现”其实指的是资源的表现. 资源就是网络上的一个数据实体,或者说是一个具体信息.它可以是一段文本.一张图片.一首歌曲.一种服务.你可以用一个URI(统 ...

  6. 用于JS日期格式化,以及简单运算的Date包装工具类

    1. [文件] yDate.js/** * | yDate.js | Copyright (c) 2013 yao.yl | email: redrainyi@126.com | Date: 2012 ...

  7. 添加.pch文件

    完成框架, .pch文件 1.创建.pch文件 2.配置.pch文件 双击,改成:项目名/pch文件名

  8. Android 获取View宽度

    /***************************************************************************** * Android 获取View宽度 * ...

  9. [SoapUI] Jenkins 配置

    cd %WORKSPACE% cmd /c call "%SOAPUI_PRO_HOME%\bin\testrunner.bat" -a -j -PprojectPath=&quo ...

  10. BZOJ_2443_[Usaco2011 Open]奇数度数 _并查集+树形DP

    BZOJ_2443_[Usaco2011 Open]奇数度数 _并查集. Description 奶牛们遭到了进攻!在他们的共和国里,有N(1 <= N <=50,000)个城市,由M(1 ...