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

编译步骤:

CPU模式:

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

GPU模式:

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

cuDNN模式:

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

结果对比:
CPU模式:

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

GPU模式:

# CPU_ONLY := 1
solver mode : GPU
测试时间:673.594ms

cuDNN加速:

USE_CUDNN := 1
# CPU_ONLY := 1
solver mode : GPU
测试时间:246.016ms

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

转载于:https://www.cnblogs.com/wmxfd/p/caffe_experiment_2_handwriting_recognition_routines_cpu_gpu_cudnn_speed_contrast.html

Caffe实战二(手写体识别例程:CPU、GPU、cuDNN速度对比)相关推荐

  1. 第二节:Keras深度学习框架实战之手写体识别

    一:概述 手写体识别是keras所自带的七个数据集中的一个,用于识别0-9的10阿拉伯数字的手写体,该数据集大约有6000张28*28的手写体图片组成.我们本节课将通过后写体识的这样一个例子,先给大家 ...

  2. opencv#4 手写体识别:自建训练集完美

    一直在研究手写体识别,最终的目标是识别自己写的数字,目前能正确识别我自己写的字,识别率达到98.62%,可以识别自己的大小不一字体.学习例程如下: 1.学习opencv的自带手写体识别例程,发现无法识 ...

  3. 用MXnet实战深度学习之一:安装GPU版mxnet并跑一个MNIST手写数字识别 (zz)

    用MXnet实战深度学习之一:安装GPU版mxnet并跑一个MNIST手写数字识别 我想写一系列深度学习的简单实战教程,用mxnet做实现平台的实例代码简单讲解深度学习常用的一些技术方向和实战样例.这 ...

  4. 2022-01-18 Caffe+Window11+Visual Studio 2015+Python3.5 CPU+GPU 配置详细教程

    2022-01-18 Caffe+Window11+Visual Studio 2015+Python3.5 CPU+GPU 配置教程 文章目录 前言 1.开篇背景 一.资源准备 二.配置过程-雷区 ...

  5. Tensorflow实战(三)——验证码识别(二)

    引用:https://www.jianshu.com/p/aa075424d2d2 文章目录 1. 实验环境 2. 实验过程 2.1 生成验证码 2.2 使用自己的验证码 2.3 数据预处理 2.4 ...

  6. Keras实战——人脸表情识别(二)提取人脸并识别表情

    完整代码已上传 CSDN下载:https://download.csdn.net/download/pmj110119/11293264 百度云:https://pan.baidu.com/s/16Z ...

  7. cpu要和gpu搭配吗_再谈CPU/GPU搭配 实战老配置显卡升级

    对于经常玩游戏的人来说,显卡性能的高低直接影响着游戏中能否开启更多特效;最近几年处理器性能飞涨,使得大多数人的处理器性能都处于过剩状态.加上内存价格持续走低,大容量内存已经成为众多人的标配.因此用户在 ...

  8. Tensorflow图像识别 Tensorflow手写体识别(二)

    资源介绍 我们从 MNIST handwritten digit database, Yann LeCun, Corinna Cortes and Chris Burges 这条链接(MNIST官网) ...

  9. TensorRT(2)-基本使用:mnist手写体识别

    结合 tensorRT官方给出的一个例程,介绍tensorRT的使用. 这个例程是mnist手写体识别.例程位于目录: /usr/src/tensorrt/samples/sampleMNIST 文件 ...

最新文章

  1. stm32 adc过采样_产生ADC误差的外部原因有哪些?
  2. 008 selenium html报告
  3. ResorceGovernor--基础和Demo
  4. SpringBoot :cannot be cast to org.springframework.web.accept.ContentNegotiationManager
  5. MongoDB 副本集管理
  6. 超棒!纯Rust编写的机器学习框架,速度堪比PyTorch
  7. Am335x lcd驱动分析
  8. WPF的ControlTemplate和DataTemplate简介
  9. c++指定在某一线程运行_iPhone11升级iOS14运行速度测试:结果有点小惊喜
  10. Prometheus一条告警是怎么触发的
  11. SpringBoot配置属性之Security
  12. English——视频总结(一)
  13. matlab 包落,怎样在MATLAB中划出一个函数的包络线?
  14. 毕向东Mysql教程_传智播客_毕姥爷_2012年毕向东Java基础教程_毕向东老师
  15. 详解 http-server的安装和使用
  16. 坚果云下载的文件夹在哪_如何建立合理的坚果云文件夹结构?
  17. 2018年交通运行年报发布,深圳交通高质量发展取得新突破
  18. 电脑打印机老是文档挂起无法打印怎么办
  19. HHDBCS及HHDESK的资源加密功能
  20. 东方通中间件 - TongWeb 初级

热门文章

  1. C 过渡 C++ 1
  2. 【沟通之道】头脑风暴-女人的心思你别猜
  3. zabbix安装报错
  4. 安全系列------web环境搭建组合
  5. leetcode--Median of Two Sorted Arrays
  6. setTimeout(0) 即将退役
  7. 好书推介---Windows Server 2003企业部署原理与实践
  8. 【LDA学习系列】Dirichlet分布python代码
  9. 算法导论之用于不相交集合的数据结构
  10. @EnableAsync @Async 的详解