作者:佛山小程序员
原文:https://blog.csdn.net/weixin_44192923/article/details/86563313

第一步:

官网下载mnist数据http://yann.lecun.com/exdb/mnist/,共4个文件,解压放到caffe-master\data\mnist下

最近开始整理python的资料,会陆续放到博客中存档。找了几个qq群,其中有一个群78486745。后面就没怎么加群了,还是需要看官方文档为主

第二步:

转换成caffe需要的数据格此处转换为 LMDB(cifar是转换成 LEVELDB,可对比参考如何实现的) ,转换格式需要用到caffe里的项目convert_mnist_data ,这个convert_mnist_data.exe程序是放在caffe-master\Build\x64\Release下,如果是用 debug生成的解决方案,则是在caffe-master\Build\x64\Debug下,这个在写 bat文件的时候要注意更改相应的路径。

在caffe-master\data\mnist下新建一个文本文档,更改后缀为 .bat 在里面复制以下code:

…\Build\x64\Release\convert_mnist_data.exe …\data\mnist\train-images.idx3-ubyte …\data\mnist\train-labels.idx1-ubyte …\examples\mnist\mnist_train_lmdb

echo.

…\Build\x64\Release\convert_mnist_data.exe …\data\mnist\t10k-images.idx3-ubyte …\data\mnist\t10k-labels.idx1-ubyte …\examples\mnist\mnist_test_lmdb

pause

其实第一个路径就是 exe文件所在路径, 后面两个就是数据所在路径,最后一个是输出文件路径

保存后,双击运行

(PS:想转换成LEVELDB格式的话,只需要在.bat文件中把 mnist_train_lmdb改成mnist_train_leveldb ,有两处喔! )

第三步:

更改lenet_train_test.prototxt 和lenet_solver.prototxt文件,主要是改数据的路径以及数据的格式(默认LMDB,若在第二步转成了LEVELD的话,要改成LEVELDB )

首先 lenet_train_test.prototxt改的有

source: "../../examples/mnist/mnist_train_lmdb"batch_size: 64backend: LMDBsource:"../../examples/mnist/mnist_test_lmdb"batch_size: 100backend: LMDB

lenet_solver.prototxt改的有

net:"…/…/examples/mnist/lenet_train_test.prototxt"

snapshot_prefix:"…/…/examples/mnist/lenet"

若用CPU在最后一行改成 CPU

第四步:

