网上教程比较多,给大家推荐一篇博客
wget可以让你从互联网上获取资源。下载地址
为了外部调用wget,需要将wget所在目录加入环境变量
电脑-》属性-》高级系统设置-》环境变量-》(用户/系统都可以)
用git bash运行caffe目录下的data/mnist下的get_mnist.sh
#!/usr/bin/env sh # This scripts downloads the mnist data and unzips it. DIR="$( cd "$(dirname "$0")" ; pwd -P )" cd "$DIR" echo "Downloading..." for fname in train-images-idx3-ubyte train-labels-idx1-ubyte t10k-images-idx3-ubyte t10k-labels-idx1-ubyte do if [ ! -e $fname ]; then wget --no-check-certificate http://yann.lecun.com/exdb/mnist/${fname}.gz gunzip ${fname}.gz fi done调用wget,从网络中直接下载数据集,下载完成后,如下图所示:
打开 caffe根目录/example/mnist/create_mnist.sh
#!/usr/bin/env sh # This script converts the mnist data into lmdb/leveldb format, # depending on the value assigned to $BACKEND. set -e EXAMPLE=D:\\Caffe\\Caffe_BVLC\\examples\\mnist DATA=D:\\Caffe\\Caffe_BVLC\\data\\mnist BUILD=D:\\Caffe\\Caffe_BVLC\\Build\\x64\\Release BACKEND="lmdb" echo "Creating ${BACKEND}..." rm -rf $EXAMPLE/mnist_train_${BACKEND} rm -rf $EXAMPLE/mnist_test_${BACKEND} $BUILD/convert_mnist_data.exe $DATA/train-images-idx3-ubyte \ $DATA/train-labels-idx1-ubyte $EXAMPLE/mnist_train_${BACKEND} --backend=${BACKEND} $BUILD/convert_mnist_data.exe $DATA/t10k-images-idx3-ubyte \ $DATA/t10k-labels-idx1-ubyte $EXAMPLE/mnist_test_${BACKEND} --backend=${BACKEND} echo "Done." 红色部分换成自己的路径。有一点需要注意:路径的设置,当我使用相对路径的时候,报了一个错误:Check failure stack trace
执行完该文件,会在example/mnist文件夹下出现两个新的文件夹,如下图:
至此,数据的转换已经完成。
鼠标双击运行run_mnist.bat,整个训练过程在我电脑下用了10来分钟。训练结果如下
数据训练完成,会在example/mnist文件夹下出现5000次和10000次的模型,accuracy达到0.9891
我们可以观测到,精度达到了0.9903
至此:手写体从 原始二进制数据-》格式转换-》训练-》测试 已经完成