第二课 深度学习的“hello world”——基于mnist数据集的手写数字识别

本文详细介绍了如何在Windows上使用Caffe实现深度学习模型的搭建,从下载MNIST数据集,转换为leveldb格式,修改配置文件,训练模型,到最后的测试与应用,步骤详尽,适合初学者入门。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,下载mnist所需的所有数据

mnist数据集http://yann.lecun.com/exdb/mnist/这里需要注意的是caffe并不直接通过下载得到的四个文件进行训练,而是会把它转化为lmdb或leveldb格式进行读取。lmdb是lightning(闪电的) memory-mapped database manager的缩写,能够把原始数据通过更为高效的存储方式存储,从而加快读取和训练速度(lmdb比leveldb更快,可以看看刚刚的NugetPackages文件夹,当中就包含着对应的库)。

    实现这个转化的代码是\examples\mnist的convert_mnist_data.cpp,但也没必要看,因为它的运行脚本create_mnist.sh显然是linux下的东西。想了想也可以理解,毕竟caffe本来也不支持windows,能移植过来就不错了,也不能指望大牛们把所有例子的代码都一并移植过来。目前更很好的办法就是直接网盘下载,这里分享一个

链接: https://pan.baidu.com/s/1i44s1JB 密码: ewi8


2,将下载下来的文件夹中的mnist_train_leveldb和mnist_test_leveldb两个文件夹复制到caffe-master\examples\mnist文件夹下


3,修改配置文件。

mnist目录下prototxt扩展名的都是配置文件。我们需要修改lenet_solver.prototxt,用vs2013打开,定位到最后一行:solver_mode: GPU,将GPU改为CPU。



另外需要修改 lenet_train_test.prototxt文件的第14,16,31,33行


8



4,编写bat脚本

在caffe-master根目录下新建一个train_mnist.txt并写入如下内容:

  1. .\Build\x64\Release\caffe.exe train --solver=examples/mnist/lenet_solver.prototxt  
  2. pause  
保存后,改文件后缀名为bat,双击运行,结果如下:

这里写图片描述

当迭代次数达到lenet_solver.prototxt定义的max_iter时,就可以认为训练结束了。并且最终会在目录\examples\mnist下产生训练出的模型(文件后缀名为caffemodel和solverstate),如下图所示:

12


5,用标准数据集测试模型

按上一步骤生成test_mnist.bat,内容如下:

.\Build\x64\Release\caffe.exe test--model=examples/mnist/lenet_train_test.prototxt -weights=examples\mnist\lenet_iter_10000.caffemodel 
pause

双击运行,结果如下:

这里写图片描述




6,用自己的图片测试此模型:

(1)用Windows的画图工具自己手写一张图片(需为28*28像素的灰度图像):

为了方便直接调整写的数字的大小,如果你这里不调整大小,在matlab里面有相关的resize函数,自己查询调用方法,很简单


如下所示:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值