开始训练,和之前我博客里cifar10一样,有两种方法,这里只介绍第一种方法,用批处理文件的方法(想知道第二种方法的请查看之前博客http://blog.csdn.net/u011995719/article/details/53998331)

在caffe-master\examples\mnist 下建立文本文档,后缀改为 .bat 复制以下code:

…\Build\x64\Release\caffe.exe train–solver=…/…/examples/mnist/lenet_solver.prototxt

Pause

保存,双击运行,弹出命令窗,等待训练结束,我的显卡是 GTX 960M ,只需要1分07秒就迭代了10000次,准确率 0.9915(用了一台i3的笔记本,cpu跑的,用了17分钟!)

PS: 总结两个遇到问题:

  • 1转换数据时候要确定转换的是 LMDB还是LEVELDB,这个是在一开始转换的时候设置的,一旦设置,在后面的train_test.prototxt文件中一定要对应的改过来,切记,切记。
  • 2.Debug 和 Release ,这个是在VS2013中选择的,具体有什么区别我不太清楚(百度了,说对使用问题不大),但是我们在调用例如 convert_mnist_data.exe 、compute_image_mean.exe等这些 应用程序时,要选择路径,一定要看清楚你生成的是在Debug文件夹(caffe-master\Build\x64\Debug)里还是在Release(caffe-master\Build\x64\Release)里,如果你生成的是在Debug里,而调用的时候是用路径:. Build\x64\Release 的话,就会出现如下错误:

当然,可以在VS2013中分别 选择 Debug和Release 进行生成,这样就不用担心第二个问题啦。

欢迎加群讨论

【Python学习】 caffe-master 之 mnist 详解相关推荐

  1. Python学习二:词典基础详解

    作者:NiceCui 本文谢绝转载,如需转载需征得作者本人同意,谢谢. 本文链接:http://www.cnblogs.com/NiceCui/p/7862377.html 邮箱:moyi@moyib ...

  2. python学习笔记day08 文件功能详解

    file.read():读取文件的全部内容 file=open("dang",mode='r+',encoding='utf-8') print(type(file.read()) ...

  3. caffe网络模型各层详解(中文版)

    caffe网络模型各层详解(中文版) 参考网址:https://blog.csdn.net/qq_34220460/article/details/79872830 一.数据层及参数 要运行caffe ...

  4. python画简单的图形的代码-Python实现画图软件功能方法详解

    概述 虽然Python的强项在人工智能,数据处理方面,但是对于日常简单的应用,Python也提供了非常友好的支持(如:Tkinter),本文主要一个简单的画图小软件,简述Python在GUI(图形用户 ...

  5. python画图代码大全-Python实现画图软件功能方法详解

    概述 虽然Python的强项在人工智能,数据处理方面,但是对于日常简单的应用,Python也提供了非常友好的支持(如:Tkinter),本文主要一个简单的画图小软件,简述Python在GUI(图形用户 ...

  6. python编程基础:python 实现GUI(图形用户界面)编程详解

    今天小编就为大家分享一篇python 实现GUI(图形用户界面)编程详解,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 Python支持多种图形界面的第三方库,包括: wxWidge ...

  7. python平方数迭代器_对python中的高效迭代器函数详解

    python中内置的库中有个itertools,可以满足我们在编程中绝大多数需要迭代的场合,当然也可以自己造轮子,但是有现成的好用的轮子不妨也学习一下,看哪个用的顺手~ 首先还是要先import一下: ...

  8. python画动图-Python绘制动态水球图过程详解

    先来看看绘制的动态水球图: 没有安装PyEcharts的,先安装PyEcharts: # 安装pyecharts模块,直接安装就是最新的版本pip install pyecharts 安装好PyEch ...

  9. python常用内置模块-Python常用内置模块之xml模块(详解)

    xml即可扩展标记语言,它可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言.从结构上,很像HTML超文本标记语言.但他们被设计的目的是不同的,超文本标记语言被设计用来显示 ...

最新文章

  1. 剑桥大学2020《AI全景报告》出炉,177页ppt
  2. 基于LODOP的打印
  3. 微软警告称Flame病毒利用Windows漏洞
  4. java.lang.RuntimeException: Handler (com.***.behavior.BEvent$1) {421bca80} sending message to a Hand
  5. js 数组(Array)
  6. mysql主从技术_MySQL主从架构的实现
  7. sklearn 线性回归
  8. java Session缓存
  9. MobTech城市智图 | 如何进行商场客群和竞品客群分析?
  10. Python3实现批量下载百度搜索图片
  11. Echart添加水印
  12. 大规模行人检索—PRCV2020竞赛发布
  13. Codeforces Problem-705A Hulk
  14. 核磁共振设备工作过程人体温度监控中应用的光纤温度传感器
  15. Vue-cli 脚手架构建的项目使用echarts进行数据可视化
  16. c语言中 x20是什么意思,vivo X20的这些功能,我想给满分。
  17. C# 什么是Asp.net Core?和 .net core有什么区别?
  18. cookie有效时间设置,手把手教你设置
  19. Linux设置非root用户启动程序
  20. MFC 更换图标文件但EXE图标没改变

热门文章

  1. python安装后无法使用_Python在终端通过pip安装好包以后在Pycharm中依然无法使用的问题(三种解决方案)...
  2. 小程序向java后台发送图片_微信小程序在后台如何将二进制流转换成图片
  3. 闪退没由报错_关于floor()报错注入,你真的懂了吗?
  4. 如何画圆柱_什么是最速降线?如何来验证一下呢?这里用SolidWorks来试一试
  5. C++ 对象的初始化和清理
  6. myeclipse2019左侧工程目录字体的大小调整
  7. springboot热部署失效解决
  8. (论文阅读笔记1)Collaborative Metric Learning(二)(WWW2017)
  9. 不玩虚的!深入B端SaaS产品设计核心理念【干货】
  10. HR不会告诉你的薪资谈判技巧